pax_global_header00006660000000000000000000000064130401650270014510gustar00rootroot0000000000000052 comment=1d55ee803b504d097ceaa53e1db7939200db44a1 fusiondirectory-1.0.19/000077500000000000000000000000001304016502700150305ustar00rootroot00000000000000fusiondirectory-1.0.19/.gitignore000066400000000000000000000000151304016502700170140ustar00rootroot00000000000000 .directory fusiondirectory-1.0.19/.tx/000077500000000000000000000000001304016502700155415ustar00rootroot00000000000000fusiondirectory-1.0.19/.tx/config000066400000000000000000000002721304016502700167320ustar00rootroot00000000000000[main] host = https://www.transifex.com type = PO [FusionDirectory-110.core] file_filter = locale//fusiondirectory.po source_file = locale/en/fusiondirectory.po source_lang = en fusiondirectory-1.0.19/AUTHORS000066400000000000000000000137461304016502700161130ustar00rootroot00000000000000FusionDirectory AUTHORS ======================= This is the alphabetical list of all people that have contributed to the FusionDirectory project, beeing code, translations, documentation and additional help. * Markus Amersdorfer Wiki setup, Testing, hints, proposals * Alessandro Amici Italian translation * Holger Burbach Kerberos PHP module * Craig Chang Fixes for magic_quotes_qpc * Guillaume Delecourt Setup fixes, nagios tab plugin, xls addons ldapmanager pptp connectivity option, phpscheduleit connectivity option * Dan Ellis Sieve lib is taken from him * Alejandro Escanero Blanco Fixes, improvements, translation, netgroup plugin, Guide and some extensions * Fabian Hickert Improvements for setup, various fixes and plugins * Eric Kilfoil ldap.inc is taken from him * Niels Klomp Dutch translation * Steve Moitozo Password checker * Benoit Mortier Butracking, QA, French translation * Igor Muratov Various fixes and speed enhancements * Michael Pasdziernik Documentation for GOsa and safe-mode, fixes * Cajus Pollmeier Virtually everyting which is GOsa related * Piotr Rybicki Polish translation * Henning Schmiedehausen Various fixes, support for user defined people/group base * Alfred Schröder German translation * Thomas Schüßler debuglib.inc is taken from him * Jan Wenzel Implementation and research for samba munged dial support, fixing of "Fiptehlers"(TM) in the german translations. * Leila El Hitori French online documentation English online documentation * Vincent Seynhaeve Xls export plugin * Wouter Verhelst accept-to-gettext code that helps for language conversation * Antoine Gallavardin Dhcp plugin patch to manage key and update zone in dhcp for dyndns First version of the quota and supann plugin First version of the board plugin * Leonid Bogdanov patch for the manager fonctionnality in the General user tab * Olivier BONHOMME Fedora and Centos Packager, selinux policy creator * Benjamin Carpentier Tested FusionDirectory, corrected copyright issues and locales Written fusiondirectory-setup * Giuliano Di Vito Italian Translator and bug finder * Roman Widmann Arch linux packager * Bernigaud Côme New daemon code class_supportDaemon.inc, and all the new deployment stuff :) Simple plugin framework developper * Alexis Michon Testing, First version of Password reset * Mike Gabriel Various patches from debian-edu Apache 2.4 support Mcrypt decrypt enhancement Browsing inactive tab * Jeremy Williame Cleanup and writer of the FusionDirectory doxygen api documentation * Rudy Hardeman Option to remove sambaLMpassword storage * Gaston Tjebbes Feth Arezki First version of the autofs plugin * Daniel B Cleanup of the sambaPwdMustChange, sambaPwdCanChange * Regis patronix Allow special characters in passwords * Sergio Talens-Oliag Configuration setting to force the use of a hash when setting or changing passwords Add support for crypt/sha-256 and crypt/sha-512 Use the passwordDefaultHash for new users Fix for icons in core plugins Provide a way to show hook execution results to the user via web Hide userPassword on change_password postmodfy hook error message * Stefan Krüger Add support for various database to the rsyslog plugin * Guillaume Chéramy Patches for the template system * Mathias Friman mathias.friman@knorca.se Translation to swedish * Alexandre Magnat Snapshot bug reporter * Guillaume RODRIGUEZ asterisk plugin error reporter * Guillard Olivier SSH plugin key storage problem reporter * Fabien Brachere Fix support for special caracters in password * Arnaud Patard Fix for Invalid uri in the password recovery mail Fix for start tls on fusiondirectory setup and gnutls * Adrian Reyer Modifier for templates to convert german umlauts to 7-bit ASCII * Samuel Bosquin Plugin FAI - LVM partitions * IOhannes umlaeute generateLdif() fails with bind-passwords containg '$' patch * Karsten Becker Suse install from tarballs Documentation * Felix Weissbeck Method to add a change password dialog on sasl+kerberos * Tobias Göbel Fixes for PHP7 compatibility * Christian Kreidl ppolicy improvement * Martin Hamant Coded the LockUser fonction for the webservice * Jonathan Swaelens QA on FusionDirectory RPM packaging maintener and ArchLinux Packager * Timothée Giet New breezy icon Theme * Clement Oudot HTTP header authentication * Thomas Niercke Code and ideas for making Argonaut Events Extensible * Paola Penati Italian translation of FusionDirectory and the website * Martin Hamant Adding DSA accounts into groups fusiondirectory-1.0.19/COPYING000066400000000000000000000355731304016502700161000ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS fusiondirectory-1.0.19/Changelog000066400000000000000000004750431304016502700166570ustar00rootroot00000000000000FusionDirectory changelog ========================= * FusionDirectory 1.0.19 [Fix] Bugs #5303: When clicking on login from user selection we end up in user edition [Fix] Bugs #5314: after upgrading to 1.0.18 we see those errors [Fix] Bugs #5317: The link sent by password recovery is broken * FusionDirectory 1.0.18 [Fix] Bugs #4888: DNS record matching should be case insensitive [Fix] Bugs #4991: we should document all the change in the webservice done recently [Fix] Bugs #5070: FAI packageSelect class should use simpleSelectManagement [Fix] Bugs #5098: Exception should be reorganized [Fix] Bugs #5179: Terminal are missing fields [Feature] Bugs #5240: possibilité de grouper ou trier les applications sur la page d'acceuil [Feature] Bugs #5248: [DNS] "Refresh zone file" should be in DNS section too not just in DNS tab of some host where is DNS tab enabled. [Fix] Bugs #5249: [DHCP] after migration from .16 to .17 there previous configurations are not migrated to new one automatically. [Fix] Bugs #5252: User with 'editownpwd' or 'editowninfo' role should not be able to lock other accounts [Fix] Bugs #5254: Server inside Systems [Fix] Bugs #5255: Cannot add a workstation in a dhcp subnet [Fix] Bugs #5256: We not need dhcpStatements host-name when we add a host [Fix] Bugs #5257: Error in ldap when we will that FAI use all the remain space [Fix] Bugs #5258: Cannot modify a package class that is insert with help of fai2ldif [Fix] Bugs #5260: Check for json support during install. [Fix] Bugs #5264: Incompatibility between recovery password and user-reminder [Fix] Bugs #5265: removing RDN leftover of the removal of fax and asterisk plugin [Fix] Bugs #5266: forgot the remove user reminder config file [Fix] Bugs #5267: Incompatibility between recovery password and user-reminder [Fix] Bugs #5268: Missing check for package php-filter [Feature] Bugs #5270: List on "ACL assignments management" too short. [Fix] Bugs #5278: Translation: Plural form of "information" [Fix] Bugs #5279: Icons in the action column of OrderedArrayAttribute sometimes don’t have enough space [Feature] Bugs #5280: rewrote the pasword recovery with new RDN [Fix] Bugs #5283: Path for fusiondirectory-shell [Fix] Bugs #5292: Malformed data posted to fdPrivateMail through webservice deletes existing data. [Fix] Bugs #5294: Exception should be reorganized [Fix] Bugs #5295: Filter problem if dhcp object is in a department [Fix] Bugs #5296: Name dhcp object differently when we use migration-dhcp [Fix] Bugs #5298: XML error during installation of FD on debian Wheezy [Fix] Bugs #5299: When using FD in portal mode, avoid showing applications (which are not web applications) [Feature] Wishlist #4822: webservice and password recovery [Feature] #5271: Force encryption type [Feature] #5272: Select a default shell [Feature] #5293: Webservice: isUserLocked(sid) * FusionDirectory 1.0.17 [Fix] FusionDirectory plugins - Bugs #4953: auto.master should be stored into ldap [Fix] Bugs #5190: Too many ldap request when loading user list [Fix] Bugs #5191: Too many ldap request when loading list (snapshots) [Fix] FusionDirectory plugins - Bugs #5192: Fusiondirectory ldapmanager plugin fatal error when importing a ldif file [Fix] Bugs #5194: wrong icons / issue with objectType class_groupManagement.inc [Fix] Bugs #5195: Undefined index: dn / del_lock() FusionDirectory plugins - Bugs #5196: webservice: object is modified instead of created |Fix] FusionDirectory plugins - Bugs #5197: removing the ldif for default policy from the ppolicy plugin, [Feature] FusionDirectory plugins - Bugs #5198: merge the dhcp code from 1.1 into 1.0.17 |Fix] FusionDirectory plugins - Bugs #5225: due to dhcp modification the network section on system is not inside a section [Fix] FusionDirectory plugins - Bugs #5226: audit showing an error everytime we save an dhcp object [Fix] FusionDirectory plugins - Bugs #5227: moving from branch inside a dhcp entry [Fix] FusionDirectory plugins - Bugs #5228: when trying to copy a dhcp entry is get Missing argument 3 for userinfo::is_copyable(), called in /usr/share/fusiondirectory/include/class_CopyPasteHandler.inc on line 226 and defined" - File: /usr/share/fusiondirectory/include/class_userinfo.inc (Line 31 [Fix] FusionDirectory plugins - Bugs #5229: when i have a system who is in the dhcp range of my dhcp server, it find and display the right data but don't save it [Feature] Bugs #5230: we need a fusiondirectory-setup --migrate-dhcp |Fix] FusionDirectory plugins - Bugs #5231: we should not be able to remove the global [Feature] FusionDirectory plugins - Bugs #5232: we miss a dropdown for failover in the Create new DHCP section [Fix] FusionDirectory plugins - Bugs #5233: Remove ppolicydefault.ldif and dhcpd.schema from source [Fix] Bugs #5234: Plugin's configuration are not inserted if they are already installed [Fix] FusionDirectory plugins - Bugs #5236: Missed icon and CSS error [Fix] Bugs #5237: ogroup icon not clickable [Feature] FusionDirectory plugins - Wishlist #5193: Add ppolicy tab for DSA accounts [Feature] FusionDirectory plugins - Wishlist #5239: Champs pour enregistrer la volonté d'afficher la photo de la personne sur le site web * FusionDirectory 1.0.16 |Fix] Bugs #3587: Edit a template add bad characters Bugs #4808: improve the script error code and return documentation in hooks |Fix] Bugs #4925: document the autofs plugin |Fix] FusionDirectory plugins - Bugs #4997: getfields method returns wrong info in attrs_order |Fix] Bugs #5005: No upper case characters allowed in group-names |Fix] FusionDirectory plugins - Bugs #5093: [DNS plugin] when click to "Refresh zone file" button in DNS tab it would not update reverse zones. [Feature] Bugs #5095: Checkhook should have a way to know if other check errors occured |Fix] FusionDirectory plugins - Bugs #5138: Name of the directory must authorized "/" |Fix] Bugs #5145: Dashboard should not have references and ldap tabs |Fix] Bugs #5149: Handling of SSL and URL when behind a proxy |Fix] Bugs #5151: Create only digit with %r% placeholder not work |Fix] Bugs #5152: We should not be able of adding users to groups we have no rights on |Fix] Bugs #5153: Manager that manage a department cannot lock an user [Feature] Bugs #5154: Possibility to know who edit the same user when we have a lock entry error [Feature] FusionDirectory plugins - Bugs #5155: Add an ACL for LDAP tab [Feature] FusionDirectory plugins - Bugs #5156: Add a backend configuration to desactivate the warning popup when we add a user [Feature] Bugs #5157: Possibility to know when was a lock put when we have a conflict |Fix] FusionDirectory plugins - Bugs #5160: opsi import is broken |Fix] Bugs #5161: when trying to delete system i got a lock error [Feature] FusionDirectory plugins - Bugs #5165: Possible to store sudo role in different OU in the LDAP Tree |Fix] Bugs #5172: ldap error after upgrade from 1.0.15 release to 1.0.15 fixes (lock object) [Feature] FusionDirectory plugins - Bugs #5173: putting acl on ldap/import export [Feature] Wishlist #5004: Do not require nis schema [Feature] Wishlist #5096: HTTP header authentication [Feature] Wishlist #5162: allow DSA entries to be part of a group * FusionDirectory 1.0.15 [Feature] Wishlist #4832: Allow removal of user picture [Feature] Bugs #4945: Add the possibility to use %askme% for password expiration in template FusionDirectory plugins - Bugs #4991: we should document all the change in the webservice done recently |Fix] Bugs #5003: Error on mixed groups when nis schema not present [Feature] Wishlist #5010: HTTP header authentication |Fix] Bugs #5012: [PRINTERS] old printers are not migrated after upgrade to 1.0.14 |Fix] Bugs #5013: User that will expire in two weeks is not show in dashboard |Fix] Argonaut Deployment System - Bugs #5018: Reinstall trigger on a workstation trigger an error |Fix] FusionDirectory plugins - Bugs #5020: PHP errors in DHCP plugin with PHP7 |Fix] Bugs #5021: Checkhook should have a way to know if other check errors occured |Fix] Bugs #5022: Random password does not work when we use a template in read only |Fix] Bugs #5023: Icon for section account is not found |Fix] FusionDirectory plugins - Bugs #5026: CSV import bug ? |Fix] FusionDirectory plugins - Bugs #5031: Icon for LDAP should be moved to core |Fix] Bugs #5040: Uppercase login triggers php notice |Fix] FusionDirectory plugins - Bugs #5043: GPG server info cannot be edited anymore [Feature] FusionDirectory plugins - Bugs #5044: Use simpleManagement in GPG plugin |Fix] Bugs #5047: add git-shell in default shell list |Fix] Bugs #5049: probleme de traduction dans le systeme de reinitialisation des mots de passe |Fix] Bugs #5050: mauvais encodage dans le message de demande de reinitialisation du mot de passe |Fix] FusionDirectory plugins - Bugs #5051: add a url text field for the linkedin account url |Fix] Bugs #5052: password storage in firefox provoque an issue in the password field of the user tab in FusionDirectory |Fix] FusionDirectory plugins - Bugs #5055: Argonaut actions launching is broken [Feature] FusionDirectory plugins - Bugs #5056: Need to edit class_argonautActions.inc for custom modules |Fix] Bugs #5057: check_schema should be reviewed |Fix] Bugs #5058: notice on 1.0.14-fixes |Fix] FusionDirectory plugins - Bugs #5068: PHP4 constructor in FAI plugin |Fix] FusionDirectory plugins - Bugs #5069: PHP4 constructor in mail plugin |Fix] Bugs #5071: Fatal error in FAI plugin |Fix] Bugs #5074: Error to add ACL |Fix] FusionDirectory plugins - Bugs #5075: Error to add ACL |Fix] FusionDirectory plugins - Bugs #5088: Add samba shares update action to the list |Fix] Bugs #5089: Attribute dob of fusiondirectory schema conflicts with evolution schema |Fix] FusionDirectory plugins - Bugs #5090: Attribute dob of fusiondirectory schema conflicts with evolution schema |Fix] Bugs #5092: FD should not interfere with form handling * FusionDirectory 1.0.14 |Fix] FusionDirectory plugins - Bugs #4142: Local quota |Fix] FusionDirectory plugins - Bugs #4766: testing the autofs plugin |Fix] FusionDirectory plugins - Bugs #4772: Autofs - Taille de champ "entrée automount" trop petite |Fix] Bugs #4831: Allow setting server name for password recovery feature |Fix] FusionDirectory plugins - Bugs #4874: plugins where there is still some images not in theme |Fix] Bugs #4875: Hooks can lead to arbitrary code execution |Fix] FusionDirectory plugins - Bugs #4876: Can't edit system: "Workstation" |Fix] FusionDirectory plugins - Bugs #4877: Can't edit Dns Zone. |Fix] FusionDirectory plugins - Bugs #4878: Can't create "Network devices" |Fix] FusionDirectory plugins - Bugs #4879: Can't add "printer" on Workstation |Fix] FusionDirectory plugins - Bugs #4880: Remote Desktop stay greyed out. |Fix] Bugs #4882: Session lifetime... |Fix] FusionDirectory plugins - Bugs #4883: Impossible to remove a workstation |Fix] FusionDirectory plugins - Bugs #4884: Case sensitive and DNS |Fix] FusionDirectory plugins - Bugs #4885: Quota plugin, server are greyed out. |Fix] FusionDirectory plugins - Bugs #4889: adding a link from printer to suser in the same fashion as user group & roles tab |Fix] Bugs #4890: Configuration saving is failing in setup |Fix] Bugs #4891: We would need a hook that works only if the account is created |Fix] Bugs #4892: Wrong placeholder names for HOOKS |Fix] FusionDirectory plugins - Bugs #4894: printGeneric code is too old and ugly and 1.1 code should be used instead |Fix] Bugs #4896: strings in recovery.tpl are not put in .po file |Feature] Bugs #4897: the breezy theme should be the default one in 1.0.14 |Fix] Bugs #4898: add to documentation of the hooks that they should not contains quote for space in attributes |Fix] Bugs #4904: changement de mot de passe reste forcé après mise à jour du mot de passe |Fix] Bugs #4907: dans le template user, il ne mémorise pas la case forcer le changement mdp à la 1ere connexion |Fix] Bugs #4910: Greyed out icon are the same as normal one with breezy theme |Fix] Bugs #4912: erreurs php dans /var/log/messages (class_IconTheme.inc) |Fix] Bugs #4913: adding the eps and png of the FusionDirectory logo to the sources |Fix] Bugs #4915: refaire la favicon de FusionDirectory |Fix] Bugs #4916: Les liens sont en bleus à beaucoup d’endroit où cela semble inadapté |Fix] Bugs #4918: Clean tpl files |Fix] Bugs #4920: plugins where there is still some images not in theme |Fix] Bugs #4921: update timeout colors |Fix] FusionDirectory plugins - Bugs #4922: old option option still present in cyrus mail method |Fix] Bugs #4923: uid not passed to the mail-method cyrus |Feature] Bugs #4924: adding the language Finnish (Finland) (fi_FI) |Fix] Bugs #4925: document the autofs plugin |Fix] FusionDirectory plugins - Bugs #4927: fdCommunityMembershipType should no be used/displayed in community projects dep. |Fix] Bugs #4933: the default theme should be renomed legacy or kde3 |Fix] FusionDirectory plugins - Bugs #4934: the default theme should be renomed legacy or kde3 |Feature] FusionDirectory plugins - Bugs #4937: the breezy theme should be the default one in 1.0.14 |Fix] FusionDirectory plugins - Bugs #4943: when clicking on the left menu on the gpg entry FusionDirectory crash |Fix] FusionDirectory plugins - Bugs #4944: when clicking on the left menu on the opsi import entry FusionDirectory crash |Fix] FusionDirectory plugins - Bugs #4946: the game plugin should be removed as its not longer usefull |Fix] FusionDirectory plugins - Bugs #4954: Regression: "Generic IMAP Server" (fdImapServer) was removed |Fix] FusionDirectory plugins - Bugs #4956: errror when suppressing or adding some service |Fix] Bugs #4957: when upgrading from 1.0.13 to 1.0.13-fixes going to breezy by default break fusiondirectory |Feature] Bugs #4970: templates have no acls |Fix] FusionDirectory plugins - Bugs #4971: Some services icons are missing |Fix] Bugs #4972: ACL assignment is broken |Fix] Bugs #4974: LDIF import crash on value 0 |Fix] Bugs #4980: Icon status/dialog-warning missing in size 48 in breezy |Fix] Bugs #4981: trying to put an ACL assignments on an non existing branch crashes |Fix] Bugs #4982: CSV import base edition is broken |Fix] Bugs #4989: Recovery error message |Fix] FusionDirectory plugins - Bugs #4992: PHP error "deprecated call to old tabclass constructor" |Fix] FusionDirectory plugins - Bugs #4994: Shell is broken |Fix] FusionDirectory plugins - Wishlist #4773: Autofs - Vu liste n'affiche pas l'information principale pour les "Répertoires" |Fix] FusionDirectory plugins - Wishlist #4881: Is possible to modify url link? |Fix] FusionDirectory plugins - Wishlist #4955: add two boolean attributes to community organization * FusionDirectory 1.0.13 |Fix] Bugs #4570: error when saving a user with php7 |Fix] Bugs #4571: when clicking on department in the left menu on php7 |Fix] Bugs #4757: padlock next to user dn in edition screen is confusing |Fix] Bugs #4759: disabled account can still reset password ? |Fix] FusionDirectory plugins - Bugs #4763: Translation mishaps in dovecot plugin |Fix] Bugs #4764: Fusiondirectory exposes bindpw on error [Feature] Bugs #4774: Add an LDAP logging system |Fix] FusionDirectory plugins - Bugs #4776: unwanted debug in jsonrpc.php |Fix] FusionDirectory plugins - Bugs #4782: Systems snapshots are broken [Feature] FusionDirectory plugins - Bugs #4783: Use of templates through the webservice [Feature] Bugs #4785: create an interface to manage the option for the script managing the expiration messages |Fix] FusionDirectory plugins - Bugs #4787: Mail server should not be mandatory in alias plugin |Fix] FusionDirectory plugins - Bugs #4788: 'Incorrect response id (request id: 1, response id: )' |Fix] FusionDirectory plugins - Bugs #4789: Webservice setfields method needs documentation |Fix] Bugs #4794: sambaNTpassword is not updated when password is changed through «My account» menu |Fix] Bugs #4806: Importing ldif file with comments generates error |Fix] Bugs #4821: password recovery, email field focus |Fix] Bugs #4823: Imagick is not detected during the setup |Fix] Bugs #4824: Error when I will create fd-admin in the setup |Fix] Bugs #4826: File docs/INSTALL must be updated or deleted |Fix] Bugs #4828: FusionDirectory does not work with Smarty 3.1.29 |Fix] Bugs #4833: Uncaught exception 'NonExistingObjectTypeException' with message 'Non-existing type "" [Feature] Bugs #4853: get the value of the connect user in a variable to be passed to scripts hooks |Fix] FusionDirectory plugins - Bugs #4855: PHP error about DNSenabled |Fix] FusionDirectory plugins - Bugs #4856: Copy past test of server [Feature] FusionDirectory plugins - Bugs #4857: When mail can be used to login, it should be unique |Fix] Bugs #4863: top header of the login page keep the green even when the breezy them is activated |Fix] FusionDirectory plugins - Wishlist #4790: make functions names consistent |Fix] FusionDirectory plugins - Wishlist #4791: setfields() : values structure and fields names |Fix] FusionDirectory plugins - Wishlist #4798: fields() : suggestion on returned array structure [Feature] FusionDirectory plugins - Wishlist #4799: creating an object with several activated tabs in one go [Feature] FusionDirectory plugins - Wishlist #4854: adding "lock/unlock entry" function to the webservice * FusionDirectory 1.0.12 |Fix] Bugs #4645: Could not add groups to user templates |Fix] FusionDirectory plugins - Bugs #4658: csv import with empty field |Fix] Bugs #4678: group : member objects list [Feature] FusionDirectory plugins - Bugs #4689: we should be able to create mail address without having a server and a service referenced |Fix] FusionDirectory plugins - Bugs #4692: remove the antivirus service |Fix] FusionDirectory plugins - Bugs #4699: move postfix service in his own plugin |Fix] FusionDirectory plugins - Bugs #4706: move the spamassasin service to his own plugin |Fix] Bugs #4713: remove the antivirus service icons |Fix] FusionDirectory plugins - Bugs #4714: leftover in services-fd.schema of the removal of the asterisk plugin |Fix] FusionDirectory plugins - Bugs #4721: move the spam options for the mail user tab to a spamassasin user tab |Fix] Bugs #4735: nginx + php-fpm with fusiondirectory |Fix] Bugs #4737: we should remove data['SERVERS']['IMAP'] from config |Fix] FusionDirectory plugins - Bugs #4739: remove the option Use custom sieve script (disables all Mail options!) |Fix] FusionDirectory plugins - Bugs #4740: in the cyrus service the hostname, port should be mandatory |Fix] FusionDirectory plugins - Bugs #4741: in the dovecot service the hostname, port should be mandatory |Fix] FusionDirectory plugins - Bugs #4742: ppolicy: description cannot be set |Fix] Bugs #4746: Error when saving user if objectClass person is missing. |Fix] Bugs #4754: user template : %r|% does not work in password |Fix] Bugs #4756: Update documentation with fixes/dev repos info. |Fix] Wishlist #4687: ACL assignments can’t give rights to groups. |Fix] Wishlist #4722: Use Nginx instead of Apache2 [Feature] Wishlist #4738: extend the search query to email [Feature] FusionDirectory plugins - Wishlist #4743: ppolicy: user interface improvements [Feature] Wishlist #4755: user template: password should show only one field * FusionDirectory 1.0.11 |Fix] FusionDirectory plugins - Bugs #4391: Choices order seems random in shell |Fix] Bugs #4621: Use of mcrypt should be removed |Fix] FusionDirectory plugins - Bugs #4630: DNS adding reverse zone issue (tested on FD 1.0.10) in class B and class A |Fix] FusionDirectory plugins - Bugs #4631: DNS menu is not displayed without systems plugin |Fix] FusionDirectory plugins - Bugs #4632: Webservice needs a better method for modification |Fix] Bugs #4633: change requirement to php 5.4 for centos |Fix] Bugs #4634: DNS PTR migration does not work |Fix] FusionDirectory plugins - Bugs #4635: [DNS] Reverse zone association breaks when there are several A record for the same domain. |Fix] FusionDirectory plugins - Bugs #4636: [SYSTEMS] When add Windows Workstation (winStation) and enable DHCP it will not be enabled when edit again |Fix] FusionDirectory plugins - Bugs #4637: DNS tab won’t work on winstations |Fix] Bugs #4638: UI issue, entry disappear in 'Base' dropdown |Fix] Bugs #4639: depending on FD language setting, the calendar doesn't show up on icon click |Fix] Bugs #4640: strange error when following org's link from user "references" tab |Fix] Bugs #4652: The weird _copy fallback should be removed |Fix] Bugs #4653: Having a wrong default location should trigger a fatal error |Fix] FusionDirectory plugins - Bugs #4654: DHCP seems to use inexistant method getCn |Fix] Bugs #4655: The edit anyway button does not work in my account menu |Fix] FusionDirectory plugins - Bugs #4658: csv import with empty field |Fix] Bugs #4659: when creating a user via template or csv import, mandatory , alreay defined fields have to be re-inputed even if already defined |Fix] Bugs #4667: Samba munged dial fields are always asked when using a template |Fix] Bugs #4673: ImageAttribute are broken |Fix] FusionDirectory plugins - Bugs #4675: csv import, add an option for not importing anything in case of error |Fix] FusionDirectory plugins - Bugs #4676: Edit IDs problems related to our selenium test |Fix] FusionDirectory plugins - Wishlist #4657: community organization membership type |Fix] FusionDirectory plugins - Wishlist #4660: csv import lacks an option or help on what to do with the first line * FusionDirectory 1.0.10 [Feature] Bugs #1217: DNS service must be redone |Fix] Bugs #2171: creating CNAME entries is not intuitive |Fix] Bugs #2573: when changing the address range of a no used zone name, the reverse of the dns of this zone break |Fix] Bugs #4251: When I have DNS zone created, DNS plugin asks for subnet and netmask for that zone. |Fix] Bugs #4468: Error when I try to move a system with the DNS tab activate |Fix] Bugs #4476: rewrite the part about fusiondirectory core in the documentation |Fix] Bugs #4477: rewrite the configuration password recovery page as this as been integrated into the configuration in core |Fix] Bugs #4480: LDAP::convert and LDAP::fix functions are causing problems |Fix] Bugs #4482: Debug log prevent connection in some cases [Feature] Bugs #4484: allow ldap ipv6 uris |Fix] Bugs #4490: nagios.tpl file is not used anymore |Fix] Bugs #4495: Use ldap_escape in compute_dn [Feature] Bugs #4496: DNS plugin should support RFC 2317 for reverse zones |Fix] Bugs #4498: Bad error message when we will use a GID with a non-existent group [Feature] Bugs #4504: Support for split horizon should be added |Fix] Bugs #4505: fusiondirectory-setup --migrate-users not work when the users don't have all the samba attributs |Fix] Bugs #4508: second email and first email are inverted in the password recovery configuration page |Fix] Bugs #4509: Force GID option is broken |Fix] Bugs #4511: Add a button to launch argonaut-ldap2zone from FusionDirectory |Fix] Bugs #4512: when using cyrus in unix hierarchy mode and creating a user and activating mail tab at the same time, the mailbox is not created |Fix] Bugs #4514: It takes too long to load the reference tab for a DNS zone [Feature] Bugs #4515: fusiondirectory-setup need an option to migrate the dns 1.0.9.x version to 1.0.10 |Fix] Bugs #4517: Some obsolete objectClass are still searched for in config |Fix] Bugs #4518: Plugin deletion contains some useless ldap operation |Fix] Bugs #4519: ldap::rmdir_recursive is not optimal |Fix] Bugs #4520: Syslog server field should be removed |Fix] Bugs #4521: LDAP server field should be removed (gotoLdapField) |Fix] Bugs #4523: ntp server should be removed [Feature] Bugs #4525: we should have attribute for start and end date into the personal-fd.schema and add it to the personal schema [Feature] Bugs #4526: add "co" attribute into personal-fd.schema and into personal plugin [Feature] Bugs #4527: create a community plugin to manage community aka organization and projects [Feature] Bugs #4528: tab community on the user [Feature] Bugs #4529: The category in department and organization should be a dropdown filled from the configuration backend [Feature] Bugs #4530: in the department and organization we need to add the labeledUri [Feature] Bugs #4531: The co (country friendlyName) in department and organization should be added and be dropdown filled from the configuration backend [Feature] Bugs #4532: the personal plugin should have a field where we can put the badge number [Feature] Bugs #4533: make a subcontracting plugin |Fix] Bugs #4540: Problème avec les vcf (vcards) |Fix] Bugs #4541: [intégration du schéma OPENNEBULA et création du plugin de gestion des groupes] |Fix] Bugs #4542: fusiondirectory-setup --deprecated-ldif not found the asterisk deprecated [Feature] Bugs #4543: Add an option to fusiondirectory-setup to see the uid that are duplicated [Feature] Bugs #4544: Possibility to see the uid that are duplicate when we install FusionDirectory |Fix] Bugs #4545: When we migrate an old FusionDirectory we not have argonautClientProtocol attribute |Fix] Bugs #4555: the terminal plugin has an error with the latest ntp removal fix |Fix] Bugs #4557: when a user is on top people branch and get an acl in subtree for a lower branch i get " The supplied base is not valid and has been reset to the previous value! " [Feature] Bugs #4561: be able to select all user from ou=people,dc=opensides,dc=be but be confined to your branch for all the rest [Feature] Bugs #4562: add http auth |Fix] Bugs #4563: DNS zone serial is not updated when record are changed through the DNS tab of a system |Fix] Bugs #4569: Groups containing unknown type objects or deleted objects does not appear |Fix] Bugs #4575: Error with samba plugin and sambantpassword attribute [Feature] Bugs #4576: create tab for the plugin community onto organization and department [Feature] Bugs #4580: Newsletter plugin |Fix] Bugs #4591: It’s impossible to delete root records in DNS zones |Fix] Bugs #4592: its best if we use the /html/themes everywher in place of /html/images evertime is possible |Fix] Bugs #4600: 'base' sticky or not ? |Fix] Bugs #4602: assignements / object selection step : sometimes the current object doesn't shows up |Fix] Bugs #4603: With debug set, toggle button is absent when selecting users to add them to a group |Fix] Bugs #4605: inside group selections of users, the selections is not showing all users [Feature] Bugs #4606: the login column is missing in the groupOfname user selection list |Fix] Bugs #4608: assignements / object selection step : sometimes the current object doesn't shows up |Fix] Bugs #4610: postalAddress (and homepostalAddress) content should stick to the RFC |Fix] Bugs #4610: postalAddress (and homepostalAddress) content should stick to the RFC |Fix] Bugs #4611: setRequired should be public |Fix] Bugs #4613: Error about sambaUnixIdPool is unclear |Fix] FusionDirectory plugins - Bugs #4620: postalAddress (and homepostalAddress) content should stick to the RFC |Fix] FusionDirectory plugins - Bugs #4622: DNS record should be sorted [Feature] Wishlist #2843: Assigning multiple domain names for servers. [Feature] Wishlist #3265: rewrite DNS plugins |Fix] Wishlist #4252: Systems plugin - when enable "Add to DNS" should be able to check about adding PTR and more A records |Fix] Wishlist #4478: Using %askme% in User id and group id in templates does not work |Fix] Wishlist #4486: possible documentation tweaks |Fix] Wishlist #4492: "login" name in group add page |Fix] Wishlist #4497: The order of user id and group id are inverted [Feature] Wishlist #4560: community users and entities management specifications [Feature] Wishlist #4564: Add a C modifier for counting an array [Feature] Wishlist #4565: Fixedbutton themes should replace the default one [Feature] Wishlist #4609: Add "project/org full name" attribute in dep community's tab * FusionDirectory 1.0.9.3 [Fix] Bugs #4444: Debug log prevent connection in some cases [Fix] Bugs #4452: Adding a user to a group using "Groups and roles" tab creates some PHP errors [Fix] Bugs #4453: Adding a user to a group using "Groups and roles" with trustMode fails [Fix] Bugs #4456: Can't find a way to specify a '/' in distribution or media name in the repository plugin [Fix] Bugs #4457: FusionDirectory don't find the dns server if he is in a department [Feature] Bugs #4459: Desactivate other authentification method from configuration file [Fix] Bugs #4463: There are still traces of the rsyslog plugin in the schema and config class [Fix] Bugs #4464: There are still traces of the rsyslog plugin in the schema and config class [Fix] Bugs #4465: remove from the service-fd.schema objectClass no longer used [Fix] Bugs #4466: Pull request 11 from github [Fix] Bugs #4479: In primary group in unix tab there is a «None» option [Fix] Bugs #4481: «Enable primary group filter» option is obsolete [Fix] Bugs #4485: 'fusiondirectory-insert-schema -m' should check if the specificed file exists [Fix] Wishlist #4385: Locked users can connect using SSH keys [Fix] Wishlist #4473: Locked users can connect using SSH keys * FusionDirectory 1.0.9.2 [Fix] Bugs #3880: mailbox deletion through sieve and cyrus does not work [Fix] Bugs #4067: Argonaut Server documentation should mention «Get packages informations» option [Fix] Bugs #4109: The fai tab should not contain kernel options [Fix] Bugs #4111: Clean FAI support daemon method [Fix] Bugs #4200: I must tick "Search in subtrees" to see the elements in repository management [Fix] Bugs #4209: we can no longer select a windows workstation in the user samba tab systeme trust [Fix] Bugs #4216: the setup in the ldap inspection step need a refresh button [Feature] Bugs #4217: the reset password system should look for supannMailPerso if the supann plugin is installed [Feature] Bugs #4219: allow FusionDirectory to be integrated into a cas infrastructure [Fix] Bugs #4220: Add a function to list the tab that are activate on an object in fusiondirectory-shell [Fix] Bugs #4221: developer doc on documentation.fusiondirectory.org should have an explanation of the is_this_account system [Feature] Bugs #4225: the reset password system should look for supannMailPerso if the supann plugin is installed [Fix] Bugs #4227: Change default block size value in 1024 [Fix] Bugs #4231: difference in provided ldap server in debian and Centos [Feature] Bugs #4238: ReadOnlyLDAPAttribute should be moved to class_attribute.inc [Fix] Bugs #4239: ReadOnlyLDAPAttribute should be moved to class_attribute.inc [Fix] Bugs #4241: Problem when I try to save an already existing supann entry - dropdown dependancy not already filled [Fix] Bugs #4253: PHP error when I go at dashboard [Fix] Bugs #4254: we can no longer select a windows workstation in the user samba tab systeme trust [Fix] Bugs #4261: It appears that prehooks not work with password recovery [Feature] Bugs #4272: the recovery password page should be customizable to tell user where to go / call [Feature] Bugs #4273: the recovery password page should be customizable [Fix] Bugs #4281: PHP error about wrong acl when I edit the configuration [Fix] Bugs #4288: the documentation about automation should be added [Fix] Bugs #4292: Migrate last FAI classes to simplePlugin [Fix] Bugs #4298: the usage of the fusiondirectory-shell doesnt explain the various options for connecting [Fix] Bugs #4334: the url in the webservice-shell should have the jsonrpc.php added automatically [Fix] Bugs #4344: when saving the configuration with the application plugin installed [Fix] Bugs #4345: password recovery show an error when activating recovery password [Fix] Bugs #4346: CSV import is broken [Fix] Bugs #4347: Remove config search method [Fix] Bugs #4353: Error when I try to grab centos packages with an argonaut-server on centos [Fix] Bugs #4364: Clean up the DaemonEvent mess [Fix] Bugs #4365: We should delete the rsyslog plugin [Fix] Bugs #4367: We should delete the databaseManagement class [Fix] Bugs #4378: user deleted when we change its base [Fix] Bugs #4379: can't change informations in "Network Settings" in a network component object in systems [Fix] Bugs #4380: when migrating users with fusiondirectory-setup –migrate-users it cannot migrate user with samba attributes [Fix] Bugs #4382: SSH plugin: error while adding keys with space(s) in comment [Fix] Bugs #4386: We have an error when we try to start / stop a service from FusionDirectory [Fix] Bugs #4392: Error when I open a system from the inventory menu [Fix] Bugs #4393: The diff between 1.0.9.2 and 1.1 should as short as possible [Fix] Bugs #4394: Remove the mail method Cyrus Sendmail [Fix] Bugs #4395: PHP errors when I open inventory tab from a system [Fix] Bugs #4409: the ssh plugin doesnt support ecdsa-sha2-nistp256 ssh public key format [Fix] Bugs #4419: remove the class_BootKernelAttribute.inc [Fix] Bugs #4425: remove fix_munged from the samba plugin [Fix] Wishlist #2166: Semantic of plDescription and plShortname [Feature] Wishlist #4001: passwordProposalHook [Fix] Wishlist #4343: Underscores in departement/domain component names not allowed * FusionDirectory 1.0.9.1 [Feature] Bugs #4136: we should remove the samba.schema from our contrib directory in core source [Fix] Bugs #4158: Fatal error after role creation [Fix] Bugs #4168: Underscores in group names not allowed anymore [Fix] Bugs #4169: Uncaught exception 'NonExistingObjectTypeException' with message 'Non-existing type "group" [Fix] Bugs #4172: Filter for ogroups should be on groupOfNames [Fix] Bugs #4173: When mixed group plugin is installed group and ogroup tabs should be merged [Fix] Bugs #4179: st field seems to be reading correctling but not setting correctly in a template [Fix] Bugs #4183: option host-name with winstations results in error [Fix] Bugs #4184: We missed a foreignkey in system trust in unix tab for user [Fix] Bugs #4185: The configuration is lost after upgrading to 1.0.9.1 [Fix] Bugs #4190: fusiondirectory-setup should be improved [Fix] Bugs #4191: Error in the fusiondirectory-setup [Fix] Bugs #4193: Remove gosaAccount with fusiondirectory-setup --migrate-users [Fix] Bugs #4194: list of users membership in group when in mixed mode 1.0.9x is not showing the same info as in 1.0.8.9 [Fix] Bugs #4195: when going to the page groups and roles with mixedgroup plugin installed [Fix] Bugs #4196: roles should no allow space in their name [Fix] Bugs #4199: the logon hours page is not correctly constructed [Fix] Wishlist #4180: on Droplist, put entries in alphetical order [Fix] Bugs #4206: when a mixed group posixGroup and groupOfNames without the extra fd objectClass and attributes is opened then saved it tell me a group with the same name already exist [Fix] Bugs #4208: list of group membership in user when in mixed mode 1.0.9x is not showing the same info as in 1.0.8.9 [Feature] Wishlist #4154: add support for displayName attribute * FusionDirectory 1.0.9 [Feature] Bugs #955: write https support for PHP JSONRPC [Fix] Bugs #1608: ACL sur AddressBook [Fix] Bugs #1955: unique is checked only in the object base [Fix] Bugs #2126: post* scripts failure could trigger a revert [Feature] Bugs #2407: Migrate class_user to simple-plugin [Feature] Bugs #2509: LDAP manager should be using simplePlugin [Fix] Bugs #2595: The code should follow code guidelines [Fix] Bugs #2602: Improve debug-help plugin [Feature] Bugs #2608: group should use simplePlugin [Fix] Bugs #2622: Select classes should be cleaned and regrouped [Feature] Bugs #2624: ogroup should use simplePlugin [Fix] Bugs #2642: Select classes should be cleaned and regrouped [Feature] Bugs #2650: ogroup should use simplePlugin [Fix] Bugs #2678: sudoOption should allow to negate [Feature] Bugs #2696: FusionDirectory should have a CLI [Fix] Bugs #2894: More plugins should use foreignKeys [Feature] Bugs #2919: Setup should be rewritten [Feature] Bugs #3063: Migrate fai to simplePlugin [Feature] Bugs #3064: Migrate fai to simplePlugin [Fix] Bugs #3078: Clean ArrayAttribute hierarchy [Fix] Bugs #3162: We need to clarify role situation [Fix] Bugs #3181: Copy user in an other base create the user in the root base [Fix] Bugs #3182: We need to clarify role situation [Fix] Bugs #3186: when creating the fd-admin user in the migration phase i got an error [Fix] Bugs #3221: Clean dead code [Fix] Bugs #3222: Clean dead code [Fix] Bugs #3231: Remove useless snapshot fields from config ldap schema [Feature] Bugs #3233: We should use freedesktop Icon Theme Specification [Fix] Bugs #3237: System trust in Unix tab is broken [Fix] Bugs #3242: samba group tab is broken [Fix] Bugs #3247: Plugins needs to be able to know which objectType they are opened as [Fix] Bugs #3248: Plugins needs to be able to know which objectType they are opened as [Fix] Bugs #3250: unique is checked only in the object base [Fix] Bugs #3255: Better error message if release is not set [Feature] Bugs #3272: All systems object should use simpleTabs [Fix] Bugs #3299: Use relative path for geticon [Fix] Bugs #3342: Welcome icon is broken in 1.0.9 [Fix] Bugs #3343: put the obsolete word into the system-fd.schema each time we see deprecated [Fix] Bugs #3345: remove the uw-imap plugin from fusiondirectory sources [Fix] Bugs #3354: Error about missing FAI class when creating a debian repository [Fix] Bugs #3355: weird things happens when moving error pop-ups [Feature] Bugs #3366: Supann should use objects class [Fix] Bugs #3384: We need to remove manual handling of foreignKeys [Fix] Bugs #3386: We need to remove manual handling of foreignKeys [Fix] Bugs #3418: ButtonAttribute API has changed [Fix] Bugs #3420: when creating a generic user, only filling the generic tab fusiondirectory create a samba and userpassword [Fix] Bugs #3424: PHP errors in setup step migrate [Fix] Bugs #3432: fdSaslRealm and fdSaslExop are booleans in the schema [Fix] Bugs #3440: Viewing a group removes all members that don't have a memberUid in addition to member attribute [Fix] Bugs #3451: Some fai code should be made generic [Fix] Bugs #3452: remove the obligation to have an gosaAccount on user entries to be displayed by FusionDirectory [Fix] Bugs #3471: move the objectgroup plugin inside the group plugin [Fix] Bugs #3503: Argonaut is sometimes called «infastructure service» and sometimes «service infrastructure» [Fix] Bugs #3587: Edit a template add bad characters [Fix] Bugs #3589: Must set blocksize > 0 to cancel [Fix] Bugs #3588: Copy LAST's scripts create an empty class [Fix] Bugs #3593: We should migrate DNS and DHCP services root objects [Feature] Bugs #3594: We should be able to use roles for ACL assignements [Fix] Bugs #3602: password recovery config should be merged with core configuration [Fix] Bugs #3636: Main menu should handle better icon sizes [Fix] Bugs #3675: Roles icon is always activated [Fix] Bugs #3694: openstack-compute is obsolete and should be deleted [Fix] Bugs #3718: groupOfNames and rfc2307bis situation must be cleaned [Fix] Bugs #3722: We should remove the «enable copy&paste» option [Fix] Bugs #3733: Systems classes needs compute_dn methods [Fix] Bugs #3740: CSV import is broken [Fix] Bugs #3741: Error when I do fusiondirectory-insert-schema [Fix] Bugs #3743: In FAI plugin base propositions should contain distribution [Fix] Bugs #3745: Can’t create FAI profile [Fix] Bugs #3747: We cannot set a dhcp for a system [Fix] Bugs #3748: Set a default secure_path when we activate it [Fix] Bugs #3751: Systems plugin is broken [Fix] Bugs #3752: the setup doesnt find the ldap anymore when fai plugin is installed [Fix] Bugs #3755: fusiondirectory.conf attribute configVersion is unused and should be removed [Fix] Bugs #3756: Error in the setup if the schemas are not inserted [Feature] Bugs #3771: Add /sbin/nologin in shells [Fix] Bugs #3777: remove the obligation to have an gosaAccount on user entries to be displayed by FusionDirectory [Fix] Bugs #3779: Fatal error in recovery: Non-existing type "user" [Feature] Bugs #3780: We should migrate DNS and DHCP services root objects [Fix] Bugs #3787: template-fd.schema should be in the default schemas in fusiondirectory-insert-schema [Fix] Bugs #3788: template-fd.schema is not inserted [Fix] Bugs #3792: Copy of partition class does not copy the disks [Fix] Bugs #3795: Copy of fai objects is not working [Fix] Bugs #3800: Errors about base are shown when switching from FAI to an other plugin [Fix] Bugs #3801: ogroup hold previous icons [Fix] Bugs #3802: PHP error: undefined variable: dn [Feature] Bugs #3807: Fd should have three mode of fonction posixGroup / rcf2307bis (groupOfNames) / quirk mode (with modified core schema) [Fix] Bugs #3813: Ppolicy plugin should check password history [Fix] Bugs #3820: Some PHP errors on password recovery page [Fix] Bugs #3839: cleanup the icons situation [Fix] Bugs #3840: cleanup the icons situation [Fix] Bugs #3842: Trustmode in template is automaticaly desactivated [Fix] Bugs #3843: Error when we try to lock a user [Fix] Bugs #3844: Add title option on the tr [Fix] Bugs #3845: Error when we add a posix group [Fix] Bugs #3846: template are in their own branch now but code still reference gosaUserTemplate objectClass who is deprecated [Fix] Bugs #3847: template are in their own branch now but code still reference gosaUserTemplate objectClass who is deprecated [Feature] Bugs #3848: generic user view should be reorganized [Fix] Bugs #3849: we should remove (v2.6.1) from the schema descriptions [Fix] Bugs #3850: the DESC of each attribute and object should describe exactly the purpose of it [Fix] Bugs #3851: it seems the gosaCacheEntry objectClass is no longer used [Fix] Bugs #3852: we should remove (v2.6.1) from the schema descriptions [Fix] Bugs #3853: Remove deprecated objectClass and attributes of 1.0.8.7 [Fix] Bugs #3855: Templates and hooks should be fixed [Fix] Bugs #3856: Delete CUPS service [Fix] Bugs #3857: We should be able to apply templates [Fix] Bugs #3858: Delete CUPS service references and goService [Fix] Bugs #3861: PHP error when we create a template [Fix] Bugs #3862: developement documentation should be updated for icons situation [Fix] Bugs #3896: Set deprecated the attributes gosaVacationStart and gosaVacationStop [Fix] Bugs #3897: Setup fails if root object is missing [Fix] Bugs #3903: values in gecos, cn, displayName (fields being derived from sn and givenName) have one trailing whitespace [Fix] Bugs #3904: fdAccountPrimaryAttribute set to uid, accounts get changed into accounts with cn based DN [Fix] Bugs #3905: Icons of actif tabs not appear on template [Fix] Bugs #3906: PHP error when I try to copy a template [Feature] Bugs #3907: Rework CN and DN related options [Fix] Bugs #3908: Create a user with template that force primary group not work [Fix] Bugs #3914: We should remove the class tabs [Fix] Bugs #3915: fd-admin creation fail in RHEL6 [Fix] Bugs #3916: We should remove the class tabs [Feature] Bugs #3921: User templates should support roles [Feature] Bugs #3922: We need a plugin for support of ugly groups [Feature] Bugs #3929: Group synchronization Samba / UNIX [Feature] Bugs #3931: We need a plugin for support of ugly groups [Fix] Bugs #3938: Password default hashes of type CRYPT/XXX other than CRYPT/MD5 are not working [Fix] Bugs #3940: the in ldap inspection phase departements should not show fusiondirectory owned branch to migration [Feature] Bugs #3944: Add a option to not touch at the reverse zone [Fix] Bugs #3947: FD should stop using the word generic everywhere [Fix] Bugs #3949: We should get rid of get_post function [Fix] Bugs #3952: We miss dhcp service icon [Fix] Bugs #3953: Schema attributes and OC should be renamed [Fix] Bugs #3954: The ids in aclRole depend of the langage of FusionDirectory [Fix] Bugs #3955: ACL roles should use geticon as well [Fix] Bugs #3957: PHP error in simpleService [Fix] Bugs #3958: fusiondirectory-shell don't give a prompt to create an user [Fix] Bugs #3959: Password force default hash does not work [Feature] Bugs #3966: Argonaut server should support HTTPS [Fix] Bugs #3980: move phones out the asterisk plugin to the system plugins [Fix] Bugs #3981: remove the asterisk plugin from 1.0.9 [Fix] Bugs #3990: removing the test in fusiondirectory web setup for the database library [Fix] Bugs #3991: comment is wrong on the test for the php ldap extension [Fix] Bugs #3992: remove the fax plugin [Fix] Bugs #4000: some entries in the supann plugin don't have english explanation next to the attribute name [Fix] Bugs #4002: password.tpl is not used anymore it should be deleted [Fix] Bugs #4007: when installing all plugins i got error message about samba sid-rid [Fix] Bugs #4008: edit locking should have a default value selected during web setup [Fix] Bugs #4009: The configured mail attribute '' is unsupported! when all plugin at installed at once [Feature] Bugs #4012: Argonaut server should support HTTPS [Fix] Bugs #4014: function missing in personal/generic/class_user.inc [Feature] Bugs #4016: Webservice must respect ACLs [Feature] Bugs #4022: We should be able to create a user with fusiondirectory-shell [Fix] Bugs #4034: Remove the FIXME in FAI about priority [Fix] Bugs #4037: It seem that force ssl not work for webservice [Fix] Bugs #4038: Mandatory for primary dns server and mailadress not work [Fix] Bugs #4039: Error when I update dns by dns service [Feature] Bugs #4040: add spanish colombian to FD [Fix] Bugs #4042: We missed a method to delete objects with fusiondirectory-shell [Fix] Bugs #4043: Display message about sasl but I not use it [Fix] Bugs #4045: Error when I edit FAIBASE partition class [Feature] Bugs #4047: creating an argonaut-fai-monitor service [Fix] Bugs #4050: we need a fonction to convert string into lowercase [Fix] Bugs #4051: Mac addresses should always be in lowercase [Fix] Bugs #4056: We should remove the Automatic logins option [Fix] Bugs #4058: FAIstate is not set when we click on reinstall in systems. [Fix] Bugs #4059: Manage argonaut-fuse with FusionDirectory and remove serviceRepository from the actions [Fix] Bugs #4060: Erreur plugin game lors de la création de serveur [Fix] Bugs #4061: PHP error when I use a template to create a user [Fix] Bugs #4062: Specify POSIX group in a message [Fix] Bugs #4063: Use a modifer for password in a template not work in SSHA [Fix] Bugs #4064: PHP error when I delete a template [Fix] Bugs #4065: I got a PHP error when I open a package class [Fix] Bugs #4066: Weblink refers to IPMI [Fix] Bugs #4068: password.tpl is not used anymore it should be deleted [Fix] Bugs #4072: CSV import is broken [Fix] Bugs #4073: CSV import is broken [Fix] Bugs #4076: eduPersonNickName isn't save if modified and generate an error if account with eduPersonNickName is deleted [Fix] Bugs #4083: the phone component should not have a nis group tab [Fix] Bugs #4092: Base field should show "/" instead of being empty for root. [Fix] Bugs #4093: There are HTML errors in the code [Fix] Bugs #4100: The logout screen should be redone (session expiry) [Fix] Bugs #4102: Kolab plugin should specify «Kolab 2» [Fix] Bugs #4107: the autodect button for the mac address should be removed [Fix] Bugs #4112: the dns plugin allow me to edit zone name and ip address in the global zone service tab [Fix] Bugs #4114: remove slapd.conf from contrib/openldap as no one use slapd.conf anymore and there is error in it [Fix] Bugs #4137: Locked icon on users is broken [Fix] Bugs #4141: check-deprecated should say which obsolete objectClass an entry is using [Fix] Bugs #4143: the template management has completely changed in 1.0.9 so we need a new documentation about this [Fix] Bugs #4144: Reference for ogroup not work [Fix] Bugs #4145: Systems plugin needs to include obsolete asterisk attributes [Fix] Bugs #4146: check the copyright date on licence in each file [Fix] Bugs #4147: check the copyright date on licence in each file [Fix] Bugs #4148: PHP Errors when I set some informations in a template [Fix] Bugs #4150: PHP error on template after I remove the userPassword [Fix] Bugs #4151: we cannot save a phone because the ipHostNumber attribute is not saved [Fix] Bugs #4152: Add an example of -o option to man page of fusiondirectory-insert-schema [Feature] Wishlist #1887: Template system should be redone [Feature] Wishlist #2004: Object groups should be handled automatically [Feature] Wishlist #2516: Having a way of generating objectTypes graphs [Feature] Wishlist #2629: Object groups should be handled automatically [Feature] Wishlist #2948: we should add write features to the webservice [Feature] Wishlist #3158: FusionDirectory could have an alternate theme [Feature] Wishlist #3258: Paste SSH public key directly in FD interface [Feature] Wishlist #3317: LDAP reorganization [Feature] Wishlist #3334: userManagement should be using simpleManagement [Feature] Wishlist #3383: Password change and hooks should be cleaned [Feature] Wishlist #3388: Samba account should handle samba password [Feature] Wishlist #3730: Ppolicy plugin [Feature] Wishlist #3910: Move dashboard configuration in core [Feature] Wishlist #4075: Allow select Supann Role by choosing in several base * FusionDirectory 1.0.8.9 [Fix] Bugs #3877: add a switch to select the good library when in wheezy or jessie for fusiondirectory-shell [Fix] Bugs #3928: Doesn't work if ldap's cn=admin has password with "<" symbol [Fix] Bugs #3930: updating the list of supported language in fusiondirectory [Fix] Bugs #3932: Password default hashes of type CRYPT/XXX other than CRYPT/MD5 are not working [Fix] Bugs #3941: fusiondirectory-setup --check-ldap should respect password encoding taken from the ldap [Feature] Bugs #3943: Add a option to not touch at the reverse zone [Fix] Bugs #3960: fusiondirectory-shell cannot cat a user [Feature] Bugs #3961: the DESC of each attribute and object should describe exactly the purpose of it - ported description and formatting issues to 1.0.8.x [Fix] Bugs #3962: fusiondirectory-shell should handle multivaluated attributes properly * FusionDirectory 1.0.8.8 [Fix] Bugs #3864: correct all the date and version on the man pages [Fix] Bugs #3870: fusiondirectory-setup miss the explanation of --check-deprectaed into to manpages [Feature] Bugs #3878: we need an option in fusiondirectory-setup to tell us the fusiondirectory version [Feature] Bugs #3879: we need an option into fusiondirectory-insert-schema to empty a schema [Fix] Bugs #3884: Setup fails if root object is missing [Feature] Bugs #3887: Support apache group for Archlinux [Fix] Bugs #3890: Vacation range should be disabled on mail methods as none implements it [Fix] Bugs #3898: check if the demo plugin is current and use the current simple plugin api [Fix] Bugs #3913: remove screenshot and demosection.php from developers packages [Fix] Bugs #3917: remove the fusiondirectory-setup --migrate-repositories [Fix] Bugs #3919: fusiondirectory-setup miss the explanation of --migrate-acls into to manpage [Fix] Bugs #3920: reorganize the command for list, write, set vars [Fix] Wishlist #3824: Unix account - /bin/false * FusionDirectory 1.0.8.7 [Fix] Bugs #3753: Recovery password use default hash [Fix] Bugs #3754: Password method "clear" do SSHA [Fix] Bugs #3762: when copying 4 servers at once from a departement to another [Feature]Bugs #3769: Add /sbin/nologin in shells [Fix] Bugs #3772: Password recovery cannot find a suitable password method for current hash [Fix] Bugs #3776: Php error when editing a user [Fix] Bugs #3783: Using Password recovery with the Personal plugin fails. [Fix] Bugs #3785: Add TXT values in global zone record [Fix] Bugs #3808: password strength widget is broken from email redirection [Fix] Bugs #3816: Fix refresh DNS button in systems [Fix] Bugs #3817: Viewing a group removes all members that don't have a memberUid in addition to member attribute [Fix] Bugs #3837: fusiondirectory-setup doesn't handle correctly start_tls support [Feature] Wishlist #3706: Manage userCertificate attribute under User tab [Feature] Wishlist #3757: Let password-methods-sasl prompt for a password when a password-hook is configured [Feature] Wishlist #3809: authorize to set the same password when using simpel password system ( not ppolicy) [Feature] Wishlist #3815: Conversion of PEM certificate in DER (binary) * FusionDirectory 1.0.8.6 [Fix] Bugs #3235: When a manager changes its base the managed user attributes are changed [Fix] Bugs #3604: Role icon is display for all users [Feature] Bugs #3643: Ppolicy plugin should check password history [Fix] Bugs #3685: generateLdif() fails with bind-passwords containg '$' [Fix] Bugs #3687: Address book plugin show infos only in admin [Fix] Bugs #3690: the setup doesnt find the ldap anymore when fai plugin is installed [Fix] Bugs #3692: class_ldap.inc has leftover debug [Fix] Bugs #3693: the apache icon for the apache plugin doesnt appaers in dashboard [Fix] Bugs #3705: add the to faq that if user doesnt show up check if nis.schema is installed [Fix] Bugs #3712: contributed doc for sles 11 SP3 [Fix] Bugs #3713: the group and user is different for apache on SLES 11 SP3 [Fix] Bugs #3719: ACLs of GPG-Plugin [Fix] Bugs #3720: Language setting [Fix] Bugs #3723: Missing icon [Fix] Bugs #3731: A icon is missing when we set a manager [Fix] Bugs #3732: When debug trace level is on, we can’t log in anymore [Fix] Bugs #3738: rfc2307bis option should be removed [Fix] Bugs #3750: fusiondirectory.conf attribute configVersion is unused and should be removed [Feature] Wishlist #3691: Export sub entries with ldapmanager [Feature] Wishlist #3746: Ppolicy should be applied in password recovery * FusionDirectory 1.0.8.5 [Fix] Bugs #3249: When a duplicate is found, its dn should be given [Feature] Wishlist #3264: Hidden password for fusiondirectory-setup --check-ldap [Fix] Bugs #3315: Warning message during adduser process [Feature] Wishlist #3397: Ppolicy plugin [Fix] Bugs #3437: Handle password policy checking inside FD [Feature] Wishlist #3477: use fai plugin without creating a repository debian bug. [Feature] Wishlist #3482: Plugin FAI - Centos support [Fix] Bugs #3489: Documentation pour installer les dépots RPM [Fix] Bugs #3492: Country error [Fix] Bugs #3507: Error in plugin-dns documentation [Fix] Bugs #3521: Can’t give group creation right through ACL system [Fix] Bugs #3524: Can't create/edit users with gosaMailServer Attributes via acl system [Fix] Bugs #3525: the sudo plugin doesnt allow to save the sudoOrder [Fix] Bugs #3527: Add the value ALL in systems and users and groups [Fix] Bugs #3528: misleading dialog box when trying to recover password for a non-existant user [Fix] Bugs #3533: Date d'expiration Unix and Samba [Feature] Wishlist #3534: gosaMailDeliveryMode in Group Mail Tab [Fix] Bugs #3536: Plugins Quota et msg :The field 'Device' contains invalid characters! [Fix] Bugs #3537: Error when I click on reference in EJBCA section [Fix] Bugs #3538: getbin.php should quote the file name [Fix] Bugs #3539: User tab roles should not appear in «My account» menu [Fix] Bugs #3540: Password Recovery error for a non-existant user [Fix] Bugs #3544: when adding ns record in the dns zone editor global name records it doesnt add the . at the end when saving [Fix] Bugs #3547: Password Recovery (Invalid Token) [Fix] Bugs #3551: Invalid uri in the password recovery mail [Feature] Bugs #3554: New functionnality: list all members for a primary group [Fix] Bugs #3555: editing a template inside fai provoke a crash [Fix] Bugs #3557: Plugin FAI - partition LVM [Fix] Bugs #3561: Remove the message "Take over DNS configuration from ..." [Feature] simple-plugin - Bugs #3562: In most password fields, autocomplete should be deactivated [Fix] Bugs #3564: References are only checked in the base [Fix] Bugs #3569: after the first load of the kernel to be use in the fai tab, they should be cached for the rest of the session [Fix] Bugs #3571: Informations for DHCP and DNS are lost after a copy paste [Fix] Bugs #3579: We should update copyright notices to 2015 [Fix] Bugs #3580: We should update copyright notices to 2015 [Fix] Bugs #3582: translation not complete [Fix] Wishlist #3586: Modifier for templates to convert german umlauts to 7-bit ASCII [Fix] Bugs #3590: Error message if we have an assignement with no members [Fix] Bugs #3592: the ppolicy exemple files should be changed to use a more generic dn [Feature] Bugs #3595: The menu should be reorganized [Feature] Bugs #3596: Dashboard plugin should go into core [Feature] Bugs #3600: Dashboard should be completed [Feature] Bugs #3601: The menu should be reorganized [Fix] Bugs #3607: in queue management we should remove the action create and the first 3 icons on the left [Feature] Bugs #3608: dashboard should be an exhaustive statistic plugin [Fix] Bugs #3609: system and newtork tab from the dashboard plugin goes to systems plugins to add the tab when needed [Feature] Bugs #3610: ppolicy should add a tab to dashboard [Feature] Bugs #3616: Dashboard plugin should go into core [Feature] Bugs #3620: system and newtork tab from the dashboard plugin goes to systems plugins to add the tab when needed [Fix] Bugs #3621: ejbca my account link is broken [Feature] Bugs #3622: ppolicy should add a tab to dashboard [Fix] Bugs #3623: Cannot create a role with the same name of an DSA object [Fix] simple-plugin - Bugs #3624: When a duplicate is found, its dn should be given [Fix] Bugs #3626: Export single entry give an error [Fix] Bugs #3627: OPSI import should not have an empty filter [Fix] Bugs #3628: DHCP plugin edit host error [Feature] Bugs #3630: Reset password must take the mail in personal plugin [Fix] Bugs #3631: User templates issues. [Fix] Bugs #3633: the small_warning.png icon is not present but used by the system dashboard tab [Fix] Bugs #3634: the configuration of fusiondirectory entry in dashboard first tab doesnt have an icon [Fix] Bugs #3635: the small_warning.png icon is not present but used by the system dashboard tab [Fix] Bugs #3637: Applications plugin should not set forceSize parameter [Fix] Bugs #3638: Error in cyrus template [Fix] Bugs #3640: Remove a user display an error if we have ppolicy [Fix] Bugs #3641: Token invalid when we use ppolicy [Fix] Bugs #3642: FTPStatus attribute must default set at true [Fix] Bugs #3644: Problem in regex to set release in FAI package list [Fix] Bugs #3645: Parent servers are empty [Fix] Bugs #3648: debconf variables field should take utf8 [Fix] Bugs #3653: Uninitialized string offset: 0 in ldapmanager when importing an ldif [Fix] Bugs #3654: fai plugin empty with one repository on a server trigger an Undefined variable: prefix error [Fix] Bugs #3659: error when copying a system from a departement to the root [Fix] Bugs #3660: error when having two repo in one serveur and one repo in another system [Fix] Bugs #3663: No image for up/down in FAI profil [Fix] Bugs #3666: the dashboard doesnt show the icon associated to the fai objects and are not clickable [Feature] Bugs #3667: the reset password should use the fdPrivateMail from the personnal plugin as alternative address [Fix] Bugs #3669: in service we should not have the get status button if argonaut client tab is not activated [Fix] Bugs #3670: in service we could add a second button to trigger an action on the selected services [Fix] Bugs #3671: the reset password should use the fdPrivateMail from the personal plugin as alternative address [Fix] Bugs #3676: remove example.ldif that is incorrect * FusionDirectory 1.0.8.4 [Fix] Bugs #3530: the roles in the personal/roles miss an main.inc ! [Fix] Bugs #3531: the roles icon is missing in my account * FusionDirectory 1.0.8.3 [Feature] Wishlist #258: PKI infrastructure ? [Fix] Bugs #2613: new icon for debug-help aka diagrams has it is the same as ldapmanager [Fix] Bugs #3330: fai ldap support should be send to the fai project [Fix] Bugs #3368: Missing png for goServer (systems) [Fix] Bugs #3369: «&» should be used in icon paths [Fix] Bugs #3379: The quota tab must have a dependance on the unix tab [Fix] Bugs #3387: When locking an account with no samba password it adds a samba attribute to it [Fix] Bugs #3393: update-from-1.0.6-to-1.0.7 in plugin-systems [Fix] Bugs #3396: remove old gosa spec from core-fd.schema [Fix] Bugs #3398: the field description is not show in the user list [Fix] Bugs #3399: sometime when refreshing the generic page on a user a get template placeholder in login [Fix] Bugs #3400: copyright and license is missing for include/functions_debug.inc [Fix] Bugs #3401: autofs/admin/autofs/main.inc have a gpl v3 licence and its wrong it should be gpl v2 [Fix] Bugs #3402: remove the Authors.rst from the autofs plugin [Fix] Bugs #3403: remove the glp v3 licence from the autofs plugin [Fix] Bugs #3404: remove the sieve dir from the mail plugin [Fix] Bugs #3407: plugins are still using obsolete attribute cellspacing on table tags [Fix] Bugs #3408: update-from-1.0.6-to-1.0.7 in plugin-mail [Fix] Bugs #3415: application listing in the desktop plugin doesnt show the icons on the listing [Feature] Bugs #3416: create a new web-application plugin [Fix] Bugs #3417: the application tab crash in groups when i click on the menu tab [Fix] Bugs #3421: memory exhaustion when supann plugin is installed and i try to use the import csv [Fix] Bugs #3422: when i create a template in the user list i got a missing icon for the new user from template [Fix] Bugs #3423: cleaning the desktop-management plugin [Fix] Bugs #3426: cleaning the desktop-management plugin [Fix] Bugs #3427: in some user case we have a need to be able to add roles for users and have those users get rights for applications. [Fix] Bugs #3430: fusiondirectory-insert-schema man pages is wrong it misses an OPTIONS section [Fix] Bugs #3431: correct all the date and version on the man pages [Fix] Bugs #3433: when importing user and no selection of an field in the csv to be the uid it crash [Fix] Bugs #3435: when importing user via csv and using a template i cannot put %mail% in the template because it reject it as a non valid address [Fix] Bugs #3436: when using apply template after having sucessfully imported user, it wrongly rewrite the users entries [Fix] Bugs #3442: dashboard network tab links to dns servers are wrong [Fix] Bugs #3445: when saving a webapp with the applications plugin it doesnt show unless i click Search in subtrees [Fix] Bugs #3446: when creating a desktop application it doesnt save it [Fix] Bugs #3447: When debug trace level is on, we can’t log in anymore [Feature] Bugs #3450: create a plugin to manage certificates from ejbca [Fix] Bugs #3454: Error in the systems plugin documentation [Fix] Bugs #3455: the supann plugin doesn't want to save the etablissement field [Fix] Bugs #3457: when a create an etablissement with the supann strcuture plugin it create an object that is opened with the entity dialog [Fix] Bugs #3458: making the saving of the samba attributes optional in 1.0.8.x [Fix] Bugs #3459: the nis netgroup is always active [Fix] Bugs #3460: Fusiondirectory access [Fix] Bugs #3461: in the supann plugin the step double select and educational Element [Fix] Bugs #3462: update the official files for the supann plugin [Fix] Bugs #3468: Hook script with ldap array [Fix] Bugs #3470: FusionDirectory in Amazon Linux AMI [Feature] Bugs #3472: create a personal plugin to store all kind of personal data [Fix] Bugs #3476: We should remove the ACL tabs from special tabs [Fix] Bugs #3483: removing leftover of the desktop-management plugin [Fix] Bugs #3484: The user icon does not show up [Fix] Bugs #3485: The user icon does not show up [Fix] Bugs #3490: GPG plugin have some errors [Fix] Bugs #3491: User ldap error are wrongly reported [Fix] Bugs #3493: Department list should be updated after a department creation [Fix] Bugs #3495: foreignKey on acls is handle several times [Fix] Bugs #3496: EJBCA tab for the systems [Fix] Bugs #3497: EJBCA miss some icons [Fix] Bugs #3500: Error in user management [Fix] Bugs #3501: the uid id naming mess should be cleaned up [Fix] Bugs #3502: Argonaut is sometimes called «infastructure service» and sometimes «service infrastructure» [Fix] Bugs #3504: FD should stop using the word generic every where [Fix] Bugs #3505: setup_feedback.tpl is a useless file [Fix] Bugs #3506: we should have in core a tab in user to be able to assing him roles [Fix] Bugs #3508: There is some french in password recovery [Fix] Bugs #3510: Argonaut mirror settings fields have no descriptions [Fix] Bugs #3511: The comment for the ssh public key is mandatory [Fix] Bugs #3512: Application local seems wrong [Fix] Bugs #3514: Various problems in strings [Fix] Bugs #3516: Various problems in strings [Fix] Bugs #3517: remove gouvernement mode from fusiondirectory [Fix] Bugs #3518: remove the french inside the supann plugin [Fix] Bugs #3519: Where we add users in sudo plugin their are invisible [Fix] Bugs #3520: the default entry in the sudo plugin is not editable anymore [Fix] Bugs #3522: the sudo schema from the sudo-ldap package i using old openldap syntax and must be corrected and included [Fix] Bugs #3523: SASL exop and SASL relam can't be saved [Feature] Wishlist #3419: FD should allow plugins to act as menu entries providers [Feature] Wishlist #3429: fusiondirectory-insert-schema should have an option to keep ldifs files [Feature] Wishlist #3441: Inactive tabs could have a different style [Feature] Wishlist #3478: Message d'information concernant les propriétes que le mot de passe doit répondre [Feature] Wishlist #3480: Question : uid : comment ca se passe ? [Feature] Wishlist #3509: Should french translation use «courriel»? * FusionDirectory 1.0.8.2 [Fix] Bugs #1034: remove all dsc form the sources [Feature] Bugs #2619: fusiondirectory-insert-schema should have a -c option to continue on error [Fix] Bugs #3289: error: PHP error: Undefined index: o (/usr/share/fusiondirectory/plugins/personal/supann/class_supannAccount.inc, line 481) [Fix] Bugs #3297: Use relative path for geticon [Fix] Bugs #3303: debugHelp have problems with tabclasses contaning dashes [Feature] Bugs #3304: fusiondirectory-shell should have login and password mandatory [Fix] Bugs #3316: possible xss in login screen [Fix] Bugs #3321: Cannot import csv using a template [Fix] Bugs #3327: primary server in the dns service should not be numeric [Feature] Bugs #3335: adding lighttpd support in the doc [Fix] Bugs #3338: informations are misses in reference tab on user interface [Fix] Bugs #3347: update the doxygen file [Fix] Bugs #3348: add the licence to class_IconTheme.inc [Fix] Bugs #3350: correct the fsf address in licenses [Fix] Bugs #3351: lots of plugins files have no licenses at all [Fix] Bugs #3352: lots of plugins files have no licenses at all [Fix] Bugs #3356: trust selection mode is broken in group and ogroups [Fix] Bugs #3359: add user with templates didn't keep group affectation [Fix] Bugs #3361: unable to create a template with posixGroup [Fix] Bugs #3362: Bad aspect for tabs when a dialog is open [Fix] Bugs #3363: cannont add Etablissement [Fix] Bugs #3364: we can’t cancel manager selection [Fix] Bugs #3365: there is an error in userManagement template base regexp [Fix] Bugs #3372: remove the trust section from the sudo plugin [Fix] Bugs #3373: Default action displayed an error * FusionDirectory 1.0.8.1 [Fix] Bugs #2702: Connection problems to slapd when using TLS [Feature] Bugs #3060: We should try to ease migrations when schema attributes are disappearing [Feature] Bugs #3134: fusiondirectory-insert-schema should allow ldap auth [Fix] Bugs #3189: ldap dump should escape html [Fix] Bugs #3190: html and smarty code should be escaped in read-only mode [Fix] Bugs #3203: remove overlib.js leftover [Fix] Bugs #3204: add a manpage for fusiondirectory-shell [Fix] Bugs #3212: After the upgrade the ACL system looks broken, [Fix] Bugs #3213: First time role installation on a default installation [Fix] Bugs #3216: fusiondirectory-setup should die on ldap search error [Fix] Bugs #3217: Editing the config triggers php errors [Fix] Bugs #3218: Remove the plugin restauration feature [Fix] Bugs #3223: The snapshot base is not proposed [Feature] Wishlist #3224: fusiondirectory-setup may contain help for migrating versions [Fix] Bugs #3227: Hide userPassword on change_password postmodfy hook error message [Fix] Bugs #3230: Snapshot type should be deprecated [Fix] Bugs #3235: When a manager changes its base the managed user attributes are changed [Fix] Bugs #3236: fusiondirectory-setup contains duplicated code for branch creation [Fix] Bugs #3238: Department creation is broken [Feature] Bugs #3239: Use some CSS3 features [Fix] Bugs #3241: Supann entite regexp is wrong [Fix] Bugs #3251: The list of objectTypes is no longer present in class_debugHelp.inc [Fix] Bugs #3256: don't base64 encode sshPublicKey [Feature] Wishlist #3257: Allow options in sshPublicKey [Fix] Wishlist #3260: Apache2.4 does not allow underscores in request header variables anymore [Fix] Wishlist #3261: Improve white-space trimming of mcrypt_decrypt() results [Feature] Wishlist #3262: Make non-default plugin tabs browseable when the plugin is viewed in non-editable mode [Fix] Bugs #3263: Login with expire password work if we modify the URL [Fix] Bugs #3266: We must remove update-from-1.0.6-to-1.0.7 for 1.0.8.1 [Fix] Bugs #3268: fusiondirectory.secrets not included via fusiondirectory-apache.conf [Fix] Bugs #3270: no more "restore snapshot" button when listing system [Fix] Bugs #3271: Rename a server create PHP errors [Fix] Bugs #3274: When we migrate the acls we have an error [Fix] Bugs #3282: adding /en/ files to fusiondirectory to enable automatic update of the transifex po files [Fix] Bugs #3283: adding /en/ files to fusiondirectory to enable automatic update of the transifex po files [Fix] Bugs #3284: we are now allowed to use non-ascii string in gettext translation for en [Fix] Bugs #3287: Undefined variable lang in index.php [Fix] Bugs #3288: ACL does not seem to work 1.0.8 [Fix] Bugs #3290: Cannot run a postCreate Hook by using uid field as parameters [Fix] Bugs #3295 Webservice is missing jsonrpc.php [Fix] Bugs #3297: Use relative path for geticon [Fix] Bugs #3298: Use relative path for geticon * FusionDirectory 1.0.8 [Fix] Bugs #1922: Foreign key should be handled between plugins [Fix] Bugs #2313: Rethink categories and object types [Fix] Bugs #2397: The code should follow code guidelines [Fix] Bugs #2410: The code should follow code guidelines [Fix] Bugs #2412: Reading categories should not be done in acl constructor [Fix] Bugs #2418: All gosaUnitTag related code should be removed [Fix] Bugs #2420: All gosaUnitTag related code should be removed [Fix] Bugs #2425: IPMI interfaces should have a tab for credentials [Fix] Bugs #2432: locking conflict errors [Fix] Bugs #2438: Find out why schemaCheck disable get_objectclasses [Fix] Bugs #2446: TrustsAttribute should be replaced by ServersAttribute [Fix] Bugs #2447: TrustsAttribute should be replaced by ServersAttribute [Fix] Bugs #2483: Rethink categories and object types [Fix] Bugs #2502: divSelectBox should be able to display column titles [Fix] Bugs #2503: argonautLogView should not use divlist [Fix] Bugs #2505: class_tabs should be cleaned [Fix] Bugs #2511: FusionDirectory should provide valid HTML [Fix] Bugs #2512: class_tabs should be cleaned [Fix] Bugs #2530: User GPG keys info are not fetched when opening the tab [Fix] Bugs #2532: applications and mimetypes should be moved to their own plugin [Fix] Bugs #2544: class_config should follow code guidelines [Fix] Bugs #2547: ldap class has unused vars and methods [Fix] Bugs #2548: ldap class has unused vars and methods [Fix] Bugs #2550: divlist should not be used anymore [Fix] Bugs #2549: class certificate should follow code guidelines [Fix] Bugs #2551: divlist should be deleted [Fix] Bugs #2552: class_filter should follow code guidelines [Fix] Bugs #2553: class_msgPool should follow code guidelines [Fix] Bugs #2554: functions_debug should follow guidelines [Fix] Bugs #2555: class_plugin should follow code guidelines [Fix] Bugs #2560: Unused local vars in setupStep_Migrate [Fix] Bugs #2565: Password can't contains < [Fix] Bugs #2566: SnapShotDialog and SnapshotHandler have duplicated code [Fix] Bugs #2567: password-methods should follow code guidelines [Fix] Bugs #2575: Error warning header image should not break line [Feature] Bugs #2581: We should have a plugin for FusionInventory [Fix] Bugs #2596: Departments should be based on simplePlugin [Fix] Bugs #2607: PHP error "Undefined property: mailgroup::$uid" [Fix] Bugs #2609: There is an error in plugin::tpl_parse_mask [Fix] Bugs #2625: We should be able to create link to object edition easily [Fix] Bugs #2626: We should be able to create link to object edition easily [Fix] Bugs #2630: check hooks are not in the documentation [Fix] Bugs #2637: Errors about attrSort redifinition [Fix] Bugs #2638: listing should allow to set the baseMode outside of the xml [Fix] Bugs #2645: objects::ls should be used instead of config::getObjectList [Fix] Bugs #2662: the fusioninventory plugin should have a configuration plugin [Fix] Bugs #2670: Ease ACL handling [Fix] Bugs #2673: fix config get_department documentation [Fix] Bugs #2695: Dashboard should provide a link to the argonaut server [Fix] Bugs #2699: jsonRPCClient should not prevent from using HTTP auth [Fix] Bugs #2702: Connection problems to slapd when using TLS [Fix] Bugs #2709: Migration from Gosa 2.6.11 to fd 1.0.6 fails due to missing attribute [Fix] Bugs #2727: Password posthooks are broken [Fix] Bugs #2728: Locked account and samba [Fix] Bugs #2729: Samba munged attribute ACLs [Fix] Bugs #2731: Fix the 1.0.8 branch work [Fix] Bugs #2732: scope one for filter is ignored [Fix] Bugs #2733: Debconf should be reworked [Fix] Bugs #2736: Create an user and setup an acl as the same time [Fix] Bugs #2738: when creating a user in a template with accent and uppercase modifier [Fix] Bugs #2741: systems plugin needs to be adapted to new listing feature [Fix] Bugs #2744: OPSI plugin contains duplicated code [Fix] Bugs #2758: when installing FusionDirectory for the first time it put an error message about samba sid / rid right on the login page [Fix] Bugs #2784: shell_exec should not be used in the code it is present in class_ldap.inc [Fix] Bugs #2837: Fix filter.tpl files [Fix] Bugs #2838: Fix filter.tpl files [Fix] Bugs #2839: Fix the systemSelect situation [Fix] Bugs #2840: Fix the systemSelect situation [Fix] Bugs #2844: LDAP SIZE LIMIT should be fixed [Fix] Bugs #2846: Load acl category from plManages entry [Fix] Bugs #2848: Duplicated code in setup_stepFinish [Fix] Bugs #2852: rename the board plugin to dashboard [Fix] Bugs #2858: merge master of simple-plugin to fusiondirectory [Fix] Bugs #2867: The code should not fix default values [Fix] Bugs #2869: Fix the 1.0.8 branch work [Fix] Bugs #2884: Ease ACL handling [Fix] Bugs #2896: More plugins should be using simpleManagement [Fix] Bugs #2898: SimpleManagement should handle better the name column [Fix] Bugs #2901: We need to clarify role situation [Fix] Bugs #2904: setup is broken in 1.0.8 when inspecting department [Fix] Bugs #2910: argonaut server service should have an option to not get packages even if a mirror is created in FusionDirectory [Fix] Bugs #2915: in the LDAP connection setup page we should have a button in the authentifiacation section that allow us to test the conbimation of admin dn and admin password [Fix] Bugs #2916: Group creation is broken [Fix] Bugs #2917: Problem with Unix settings "Force UID/GID" and "User must change password on first login" [Fix] Bugs #2918: when creating the fd-admin user in the migration phase i got an error [Fix] Bugs #2921: the select for the systems doesn't work on 1.0.8 [Fix] Bugs #2922: the samba plugin is broken on 1.0.8 [Fix] Bugs #2926: We should use freedesktop Icon Theme Specification [Fix] Bugs #2928: Message dialog should be reworked [Fix] Bugs #2929: LDAP dialog errors should have error style [Fix] Bugs #2930: LDAP dialog errors should have error style [Fix] Bugs #2935: old board plugin still appears on fresh FD 1.0.8 install [Fix] Bugs #2936: some icons are missing I only see the alternate text [Feature] Bugs #2937: We should use freedesktop Icon Theme Specification [Fix] Bugs #2938: typo error in class_DaemonEvent.inc [Fix] Bugs #2946: Samba tslogin is broken [Fix] Bugs #2954: Samba is uselessy using plugin class [Fix] Bugs #2977: fusiondirectory-setup --migrate-acls fails if roles branch does not exists. [Fix] Bugs #2979: FusionDirectory could detect old ACL format [Fix] Bugs #3002: Improve HTML code in order to ease tests [Fix] Bugs #3005: how to fix broken acls [Fix] Bugs #3027: Warning the gidNumber is already in use when we edit a group [Fix] Bugs #3030: Info message when we copy/paste ACL roles in the same place [Fix] Bugs #3035: Cannot redeclare class SubNodesAttribute [Fix] Bugs #3036: Cannot redeclare class SubNodesAttribute [Fix] Bugs #3041: divSelectBox should take an html id in its constructor [Fix] Bugs #3044: Cannot apply an ACL [Fix] Bugs #3045: In acl assignments the base sometimes wrongly show [Fix] Bugs #3051: GUI corruption [Fix] Bugs #3052: Debug output when not specified during setup [Fix] Bugs #3058: GUI corruption [Fix] Bugs #3066: Copy user in an other base create the user in the root base [Fix] Bugs #3067: The copy of an user is not in the group of these user [Fix] Bugs #3072: Password hook not block the password change if you logged in fd-admin. [Fix] Bugs #3074: cleaning the snapshot management [Fix] Bugs #3087: Renommer un groupe [Fix] Bugs #3088: Ajout d'adresse mail alternative vide [Fix] Bugs #3090: We can’t use /tmp for auth token anymore [Fix] Bugs #3099: Role plugin moved to core [Fix] Bugs #3111: systemSelect crash the unix tab [Fix] Bugs #3120: samba domain don't appears ! [Fix] Bugs #3145: when install fusiondirectory-plugins-opsi, php class couldn't be loaded [Fix] Bugs #3148: Argonaut queue is crashing when trying to load FAI logs [Fix] Bugs #3153: When creating an FAI branch, subbranches should be created as well [Fix] Bugs #3156: some icons are missing I only see the alternate text [Fix] Bugs #3157: some icons are missing I only see the alternate text [Fix] Bugs #3163: Icon theme inheritance is broken [Fix] Bugs #3164: Servers service tab causes trouble with pluginfo div [Fix] Bugs #3175: unable to copy / paste opsi software list and opsi profile on fd web interface [Feature] Wishlist #343: we need a webservice for fusiondirectory [Feature] Wishlist #2220: Snapshot URI and user should default to the same one as FD [Feature] Wishlist #2714: Samba Domain general attributes management [Fix] Wishlist #2720: Improving HTML&CSS code [Feature] Wishlist #2734: we need a webservice for fusiondirectory [Fix] Wishlist #2949: add ipmi as a system attribute and not as a new system [Feature] Wishlist #3065: Having some default roles [Feature] Wishlist #3092: Add a visual effect (change header color?) when editing [Fix] simple-plugin - Bugs #2589: Foreign key should be handled between plugins [Feature] simple-plugin - Bugs #2627: We should be able to create link to object edition easily [Fix] simple-plugin - Bugs #2841: Fix the systemSelect situation [Fix] simple-plugin - Bugs #2857: Use old template system with 1.0.8 [Fix] simple-plugin - Bugs #2899: SimpleManagement should handle better the name column [Fix] simple-plugin - Bugs #2931: LDAP dialog errors should have error style [Feature] simple-plugin - Bugs #2932: We should use freedesktop Icon Theme Specification [Fix] simple-plugin - Bugs #3032: Info popup 'Error when saving' must be an error popup [Fix] simple-plugin - Bugs #3105: Syntax problem with PHP 5.3 * FusionDirectory 1.0.7.4 [Fix] Bugs #3089: Clean OPSI import code to reuse it for other imports [Fix] Bugs #3091: ssh public key issue with 1.0.7.3 [Fix] Bugs #3095: the sort is not correct in the ip colum of the system list [Fix] Bugs #3098: the sort is not correct in the ip colum of the system list [Fix] Bugs #3108: adapting the doxyfile to make it run into the jenkins [Fix] Bugs #3109: There is no documentation for encrypt password option [Fix] Bugs #3110: fusiondirectory-setup is unable to use TLS [Feature] Bugs #3137 adding brazilian into FusionDirectory * FusionDirectory 1.0.7.3 [Fix] Bugs #2397: cleaned SnapshotHandler Côme Bernigaud [Fix] Bugs #2457: snapshot password should not be enc/decrypted Côme Bernigaud [Fix] Bugs #2507: import_complete_ldif error handling is broken Côme Bernigaud [Fix] Bugs #2566: SnapShotDialog now using Snapshothandler Côme Bernigaud [Fix] Bugs #2929: LDAP dialog errors should have error style Côme Bernigaud [Fix] Bugs #2931: LDAP dialog errors should have error style Benoit Mortier [Fix] Bugs #2978: the old FAIstate is not stored anymore when you click on system (re)install [Fix] Bugs #2984: remove the entry for the static tftp path in argonaut fuse service [Fix] Bugs #3015: error when trying to create the cronjob for creating debian mirror [Fix] Bugs #3027: Moved gid check to check method [Fix] Bugs #3031: PHP error: Undefined index: use_fon_group [Fix] Bugs #3048: when adding pool entry inside a shared network entry in the dhcp i got a crash [Fix] Bugs #3073: Snapshot (or restore snapshot) not working [Fix] Bugs #3074: Removed snapshot field from setup template Côme Bernigaud * FusionDirectory 1.0.7.2 [Fix] Bugs #2774: wrong size in chrome 29.0.1547.76 [Fix] Bugs #2847: Template bug in memberUid [Fix] Bugs #2862: fusiondirectory-setup --check-ldap is broken [Fix] Bugs #2865: snapshot are broken nearly everywhere [Fix] Bugs #2900: Wrong plIcon in personal/generic and personal/posix [Fix] Bugs #2903: error in FD 1.0.7-1.1 installation [Fix] Bugs #2927: A double border is shown when there are errors at login [Fix] Bugs #2941: PHP error: Undefined index: passwordRecoverySalt [Fix] Bugs #2942: There is some leftover of multiedit support [Fix] Bugs #2947: In configuration screen hooks can't use placeholders [Fix] Bugs #2951: fusiondirectory-insert-schema need a -m option to allow to easyli insert ldif update-schema [Fix] Bugs #2952: Add Swedish language [Fix] Bugs #2955: add arabic language [Fix] Wishlist #2859: Fix the template grouping situation [Fix] Wishlist #2897: Provide a way to show hook execution results to the user via web [Fix] simple-plugin - Bugs #2863: sudo plugin is broken when saving [Fix] Bugs #2861: memory exhaustion when supann plugin is installed [Fix] Bugs #2868: freeradius plugin have erroneous default value for Tunnel medium type [Fix] Bugs #2877: weblink should also be a tab for network device and printer [Fix] Bugs #2934: the ipmi puglin does not work [Fix] Bugs #2939: ldif error in 1.0.6 to 1.0.7 upgrade LDIFs for plugin-systems [Fix] Bugs #2940: PHP error: Undefined property: phoneAccount::$multi_boxes [Fix] Bugs #2945: Bug with InitialProgram (MungedDial) Samba field * FusionDirectory 1.0.7.1 [Fix] Bugs #2830: refresh readme and install for 1.0.8 [Fix] Bugs #2842: migration from 1.0.6 to 1.0.7 (update-core-fd-conf.ldif is broken) [Fix] Bugs #2845: user main.inc is broken [Fix] Bugs #2847: Template bug in memberUid [Fix] Bugs #2849: Upgrade to from squeezy to stable makes fusiondirectory unusable [Fix] Bugs #2850: Creating several templates with same login placeholder won't work * FusionDirectory 1.0.7 [Fix] Bugs #215: /usr/share/fusiondirectory/plugins/addons/goto/deploy-filter.tpl status [Fix] Bugs #1097: ACL menu should show plShortName [Fix] Bugs #1948: DHCP subsection not appearing [Feature] Bugs #2266: fusiondirectory-setup should fetch config in the LDAP [Fix] Bugs #2354: Config backend is not in the documentation [Fix] Bugs #2375: "launching action T_Deployment.reboot" debug message [Fix] Bugs #2384: available roles it's a wrong definition in acl [Feature] Bugs #2389: Configuration windows red form not very explicit [Fix] Bugs #2390: when proofreading doc i found mention of a check hook [Fix] Bugs #2391: Home directory path in samba plugin doesnt have is red star mentionning its mandatory [Fix] Bugs #2393: case of cyrusDeleteMailbox [Fix] Bugs #2402: when connecting the first time with the autofs plugin installed i got [Fix] Bugs #2403: When going to objectgroups with only the core plugins i get Undefined index: SERVERS [Fix] Bugs #2404: FusionDirectory bugreport - when going to applications to create one i get PHP error: Illegal string offset 'ke [Feature] Bugs #2408: Rework menu html code [Feature] Bugs #2409: style.css should be split [Fix] Bugs #2413: Board have some useless lines [Fix] Bugs #2416: posixAccount should use DisplayAttribute [Fix] Bugs #2421: Incorrect syntax for systems-fd schema [Fix] Bugs #2424: Error message when i create an user [Fix] Bugs #2426: removal of errors cache [Fix] Bugs #2429: There are wrong pattern in pod explanations [Fix] Bugs #2430: Migrate class_user to simple-plugin [Fix] Bugs #2433: remove serviceDebianRepository from argonaut client tab [Fix] Bugs #2434: mac should be changed back to non mandatory in system [Fix] Bugs #2435: Some clean is needed in the tpl organization. [Feature] Bugs #2436: style.css should be split [Fix] Bugs #2440: Some clean is needed in the tpl organization. [Fix] Bugs #2442: Action scheduling from deployment queue crashes [Fix] Bugs #2443: Sauvegarde acl [Fix] Bugs #2448: postcreate syntax is wrong in some docs [Fix] Bugs #2449: modification d'un utilisateur [Fix] Bugs #2452: When /dev/random runs out of entropy, it blocks the mcrypt_create_iv function. [Feature] Bugs #2457: migrate fusionddirectory-encrypt-password into fusiondirectory-setup [Fix] Bugs #2463: there is an error in fusiondirectory.conf manpage [Fix] Bugs #2474: Error deleting object from queue [Fix] Bugs #2476: Checking checkbox does not enable fields in setup [Feature] Bugs #2478: Adaptation for Dovecot plugin [Feature] Bugs #2482: We need a default value for ipmiRDN [Fix] Bugs #2484: config directory incorrect for the mail plugin [Fix] Bugs #2486: Incorrect syntax for core-fd-conf schema [Feature] Bugs #2489: Left menu css should be reworked [Fix] Bugs #2490: Board : PHP error "Invalid argument supplied for foreach()" [Fix] Bugs #2493: We need to adapt a few things to last simplePlugin commit [Feature] Bugs #2494: divSelectBox should escape html code from its cells [Feature] Bugs #2498: divSelectBox should escape html code from its cells [Fix] Bugs #2506: ButtonAttribute has been renamed [Fix] Bugs #2507: import_complete_ldif error handling is broken [Fix] Bugs #2508: import_complete_ldif error handling is broken [Feature] Bugs #2510: FusionDirectory should provide valid HTML [Fix] Bugs #2514: remove the meta code from headers.tpl [Fix] Bugs #2515: Allow single quote in givenName [Fix] Bugs #2520: Could not load: 'UserPasswordAttribute' [Fix] Bugs #2523: correct misspelling from fusiondirectory-setup-manpage.patch and fusiondirectory-setup.patch debian patchs in core [Fix] Bugs #2525: Copy paste is broken [Fix] Bugs #2528: php errors in logs [Fix] Bugs #2529: Not able to list objects in repository plugin [Fix] Bugs #2540: It is possible to add a completely blank shell to the shell list in "Configuration" [Fix] Bugs #2542: French translation error [Fix] Bugs #2543: in the mail config backend the translation for the generic method is false [Fix] Bugs #2545: the service postfix doesnt check the postfixMyHostname correctly [Fix] Bugs #2557: White page - PHP error when trying to create a new user with an existing uid on second attempt [Fix] Bugs #2559: Error message are weirdly displayed [Fix] Bugs #2569: cleanup fusiondirectory.pod removing all obsoleted options [Fix] Bugs #2574: when saving a windows workstations the uid is stored twice wrongly [Fix] Bugs #2578: Update packet [Fix] Bugs #2580: Deployment queue - error aborting queued jobs [Fix] ugs #2583: Array to string conversion error when saving DNS [Fix] Bugs #2584: Array to string conversion error when saving DNS [Fix] Bugs #2592: PHP error: Undefined index: rtl [Fix] Bugs #2593: fullwidth is broken for right sections [Fix] Bugs #2611: bug in ldapfilter Illegal string offset 'key' [Fix] Bugs #2612: missing or wrong attribute [Fix] Bugs #2614: all the stars for mandatory fields a re blue instead of red [Fix] Bugs #2615: remove FakeAttribute due to moving it to simple-plugin [Fix] Bugs #2617: fusiondirectory-setup --check-ldap doesnt work if password is chiffred in fusiondirectory.conf [Fix] Bugs #2618: adding a --list-ldap to fusiondirectory-setup [Fix] Bugs #2620: fusiondirectory-insert-schema should die when an error occurs [Fix] Bugs #2630: check hooks are not in the documentation [Fix] Bugs #2631: No (obvious) way to select the pool allocation method [Fix] Bugs #2632: Not possible to add samba attribute du to a bug with sambaLogonHours [Fix] Bugs #2634: Syntax error in systems-fd.schema [Fix] Bugs #2635: Add the admin DN as a dummy member instead of the group DN (when using rfc2307bis) [Fix] Bugs #2636: DNS Zones unusable with bind-sdb [Fix] Bugs #2643: backtrace when trying to create new items with the repository plugin [Fix] Bugs #2646: gpg key listing is wrong in user section [Fix] Bugs #2647: Warning / Error configuration error displayed even on authentication failure [Fix] Bugs #2648: Fusiondirectory first login management [Feature] Bugs #2651: integrating dovecot, gpg, ipmi, repository, sogo, weblink into the stable branch [Fix] Bugs #2652: fusiondirectory-insert-schema fails when not cn=config [Fix] Bugs #2656: the inventory tab should do a lookup on booth mac and ip to show inventory [Fix] Bugs #2658: include class_objects.inc in core [Fix] Bugs #2660: we need an the icon from the fusioninventory project for our fusioninventory plugin [Fix] Bugs #2663: Smarty 3 vs Smarty 2 [Feature] Bugs #2668: now that we have an acl support in the ldapdump fonctionnality it should be moved out of the debug-help plugin and put onto is own plugin [Fix] Bugs #2669: forceSSL in fusiondirectory.conf doesn't work [Fix] Bugs #2672: PHP error about MUST undefined [Fix] Bugs #2674: php error in class_objects.inc with php PHP 5.3.3-7+squeeze16 [Fix] Bugs #2675: Boolean options in sudo are always reset to FALSE [Fix] Bugs #2679: Quota plugin have some leftovers [Fix] Bugs #2680: Invalid PTR record created when you save a system entry [Fix] Bugs #2681: class_acl changes html code depending on browser [Fix] Bugs #2682: Syntax error in core-fd-conf.schema [Fix] Bugs #2683: Compatibility with Smarty 2 [Feature] Bugs #2685: now that we have an acl support in the ldapdump fonctionnality it should be moved out of the debug-help plugin and put onto is own plugin [Fix] Bugs #2687: non-JS fall-backs should be removed [Fix] Bugs #2688: non-JS fall-backs should be removed [Feature] Bugs #2689: adding the fusioninventory plugin to plugins [Fix] Bugs #2691: Not possible to remove login restriction (gosaLoginRestriction) [Fix] Bugs #2694: Error while changing a user password [Fix]Bugs #2697: moving smarty var from variables_common.inc to variables.inc [Fix] Bugs #2698: don't change status of opsi installed package when adding or removing packages to an opsi profile [Fix] Bugs #2700: Empty translated strings should be avoided [Fix] Bugs #2703: the check on template for uid unicity is wrong [Fix] Bugs #2705: in the ldapmanager plugin, the import csv doesnt show my template [Fix] Bugs #2710: in the ldapmanager plugin, it doesnt respect the password encryption method declared in FusionDirectory [Fix] Bugs #2711: the dn is wrong when saving imported user into ldap from ldapmanager [Fix] Bugs #2712: ldapmanager cvs import doesnt create correctly the user default group [Fix] Bugs #2713: there is an error when adding a new acl from the acl plugin [Fix] Bugs #2715: in the acl plugin is don't see the categories in the list [Fix] Bugs #2716: Repositories should be associated to distro/section couples [Fix] Bugs #2717: Repository type should be in the form [Fix] Bugs #2718: multi-valuated settings cause problem when there is only one value [Fix] Bugs #2719: management is wrongly testing ACLs for removal [Fix] Bugs #2721: Password posthooks are broken [Fix] Bugs #2722: objectClass and attributes are duplicated in systems-fd.schema [Fix] Bugs #2723: Default password hash is weak [Fix] Bugs #2726: Doxyfile contains absolute paths [Fix] Bugs #2739: add a space modifier to remove space in template [Fix] Bugs #2740: when the opsi plugin is installed i always have this error even withtout an opsi server configured "Can't find IP for OPSI service" [Fix] Bugs #2742: When an opsi server has not an mac address [Fix] Bugs #2745: PHP error: Undefined index: mainAttr when going to opsi list [Fix] Bugs #2747: the fusiondirectory-setup --install-plugins doesnt install the files contained in the include dir of the plugins [Fix] Bugs #2748: we should remove from fusiondirectory-setup all the old code for systems, asterisk, mail [Fix] Bugs #2749: the apache config provided by the core should not include the line of config for fusiondirectory.secrets [Fix] Bugs #2750: the macro in the part 1/3 of the setup are not right, they show ancien semantics [Fix] Bugs #2751: fusiondirectory-setup --install-plugins doesnt install the config backend of each plugin [Fix] Bugs #2752: fusiondirectory-setup --install-plugins doesnt install the ldap schema of all in the plugin in the contrib dirs when usign the tarballs [Fix] Bugs #2753: when installing FusionDirectory for the first time it put an error message about samba sid / rid right on the login page [Fix] Bugs #2754: Next id hook is wrongly placed [Fix] Bugs #2755: fusiondirectory-insert-schema should remove the ldif after an error occurs [Fix] Bugs #2756: Next id hook should have documentation [Fix] Bugs #2757: since their moving the icon for applications and mimetypes doesnt appers in the menu [Fix] Bugs #2773: Undefined attribute type [Fix] Bugs #2798: remove the old obsolete doc in the netgroups plugin [Fix] Bugs #2819: remove scriptaculous from the source [Fix] Bugs #2821: remove included smarty gettext [Fix] Bugs #2823: remove schema2ldif from the source [Fix] Bugs #2824: move the developpers stuff into a developpers plugin in the plugins [Fix] Bugs #2828: refresh all manpages for 1.0.7 [Fix] Bugs #2829: wrong dir for smarty in fusiondirectory-setup [Fix] Bugs #2830: refresh readme and install for 1.0.7 [Fix] Bugs #2825: move the developpers stuff into a developpers plugin in the plugins [Fix] Wishlist #2339: "board" plugin rename to "dashboard" [Fix] Wishlist #2340: Default value for "encodings" after installation [Fix] Wishlist #2406: Allow filter to have no template [Feature] Wishlist #2431: We should add an easy way of adding css files. [Feature] Wishlist #2546: RTL [Fix] Wishlist #2561: remove mysql-dependencies in asterisk-plugin [Fix] Wishlist #2564: remove mysql-dependencies in asterisk-plugin [Fix] Wishlist #2676: log messages shouldn't be truncated in rsyslog plugin [Feature] Wishlist #2677: Add export feature in rsyslog plugin [Fix] Wishlist #2690: Rework postfixTransportTable * FusionDirectory 1.0.6 [Fix] Bugs #2136: check that on centos fusiondirectory-setup use the correct user for /var/cache/fusiondirectory stuff [Fix] Bugs #2157: Incohérence sur la déclaration du workgroup samba [Fix] Bugs #2304: when i select users i see windows workstations appearing in object groups [Fix] Bugs #2336: kolab2 schema failed insertion [Fix] Bugs #2346: Fusiondirectory 1.0.5 + wheezy + user management [Fix] Bugs #2349: the dsa plugin should allow to select the password encoding method [Fix] Bugs #2350: when i save a mail group i got a not needed gosaMailDelivery mode saved [Fix] Bugs #2351: case of forcePasswordDefaultHash [Feature] Bugs #2352: dsaManagement should use simpleManagement [Feature] Bugs #2355: Severities in the FDstandard codesniffer standard should be set [Fix] Bugs #2356: all checkbox=$multiple_support should be remove from the smarty templates [Fix] Bugs #2357: all checkbox=$multiple_support should be remove from the smarty templates [Fix] Bugs #2361: Login uses simple quotes for translated strings in smarty template [Fix] Bugs #2362: remove the update schema from 1.0.4 for 1.0.6 [Fix] Bugs #2364: remove the update schema from 1.0.4 for 1.0.6 [Fix] Bugs #2365: remove the remaning readme into the plugins [Fix] Bugs #2371: fusiondirectory-insert-schema should look for the right name [Fix] Bugs #2374: the ldapFollowReferrals should be in fusiondirectory.conf.pod as it is a file config option [Fix] Bugs #2377: config directory incorrect for the samba plugin [Feature] simple-plugin - Bugs #2360: simpleManagement should allow to select an other list or filter xml file * FusionDirectory 1.0.5 [Fix] Bugs #216: Missing translation on the index.php file [Fix] Bugs #256: Icone in properties column when listing all itme isn't dynamique [Fix] Bugs #374: in_array_strict in place of in_array in fd core [Fix] Bugs #375: Replaced in_array calls for fd-plugins [Fix] Bugs #378: Sieve vacation start stop times, can be handled by the script itself instead of a cronjob [Fix] Bugs #443: template issues [Fix] Bugs #459: the fusiondirectory.conf.5 manpages should be converted back to pod to have an easy to edit manpage [Fix] Bugs #482: the migrate fonction in the setup shhould be completely rewritten [Feature] Bugs #517: create a plugin to manage puppet node [Fix] Bugs #531: translation of system plugin [Fix] Bugs #555: Cannot see groupOfNames groups [Fix] Bugs #617: bug in winstations [Fix] Bugs #680: the session expire on is not correctly saved [Fix] Bugs #681: the getvlan.pl script need to be cleaned [Fix] Bugs #682: the script getvlan.pl need to read a config file and not have var to be changed inside [Fix] Bugs #684: the save grouphunt doesnt exist :) [Fix] Bugs #690: creating a clean schema for the opsi ldap backend [Fix] Bugs #712: the freeradius plugin should have the same entries as the dialupadmin user interface [Fix] Bugs #717: Variable name consistency should be check and fixed [Feature] Bugs #833: an automount service would be nice [Fix] Bugs #835: FusionDirectory should allow more than one fax, kerberos, cups server [Feature] Bugs #837: The whole configuration system via website was quite neat. [Fix] Bugs #852: Code does not follow FD guidelines [Feature] Bugs #858: FD should have a PHP CodeSniffer standard to check Guidelines respect [Feature] Bugs #868: We need an FD plugin for debconf [Fix] Bugs #927: those services should be renamed to be more in line with the others [Fix] Bugs #965: remove the LC_messages from the locale directory to ease translation and packaging [Fix] Bugs #966: remove the LC_messages from the locale directory to ease translation and packaging [Fix] Bugs #967: the locales should be named around the language name and not all messages.po :/ [Feature] Bugs #968: the locales should be named around the language name and not all messages.po :/ [Feature] Bugs #981: Improve the FusionDirectory API [Feature] Bugs #991: Some plugins should use simplePlugin [Fix] Bugs #1004: the dns and logging services don't have the start/stop/restart button [Fix] Bugs #1006: Wrong name for 0-freeradius.ldif [Fix] Bugs #1007: Missing $cn var in class_freeradiusGroup.inc [Fix] Bugs #1008: freeradius plugin codereview [Fix] Bugs #1013: Code does not follow FD guidelines [Fix] Bugs #1015: update_entries function should be remove from supportDaemon [Feature] Bugs #1026: those services should be renamed to be more in line with the others [Fix] Bugs #1027: Fixed problems with unsaved user pictures, due to caches file sizes. Thanks to 'arodier' (bug 1180 gosa) [Fix] Bugs #1028: gosaLoginRestriction ignores ACL [Fix] Bugs #1029: sieve login does not work if plain login is only available under a layer (gosa bug 1175) [Fix] Bugs #1030: Do not create a group for templates. (from gosa Changeset 21143) [Fix] Bugs #1035: Fixed problems with mail folder retrieval while dot separated account ids were used (gosa rev 21153) [Fix] Bugs #1044: error when adding freeradius group [Fix] Bugs #1045: Move reset handling before object creation, otherwise no new object is created, when _GET['reset'] is set to 1. [Fix] Bugs #1046: Move reset handling before object creation, otherwise no new object is created, when _GET['reset'] is set to 1. [Fix] Bugs #1047: Use faiPackageList instead of faiPackage because thats actually the right objectclass for package lists. [Fix] Bugs #1048: Make repository class only conflict with itself (so that a repository service cannot be added twice) instead of conflicting with goKioskService, [Fix] Bugs #1049: Change button label from "Import" to "Import script" [Fix] Bugs #1050: Fix check for used DNs [Fix] Bugs #1051: Check for invalid names first before trimming name, catching trailing spaces at the end or beginning [Fix] Bugs #1052: Make error message for the case when trying to create a share with special characters more informative. [Fix] Bugs #1053: Disallow '\' and '"' in object group names as they lead to LDAP errors [Fix] Bugs #1054: Use 'Device name' as string in error messages for wrong device name attributes [Fix] Bugs #1055: Add type attribute to CopyPasteVars [Fix] Bugs #1057: Optimize LDAP searchfilter. The LDAP-Performance-Warning after Gosa-Login doesn't appear anymore. [Fix] Bugs #1058: Convert vendorId and productId to lower case. Udev-rules only match if vendorId and productId are lower case. [Fix] Bugs #1059: Make CopyPasteVars complete, Force adding the new object to eventually existing printer objects on Copy/Paste [Fix] Bugs #1060: Allow dashes in share names. [Fix] Bugs #1061: Run code to update printer objects not only when a printer is added or removed, but also in case the group name changes [Fix] Bugs #1062: When moving or renaming devices, check whether they are in use by a user, group or object group [Fix] Bugs #1063: When copying workstations / terminals additional copy some missing attributes (FAIstate, gotoSysStatus, etc.) [Fix] Bugs #1064: Fix problems with removing services after saving service [Fix] Bugs #1065: Fix a bug in filterLDAP::get_list which gets triggered, if the class is used with multiple storage points and the search shall return objects in the search base. [Fix] Bugs #1066: Fix #2186: Fix tooltip for menu categories [Fix] Bugs #1067: Fix #6591: Strip CR from logon scripts [Fix] Bugs #1068: Show description on user's hotplug devices [Fix] Bugs #1070: Only allow [A-Za-z0-9_] in class names [Fix] Bugs #1071: Trim whitespace at the end of template filenames [Fix] Bugs #1072: Trim printer URI when saving object, to avoid problems, when copy-pasting an URL into the URL field [Fix] Bugs #1073: Add logoff scripts to user environment [Feature] Bugs #1074: Add logoff scripts to LDAP schema [Feature] Bugs #1075: Add logoff script to applications [Fix] Bugs #1076: serverService should be reworked [Fix] Bugs #1077: Fix DOS line breaks in scripts [Fix] Bugs #1079: Add support for logoff scripts in multi edit mode [Fix] Bugs #1080: In printerPPDDialog::SelectPPD(), check whether PPD file source and destination are identical and abort copying files over in this case. [Fix] Bugs #1085: Plugins configuration files not stored in /etc [Fix] Bugs #1087: non-functional menu "Action" under IE9 [Fix] Bugs #1088: tabs_server constructor seems wrong [Fix] Bugs #1089: Bad encoding format for supann schema and ldif files [Fix] Bugs #1090: plugin should treat objectClass in a case insensitive way. [Fix] Bugs #1091: Rewrote freeradius [Fix] Bugs #1094: Rewrote nagios to extends simplePlugin [Fix] Bugs #1097: ACL menu should show plShortName [Fix] Bugs #1098: Rewrote pureftpd plugin to extends simplePlugin [Fix] Bugs #1099: Rewrote phpscheduleit plugin to extends simplePlugin [Fix] Bugs #1101: Rewrote pptp plugin to extend simplePlugin [Fix] Bugs #1102: Rewrote squid plugin to extend simplePlugin [Fix] Bugs #1103: Rewrote openstack-compute plugin to extend simplePlugin [Fix] Bugs #1107: migrate the plugin to the simple plugin framework [Fix] Bugs #1108: can we remove the old-plugin dir [Fix] Bugs #1110: Fix wrong sizelimit warning (#8319) in groups [Fix] Bugs #1111: [PATCH] #8280: Decode HTML entities in CSV exporter [Fix] Bugs #1113: [PATCH] #8290: Generic fix for DOS linebreaks [Fix] Bugs #1114: [PATCH] #8609: Fix “Using $this when not in object context” [Fix] Bugs #1119: Rewrote rsyslog plugin to extend simplePlugin [Fix] Bugs #1135: argonautClient should use simplePlugin [Fix] Bugs #1136: Rewrite the rolemanagement plugin with simplePlugin [Fix] Bugs #1137: [PATCH] Fix #7143: In printerPPDDialog::SelectPPD(), check whether PPD file source and destination are identical and abort copying files over in this case. [Fix] Bugs #1138: [PATCH] Reduce code duplication in class_environment - [PATCH] Extend features of user templates (Trac: #6032) [Fix] Bugs #1145: [PATCH] #8449: Fix ACL class for hotplug device selection [Fix] Bugs #1146: PATCH] Add FAI state column. [Fix] Bugs #1147: [PATCH] Forward port revision 13784 [Fix] Bugs #1150: Asterisk plugin should use simplePlugin [Fix] Bugs #1151: All plugins using section templates must be updated [Fix] Bugs #1152: Missing uppercases on menu Labels [Fix] Bugs #1162: Cancel changes dialog box always appears when leaving the Password Recovery screen [Fix] Bugs #1165: Template qui ne prends pas en compte le groupe principal [Fix] Bugs #1166: Disallow usage of an existing FAI profile as name for a FAI class created by copy and paste [Fix] Bugs #1167: Add a new function get_configured_packages and move logic, which gets debconf configuration for all configured packages from LDAP, to this function. [Fix] Bugs #1168: Use FAI::get_all_objects_for_given_base to get the list of FAI classes and limit the scope to the current FAI release. [Fix] Bugs #1169: Move check for used workstations so that the check is executed after adding a workstation instead of complaining on save. [Fix] Bugs #1170: Added special check when copying applications. [Fix] Bugs #1171: Fix wrong mountpoint display and wrong partition type, by setting mountpoint explicit to - (as required for FAI) [Fix] Bugs #1172: Do not check if gosaApplicationFlags changed as it appears to be not neccessary and causes bugs [Fix] Bugs #1177: Rewrote terminal service [Fix] Bugs #1179: problem updating dhcp values [Fix] Bugs #1182: Rewrote sudo plugin to extend simplePlugin [Fix] Bugs #1184: Rewrote virus service [Fix] Bugs #1186: Rewrote imap service [Fix] Bugs #1187: Rewrote ntp service [Fix] Bugs #1188: Rewrote fax service [Fix] Bugs #1201: Rewrote apache plugin to extend simplePlugin [Fix] Bugs #1206: lines 153 and 156 of ogroupManagement seems wrong [Fix] Bugs #1210: Rewrite kolab service with simpleService [Fix] Bugs #1212: Rewrote mail plugin (userTab) [Fix] Bugs #1213: Rewrote mail service [Fix] Bugs #1218: Rewrote spam service, in mail admin [Feature] Bugs #1222: remove the access to the perl code for samba hash generation [Feature] Bugs #1223: New tab system [Fix] Bugs #1231: Rewrote kolab plugin, in connectivity [Fix] Bugs #1233: Small string change in core [Fix] Bugs #1253: Rewrite argonaut service [Fix] Bugs #1255: next button in welcome wizard setup [Fix] Bugs #1262: systems should not be saved with fai class by default [Fix] Bugs #1263: Allow special characters in passwords [Fix] Bugs #1272: check that when changing the name of a workstation, winstations, pc the name is changed inside the objects group [Fix] Bugs #1288: Deleting User [Fix] Bugs #1289: User Template [Fix] Bugs #1290: Problem Memory size [Fix] Bugs #1291: Duplicate entry for windows server in systems when migration to samba domain [Fix] Bugs #1312: The css style for tables should be re-organized [Fix] Bugs #1315: Reoganize menu [Fix] Bugs #1322: boot kernel should not depend on fai [Fix] Bugs #1324: having a mode dropdown selector for type of deployment [Fix] Bugs #1326: Error when creating a new server in ou=servers [Fix] Bugs #1329: adding some kind of configuration management to board [Fix] Bugs #1336: Enhance ogroups tab handling [Fix] Bugs #1338: workstationGeneric should use simplePlugin [Fix] Bugs #1341: termDNS should be renamed [Fix] Bugs #1352: Some tests::is_url should be checked [Fix] Bugs #1353: Functions.inc check uid against 'admin' [Feature] Bugs #1355: style.css should be adapted to have some css about simplePlugin [Fix] Bugs #1366: Missing breakline in setup [Fix] Bugs #1370: the deconf plugin should appears like only one entry in the admin menu [Fix] Bugs #1371: PHP error "No department mapping found for type debconfRDN" [Feature] Bugs #1377: adding debconf to ogroups [Fix] Bugs #1378: set_post should be added to funtions.inc and renamed [Fix] Bugs #1379: htmlencode should be used instead of inexisting set_post [Fix] Bugs #1381: (re)start and stop buttons should not depend on some weird LDAP field [Fix] Bugs #1383: We should test if the class_supportDaemon.inc is available [Fix] Bugs #1384: Apache service should only allow one ScriptAlias [Fix] Bugs #1386: making a debian package for puppet plugin [Fix] Bugs #1387: making puppet plugin conform to plugin directory specification [Fix] Bugs #1389: adding ldif for puppet schema [Fix] Bugs #1406: When argonaut server is configured but not answering, the wait is too long [Fix] Bugs #1407: Edit anyway does not work on Apache vhosts [Fix] Bugs #1408: Board plugin counts are wrong [Fix] Bugs #1419: supportDaemon should follow code GUIDELINES [Fix] Bugs #1425: wrong copyright [Fix] Bugs #1427: (re)start and stop buttons should not depend on some weird LDAP field [Fix] Bugs #1429: Argonaut services should be checked [Fix] Bugs #1432: servtabs and worktabs should be renamed [Fix] Bugs #1434: password recovery documentation [Fix] Bugs #1443: servtabs and worktabs should be renamed [Feature] Bugs #1445: Fusiondirectory configuratin should go into the LDAP [Fix] Bugs #1447: some files miss a copyright header [Fix] Bugs #1457: Some things are wrong in the man of fusiondirectory.conf [Feature] Bugs #1458: Fusiondirectory configuratin should go into the LDAP [Fix] Bugs #1459: timezone should be properly set by main.php [Fix] Bugs #1460: shadow* in acl posix [Feature] Bugs #1461: Setup should write config into the LDAP [Feature] Bugs #1469: Argonaut-fuse should let modules read their own config [Fix] Bugs #1470: sender error in password recovery [Feature] Bugs #1471: workstationGeneric should use simplePlugin [Fix] Bugs #1472: Editing the config appears to break the tab systems [Feature] Bugs #1475: New tab system [Feature] Bugs #1476: suppress incoming and arpnew device [Fix] Bugs #1477: suppress incoming and arpnew device [Fix] Bugs #1478: rsyslog Smarty error [Fix] Bugs #1479: plSection should only be set in plInfo of plugin that must appear in the menu [Feature] Bugs #1480: plSection should only be set in plInfo of plugin that must appear in the menu [Fix] Bugs #1483: syntax error in class_environment [Fix] Bugs #1484: typo in mailAccount [Fix] Bugs #1492: Seg fault error after upgrade to debian package 1.0.4-1 [Fix] Bugs #1493: DHCP dialog issue [Fix] Bugs #1496: Board tabs are broken [Fix] Bugs #1497: Error in service dialog when none chosen [Fix] Bugs #1498: setup seems broken when detecting smbhash libraries [Fix] Bugs #1501: userMainInc is deprecated [Fix] Bugs #1502: config debugLevel is not applying as it should [Fix] Bugs #1503: Double authentication using SSL [Fix] Bugs #1505: setup doesnt store the config in the ldap server [Fix] Bugs #1506: copy/paste should be put to yes into the setup [Fix] Bugs #1507: fusiondirectory-insert-schema should install fusiondirectory-conf.schema [Fix] Bugs #1508: error message when clicking on a printer : Fatal error: Call to a member function getBaseObject() on a non-object [Fix] Bugs #1509: when opening a workstation i got two generic tab, the second is the printer one [Fix] Bugs #1510: ip/mac should be mandatory [Fix] Bugs #1511: when going to groups i got this error [Feature] Bugs #1514: adding aliasRDN default to functions.inc [Fix] Bugs #1515: adding a config for alias to the configuration system [Fix] Bugs #1516: printGeneric have an old plSection [Fix] Bugs #1518: in the step inspect ldap i get those errors [Fix] Bugs #1519: Copy/Paste should be fixed [Fix] Bugs #1520: the alias plugin should support departement [Fix] Bugs #1521: we should remove the code for the certificates management as it old and wrong [Fix] Bugs #1522: you are edting a databse entry removal [Fix] Bugs #1523: Copy/Paste should be fixed [Fix] Bugs #1524: we need pictures in the second collum to say what kind of list this is [Fix] Bugs #1525: a filter on the right to be able to filter by type [Fix] Bugs #1526: fix copyright issues [Fix] Bugs #1527: fix copyright issues [Feature] Bugs #1528: the ldap sizelimit should be in to ldap config backend and used by the software [Fix] Bugs #1529: service ldap should be converted to simple plugin Bugs #1530: there should be an icon for the sympa service in the system list [Feature] Bugs #1531: Trace should be given for each fatal error [Fix] Bugs #1532: System info tab should be deleted [Fix] Bugs #1533: Missing uppercase for the conference item [Fix] Bugs #1535: field of MAC and IP are disabled [Fix] Bugs #1536: fatal error when trying to instyall a new [Fix] Bugs #1538: Board plugin needs both dhcp and dns if systems is installed [Fix] Bugs #1539: fatal error when trying to instyall a new [Fix] Bugs #1540: when modifying an entry it doesnt save it in the right branch [Fix] Bugs #1541: copy paste should work on aliases too [Feature] Bugs #1542: copy paste for user having generic/unix/samba/mail attributes [Fix] Bugs #1545: error in ldif to due bogus convertion [Fix] Bugs #1550: ldapmanager error [Fix] Bugs #1551: entry deletion is broken in management [Fix] Bugs #1553: schema2ldif regexp is wrong [Fix] Bugs #1554: multiple edition should be removed [Feature] Bugs #1556: Connectivity should use the brand new multiPlugin class [Fix] Bugs #1557: argonaut error in restart from interface [Fix] Bugs #1559: edition is not possible in the nova plugin [Fix] Bugs #1562: error in wks opening [Fix] Bugs #1563: multiple edition should be removed [Fix] Bugs #1565: Error in fusiondirectory-conf.schema [Feature] Bugs #1566: separator and plugbottom class should be enhanced [Feature] Bugs #1567: adding dsaRDN default to functions.inc [Fix] Bugs #1568: icon for main menu and listing is missing [Fix] Bugs #1569: renaming /deleting a system -> incorrect ldap changes [Fix] Bugs #1572: hook not useable anymore [Fix] Bugs #1576: paste sould be on the action column on the right after copy [Fix] Bugs #1577: favicon in fusiondirectory/html is wrong [Fix] Bugs #1578: icon for spamassassin is wrong (only a ?) [Fix] Bugs #1579: in the imap service we got checkbox for starting and stop imap and pop services [Fix] Bugs #1580: icon for the antivirus service is wrong its only a ?. [Fix] Bugs #1581: critical error in supann plugin [Fix] Bugs #1582: there is not edit possible [Fix] Bugs #1585: template from Gosda2.6 aren't migrate/ shown correctly ion FD 1.0.5-dev [Fix] Bugs #1586: mail tabs layout is .... not functional [Fix] Bugs #1587: gosaMailDeliveryMode aren't correct flagged [Fix] Bugs #1588: in Mail tabs on a user : if soem field are missing, they are filled by default values [Fix] Bugs #1589: in Mail tabs on a user : some field ared filled by default value but saved anywhere [Fix] Bugs #1590: Terminal tabs should be using simple plugin [Fix] Bugs #1592: OU of supann structure isn't detected [Fix] Bugs #1596: Terminal tabs should be using simple plugin [Fix] Bugs #1597: merging dsa plugin into core plugins [Fix] Bugs #1598: merging alias plugin into core plugins [Fix] Bugs #1599: merging sympa plugin into core plugins [Fix] Bugs #1600: alias, sympa, dsa contains a false string for the deletion of objects [Fix] Bugs #1602: Login must be mandatory for user templates too [Fix] Bugs #1603: in Mail user tab : Spam section [Fix] Bugs #1604: in Mail user tab : title of label gosaMailForwardingAddress is correct [Fix] Bugs #1605: space caracters isn't supported in name of alias [Fix] Bugs #1606: in FD config addons nothing appears [Fix] Bugs #1609: Installer: interface for chosing LDAP Admin account has bug [Fix] Bugs #1610: even with the samba plugin installed it doesnt take the default for samba-sid / samba-rid [Fix] Bugs #1611: Samba hash hook should be removed from the config backend plugin of samba [Fix] Bugs #1615: BootKernelAttribute should not be in faiStartup [Fix] Bugs #1617: Upload pictures error php5-imagick [Fix] Bugs #1618: Main menu message should be deleted [Fix] Bugs #1620: mailAccount is messing with save if we don't visit the tab [Fix] Bugs #1621: we need a mailmethod that only store data into the ldap without connection to a server [Fix] Bugs #1622: samba-sid and samba-ri in samba config backend should have default values [Fix] Bugs #1623: The css style for tables should be re-organized [Feature] Bugs #1626: posixAccount should use simplePlugin [Fix] Bugs #1627: remove all the ldif from the plugins [Fix] Bugs #1628: on a server with ntp and ldap the screen of server generic is broken [Fix] Bugs #1629: the fai summary tab say plugin is not activated [Fix] Bugs #1632: image path bug in smarty template [Fix] Bugs #1633: system deployement should be preplaced by system queue or something more explicit [Fix] Bugs #1634: in the argonaut server service timeout the field timeout should be at 10 by default [Fix] Bugs #1635: inclusion of a patch from the limux code use in_array_strict that was added to gosa 2.7 it should be replaced by in_array or equivalent [Fix] Bugs #1636: Same UID in differents LDAP branches - Issues with FD [Fix] Bugs #1637: in fusionDirectory configuration screen ( conf store in LDAP) [Fix] Bugs #1638: in Mail plugin [Fix] Bugs #1639: UserGroupsAttribute should go into simple-plugin [Fix] Bugs #1642: __set and __get should be used to access attributes directly [Fix] Bugs #1644: unable to reload DNS zone from fusionDirectory interface [Fix] Bugs #1645: when creating a user and adding unix properties i got this error [Fix] Bugs #1646: puppetNode have wrong setting in plInfo/plSection [Fix] Bugs #1647: the fai summary tab say plugin is not activated [Fix] Bugs #1648: FusionDirectory bugreport - copy paste of a user with generic / posix / samba [Fix] Bugs #1649: when i copy a group it doesnt generate a new guid [Fix] Bugs #1650: Undefined property: sambaAccount::$multiple_support_active [Fix] Bugs #1651: when creating a user with a samba account : Cannot convert primary group to samba group: group cannot be identified! [Fix] Bugs #1652: if i don't save in the config backend the samba attribute he put garbadge in samba sid [Fix] Bugs #1653: FusionDirectory bugreport - error when generation group for samba from unix [Fix] Bugs #1655: when the debconf plugin is installed but not activate in a system i get Error: Invalid syntax - objectClass: debconfStartup [Fix] Bugs #1656: when the debconf plugin is installed but not activate in a system i get Error: Invalid syntax - objectClass: debconfStartup [Fix] Bugs #1657: Quota plugin template have a space at the wrong place [Fix] Bugs #1660: Fatal error: Call to a member function cd() on a non-object in sambaAccount [Fix] Bugs #1661: Sections should not be used for anything but display [Fix] Bugs #1662: Sections should not be used for anything but display [Feature] Bugs #1664: rename the imap service to cyrusService [Fix] Bugs #1666: for the generic basicMail method we need a mailService [Fix] Bugs #1667: the cyrus mail method and service should be moved in his own plugin [Fix] Bugs #1670: serviceMail should be renomed servicePostfix as its about postfix stuff only [Fix] Bugs #1671: with the latest change for the mailMethod i can no longer log into Fusiondirectory [Fix] Bugs #1672: when copying a user it doesnt generate a new uidnumber and guidnumber [Fix] Bugs #1674: error in sclaix plugin when generating the locales [Fix] Bugs #1675: error in squiq plugin when generating the locales [Fix] Bugs #1676: You are not allowed to view the fai summary. [Fix] Bugs #1678: when creating a new group : PHP error: Undefined index: SAMBA [Fix] Bugs #1679: when creating a new server : Indirect modification of overloaded property serverGeneric::$cn [Fix] Bugs #1680: when creating a fai profile PHP error: Undefined variable: name [Fix] Bugs #1681: when creating an application : PHP error: Undefined property: application::$gotoLogoffScript [Fix] Bugs #1682: when creatin a samba user with the sid inside the ldap PHP error: Undefined variable: sambaSID [Fix] Bugs #1683: the icon used in user list for samba come from the system plugin [Fix] Bugs #1684: the icon used in object group list for samba user come from the system plugin [Feature] Bugs #1685: plDepends should be used to handle tab dependency [Fix] Bugs #1686: SSH should be using simplePlugin [Fix] Bugs #1687: the warning that tell if the session is encrypted or not doesnt show up on the login screen [Fix] Bugs #1688: looking for old samba code and classes inside fusiondirectory core [Fix] Bugs #1689: Undefined mailMethod should be renamed [Fix] Bugs #1691: on the main page with the cyrus plugin installed PHP error: Missing argument 4 for IntAttribute::__construct(), called in [Feature] Bugs #1692: serviceMail should be renomed servicePostfix as its about postfix stuff only [Fix] Bugs #1693: when using the fai summary tab PHP error "Undefined index: FAIclass" [Fix] Bugs #1694: in the apache plugin i have a back button but no save button on the list of virtual hosts [Fix] Bugs #1695: Missing label in buttons [Fix] Bugs #1697: look for all unecessary tpl in the plugins [Fix] Bugs #1699: plDepends should be used to handle tab dependency [Fix] Bugs #1701: Migrate repository service to simplePlugin [Fix] Bugs #1702: Clean up the DaemonEvent mess [Fix] Bugs #1703: Clean up the DaemonEvent mess [Feature] Bugs #1704: Migrate repository service to simplePlugin [Fix] Bugs #1705: remove gosa leftover in the fusiondirectory.conf [Fix] Bugs #1708: Admin handling in fusiondirectory-setup seems wrong [Fix] Bugs #1712: look for all unecessary tpl in the plugins [Fix] Bugs #1713: when ssh plugin is installed i got a bug when click on ssh in the my account [Fix] Bugs #1714: duplicate arrtribute in the config ldap backend for mail [Fix] Bugs #1715: sambaAccount shoud be using simplePlugin [Fix] Bugs #1716: duplicate ip with different mac in same dhcp section [Fix] Bugs #1717: Recovery password not working in tls [Feature] Bugs #1723: CodeSniffer error : 'return;' is not allowed [Feature] Bugs #1724: CodeSniffer error : do while is triggerring errors [Fix] Bugs #1725: the management of the windows workstations in the samba plugin should be migrated to simple plugin [Fix] Bugs #1726: renaming dpts -> ldap inconsistencies [Feature] Bugs #1727: the management of the windows workstations in the samba plugin should be migrated to simple plugin [Fix] Bugs #1728: fai_repository.tpl must be undeleted [Fix] Bugs #1729: Share service should be using simpleService [Fix] Bugs #1730: winstation network info are not saved [Fix] Bugs #1732: DHCP reservations issue [Fix] Bugs #1733: serverService should not use a plugin to display services list [Fix] Bugs #1734: serverService should not use a plugin to display services list [Fix] Bugs #1735: Applications plugin should be using simplePlugin [Fix] Bugs #1736: error when going to the generic in my account PHP error "Undefined property: user::$cert_dialog" [Fix] Bugs #1741: the postfix class and attributes should be moved from the goserver schema to a postfix schema [Fix] Bugs #1742: we should put all schema in all plugin into contrib/openldap to be standard [Fix] Bugs #1743: User image code does not do what it should [Fix] Bugs #1744: User password is broken [Fix] Bugs #1747: serverService should not use a plugin to display services list [Fix] Bugs #1748: Systems plugin needs a configuration plugin [Fix] Bugs #1749: error modifiate alias [Fix] Bugs #1750: unable to create alias redirect [Fix] Bugs #1751: error when modify a user [Fix] Bugs #1752: error when creating a user [Fix] Bugs #1753: when creating a user, template aren't taken correctly [Fix] Bugs #1756: posixAccount does not return error messages [Fix] Bugs #1762: Plugins configuration files not stored in /etc [Fix] Bugs #1766: ip/mac not mandatory in the case of mobile phone [Fix] Bugs #1767: they should be a default domain if none is present in the ldap tree [Fix] Bugs #1763: duplicate entries in ldap schema postfix attribute [Fix] Bugs #1769: fusiondirectory-insert-schema should remove the ldif created after inserting them [Fix] Bugs #1770: status in unix tab is always expired [Fix] Bugs #1771: the ssh plugin doesnt have an icon for the my account menu [Fix] Bugs #1772: Plugins configuration files not stored in /etc [Fix] Bugs #1773: remove all the xxxStatus from the goserver.schema [Fix] Bugs #1774: there is not glpi plugin anymore but attributes are still in the goserver.schema [Fix] Bugs #1775: remove all the xxxStatus from the goserver.schema [Fix] Bugs #1776: remove the kiosk service from the system plugin [Fix] Bugs #1778: unable to see all supannStructures [Fix] Bugs #1779: when creating a user, template aren't taken correctly [Fix] Bugs #1780: remove old kerberos attribute from the schema [Feature] Bugs #1781: review all the schema to have lighter basic schema for core fonctionnalities [Fix] Bugs #1782: remove the profiles and resolution changing from user/environment [Fix] Bugs #1783: remove the profiles and resolution changing from group/environment [Fix] Bugs #1786: remove the unused gosaLogServer from the goserver.schema [Feature] Bugs #1787: move to gofon.schema to asterisk plugin [Fix] Bugs #1788: move to gofon.schema to asterisk plugin [Feature] Bugs #1789: move to gofax.schema to fax plugin [Fix] Bugs #1790: move to gofax.schema to fax plugin [Feature] Bugs #1791: move to goto-mime.schema to system plugin [Fix] Bugs #1792: move to goto-mime.schema to system plugin [Fix] Bugs #1793: move to goserver.schema goto.schema gosystem.schema to system plugin [Fix] Bugs #1794: move to goserver.schema goto.schema gosystem.schema to system plugin [Fix] Bugs #1801: move all sql files inside contrib/sql [Fix] Bugs #1802: rename gofon.sql to asteriskcdrdb.sql [Fix] Bugs #1808: moving proxy attributes from core schema to proxy-fd.schema [Fix] Bugs #1805: moving mail attributes and objectclass into the mail-fd.schema [Fix] Bugs #1806: moving mail attributes and objectclass into the mail-fd.schema [Fix] Bugs #1807: moving proxy attributes from core schema to proxy-fd.schema [Fix] Bugs #1809: remove obsolete attribute from gosa-samba3.schema [Fix] Bugs #1810: moving the attributes from the core schema to the systems schema [Fix] Bugs #1811: moving the attributes from the core schema to the systems schema [Fix] Bugs #1812: moving intranet attributes from core to the intranet plugin [Feature] Bugs #1816: remove from fusiondirectory-schema all the schema that are now transfered into there plugins [Fix] Bugs #1817: rename update from-1.0.3 to update-from-1.0.3-to-1.0.4 [Fix] Bugs #1818: moving the update from update-from-1.0.3 to the plugins now that the schema have been moved [Fix] Bugs #1819: moving the update from update-from-1.0.3 to the plugins now that the schema have been moved [Fix] Bugs #1820: rename update from-1.0.3 to update-from-1.0.3-to-1.0.4 [Fix] Bugs #1825: '/var/cache/fusiondirectory/systems//encodings" didn't exists [Fix] Bugs #1826: Application should use FileTextAreaAttribute [Fix] Bugs #1827: Date handling must be checked [Fix] Bugs #1830: enhancing the ldap service [Fix] Bugs #1836: rename fusiondirectory-conf.schema to core-fd-conf.schema [Fix] Bugs #1837: rename recovery.schema to recovery-fd.schema [Fix] Bugs #1838: change the name of fusiondirectory-conf.schema and recovery.schema inside fusiondirectory-insert-schema [Fix] Bugs #1844: moving the sieve*.txt scripts into the cyrus plugin [Fix] Bugs #1847: syntax error, unexpected ')' in asterisk plugin [Fix] Bugs #1849: when trying to add virtualhost apache every fielad are in read only [Fix] Bugs #1850: We need an icon for mobile phones [Fix] Bugs #1851: Systems filter checkbox are always there [Fix] Bugs #1852: remove the fonction to change password for systems [Fix] Bugs #1853: remove the vacation dir from the mail plugin [Fix] Bugs #1856: check all the plugin for ("") in the code [Fix] Bugs #1857: check all the plugin for ("") in the code [Fix] Bugs #1858: SUPANN structures should use simplePlugin [Fix] Bugs #1859: error when saving a template [Fix] Bugs #1860: Cleaning all the schema in the system plugin [Fix] Bugs #1862: can't add a mobiel device when all field are filled [Fix] Bugs #1863: schema for storing OS of mobile phone autorize only number [Fix] Bugs #1864: rename gofon.schema to asterisk-fd.schema [Fix] Bugs #1866: rename gofax.schema to fax-fd.schema [Fix] Bugs #1868: rename argonaut.schema to argonaut-fd.schema [Fix] Bugs #1870: rename dhcp.schema to dhcp-fd.schema [Fix] Bugs #1872: rename dsa-fd.schema to dsa-fd-conf.schema [Fix] Bugs #1874: splitting the mail-f.schema into mail-fd.schema and mail-fd-conf.schema [Fix] Bugs #1878: rename the fd-samba-conf.schema to samba-fd-conf.schema [Fix] Bugs #1880: rename the supann-fd.schema to supann-fd-conf.schema [Fix] Bugs #1881: splitting the alias-fd.schema into alias-fd.schema and alias-fd-conf.schema [Fix] Bugs #1883: DNS is_this_account does not work [Fix] Bugs #1889: as we changed the way some mail flags where used, we have to check all mail methods for this [Fix] Bugs #1891: removing the the objectclasses now in each plugin from the schema check in functions.inc [Fix] Bugs #1892: rename gosaLogDB into goLogDB [Fix] Bugs #1893: remove gotoLastUser from schema and systems filter [Fix] Bugs #1894: quota plugin should use simplePlugin [Fix] Bugs #1897: erro whane loading quota plugin [Fix] Bugs #1899: divSelectBox should use the new style organisation [Fix] Bugs #1901: User image is altered by editing and saving [Fix] Bugs #1902: link to images is wrong in the asterisk plugin [Fix] Bugs #1903: link to images is wrong in the fax plugin [Fix] Bugs #1905: SupAnn should use simplePlugin [Fix] Bugs #1908: Using preg_match in CompositeAttribute [Fix] Bugs #1907: Using preg_match in CompositeAttribute [Fix] Bugs #1909: removing quota and share from the fusiondirectory.conf [Fix] Bugs #1910: move the supann file back to /etc/fusiondirectory/supann [Fix] Bugs #1914: Opsi client tab (management) modeled after the argonaut client tab [Fix] Bugs #1917: creating an opsi service [Fix] Bugs #1921: check_services in setupStep_Migrate should check new LDAP service [Fix] Bugs #1923: faiStartup needs its mask redone [Fix] Bugs #1924: systems-fd.schema should not depend of asterisk-fd.schema [Fix] Bugs #1925: Cyrus connect bug? [Fix] Bugs #1926: rename goFonHardware attribute to goFonPhone because goFonHardware is an ObjectClass [Fix] Bugs #1927: verify the description into the schema there is lot of copy paste [Fix] Bugs #1928: verify the description into the schema there is lot of copy paste [Fix] Bugs #1929: adapt the INSTALL file to include setup of the argonaut include dirs [Feature] Bugs #1930: We should be able of hiding debug [Fix] Bugs #1932: objectGroup don"t save when i click on inherited [Fix] Bugs #1934: verify the description into the schema there is lot of copy paste [Fix] Bugs #1935: correct the contributed slapd.conf to use the correct schema [Feature] Bugs #1936: move the gosaDefaultPrinter from core schema to system.schema [Fix] Bugs #1937: move the gosaDefaultPrinter from core schema to system.schema [Fix] Bugs #1938: acl should be renomed cyrusAcl and should be moved to the cyrus-fd.schema [Fix] Bugs #1941: sambaAcctFlags saving seems wrong [Fix] Bugs #1944: error in quota plugin when generating the locales [Fix] Bugs #1945: error in samba plugin when generating the locales [Fix] Bugs #1946: french language in the supann plugin [Fix] Bugs #1947: duplicate user tabs [Fix] Bugs #1950: The system does not use the passwordDefaultHash for new users [Fix] Bugs #1952: error in supann plugin when generating the locales [Fix] Bugs #1953: locale is broken for fusiondirectory-core [Feature] Bugs #1956: locale .po file are no longer in in locale/ca/LC_MESSAGES/messages.po [Fix] Bugs #1960: OPSI module should be able to handle global import [Fix] Bugs #1961: when removing a windows pc, it should be removed from opsi if activated [Fix] Bugs #1965: gotomasses needs an update [Fix] Bugs #1969: jsonRPCClient.php should show JSON decode errors [Fix] Bugs #1970: Encodings config field mask needs to be fixed [Fix] Bugs #1971: translation defaut nisGroup tabs name [Fix] Bugs #1972: We should be able of setting the profile in the OPSI client tab [Fix] Bugs #1974: Supann tabs appears twice [Fix] Bugs #1976: missing objectClass fdOpsiConf [Fix] Bugs #1977: SUPANN can't creat an etablissement [Feature] Bugs #1980: removing the message.po file form the locale dir [Fix] Bugs #1990: There are some mistakes in supportDaemon and DaemonEvent code [Fix] Bugs #1991: remove non needed anymore directories creation from fusiondirectory-setup [Fix] Bugs #1993: Deployment queue should show winstation as valid targets [Feature] Bugs #1994: Debug output should be displayed by default [Fix] Bugs #1995: warning icon in "People and group storage" configuration [Fix] Bugs #1997: update LDAP number rules page in wiki [Fix] Bugs #1999: OPSI server service url could have a default value [Fix] Bugs #2002: inherited attribute is missing [Fix] Bugs #2003: modify opsi-import [Fix] Bugs #2012: the code and entry on the menu have to be removed for rescan [Fix] Bugs #2013: the action on all the system should be install in place of reinstall in the web interface [Fix] Bugs #2014: the action on all the system should have reinstall in the action dropdown [Fix] Bugs #2015: when a system is locked there sould be no order send to him [Fix] Bugs #2018: OPSI profile should allow to select the requested action [Fix] Bugs #2019: OPSI profile should allow to set product properties [Fix] Bugs #2021: removing goComment from server service, its of no use there [Fix] Bugs #2024: duplicate objectClass: "1.3.6.1.4.1.38414.20.2.3" in opsi-fd schema [Fix] Bugs #2025: when adding an apsi profiles I get structural error [Fix] Bugs #2026: host created in opsi but profil isn't applied [Fix] Bugs #2027: Some plugin could use simpleTabs [Fix] Bugs #2028: bad description in opsi-fd.schema [Fix] Bugs #2030: board plugin is broken [Fix] Bugs #2031: opsiClient should be object group compliant [Fix] Bugs #2033: the creation of hooks, template etc ... doesnt work anymore in fai plugin [Fix] Bugs #2034: when removing a profile i doesnt show the name of the profile between () [Fix] Bugs #2035: when copy/pasting a disk in fai i got this error [Fix] Bugs #2037: icons of management system [Feature] Bugs #2038: FusionDirectory could have a tutorial game to discover the features [Fix] Bugs #2039: Uid should be filled in user template if it's not [Fix] Bugs #2042: template editing trigger a PHP error [Fix] Bugs #2040: merge autofs into core plugins [Fix] Bugs #2043: merge freeradius into fusiondirectory-plugins [Fix] Bugs #2047: merge debconf into fusiondirectory-plugins [Fix] Bugs #2052: merge game into fusiondirectory-plugins [Fix] Bugs #2053: merge puppet into fusiondirectory-plugins [Fix] Bugs #2055: tab doesn't appear [Fix] Bugs #2057: cleanup the freeradius plugin [Feature] Bugs #2061: uid generator and uid in template [Fix] Bugs #2062: the template don't escape the html inside itself [Fix] Bugs #2063: for opsi we need to manage list of products [Fix] Bugs #2064: the name of the product is not right in opsi products selections in the profile [Fix] Bugs #2066: uidNumber not update when create user by using a template [Fix] Bugs #2071: reorganize the admin and addons menu [Fix] Bugs #2074: move out kolab, proxy, ftp from connectivity [Fix] Bugs #2075: cleaning of connectivity [Feature] Bugs #2076: make user properties dynamical [Fix] Bugs #2077: the icon for the nagios plugin is wrong [Fix] Bugs #2094: remove fusiondirectory.mkntpassword from fusiondirectory manpages [Fix] Bugs #2095: FAQ should be rewritten or removed [Fix] Bugs #2096: INSTALL file should be updated from the documentation source into the fusiondirectory package [Fix] Bugs #2097: README.cnconfig should be updated [Fix] Bugs #2098: the fusiondirectory-encrypt-password file contains wrong example for the apache config [Fix] Bugs #2099: remove GOsa_MultiSelectHeader.ihtml from fusiondirectory [Fix] Bugs #2100: add missing authors from bug reports and patches [Fix] Bugs #2101: update the copyright in all plugins [Fix] Bugs #2102: update the copyright in all plugins [Fix] Bugs #2103: The order of acl constructor attributes is wrong in some places [Fix] Bugs #2104: The order of acl constructor attributes is wrong in some places [Fix] Bugs #2106: redeclaration of mail attribute in zarafa/class_groupMail.inc [Fix] Bugs #2107: when I remove FAI options in dFD I geta n Objetc class violations [Fix] Bugs #2108: missing main.inc in personal dir of several plugin create error in web interface [Fix] Bugs #2110: we need an icon for squid and pureftpd for the main menu [Fix] Bugs #2114: check that the freeradius plugin is working correctly [Fix] Bugs #2117: we need icons for squid, phpscheduleit, pureftpd, zarafa for the main menu [Fix] Bugs #2124: manpage of fusiondirectory.conf must be updated [Fix] Bugs #2125: sudo should not be in the fusiondirectory.conf [Feature] Bugs #2127: config should store more information about objectTypes [Fix] Bugs #2128: nagios-schema [Fix] Bugs #2129: ldapmanager tabs [Fix] Bugs #2131: Check foreach code [Fix] Bugs #2132: debconf icon [Fix] Bugs #2134: New users not appearing [Fix] Bugs #2135: PHP error: Indirect modification of overloaded property mailAccount::$mail has no effect [Fix] Bugs #2138: PHP Fatal error: Call to undefined function html_trace() in /var/www/html/fusiondirectory/include/php_setup.inc on line 138 [Fix] Bugs #2139: Check foreach code [Fix] Bugs #2140: the template don't escape the html inside itself [Fix] Bugs #2141: Can't delete Samba settings from user object [Fix] Bugs #2142: gosaMailAccount is used in core but is not in core.schema Bugs #2143: Cyrus service config dialog confusing [Feature] Bugs #2153: opsiClient should be object group compliant [Fix] Bugs #2155: ACL not effective on group [Fix] Bugs #2156: Problème de lock sur fiches utilisateurs [Feature] Bugs #2158: Duplicate objectType error message could be more detailed [Feature] Bugs #2159: fusiondirectory-setup should have an option to select the ldap server to which it should connect [Fix] Bugs #2160: unknown attributes since new core installation [Fix] Bugs #2161: User class should check roleGeneric is available [Fix] Bugs #2162: error in acl's role creation [Feature] Bugs #2164: We should be able of clicking anywhere on lleftmenu items [Fix] Bugs #2165: when copy/pasting a disk in fai i got this error [Fix] Bugs #2167: sambaPwdMustChange is obsolete [Fix] Bugs #2168: rewrote the main inc when plugin have been migrated to simple plugin [Fix] Bugs #2169: Snaphots should be tested [Fix] Bugs #2170: sambaPwdCanChange is obsolete [Fix] Bugs #2172: size of windows for managing properties of opsi products [Fix] Bugs #2173: make user properties dynamical [Fix] Bugs #2175: Fatal error: Call to undefined method netgroupAccount::mainInc() [Fix] Bugs #2177: clean up and create icon in big and small and mini format [Fix] Bugs #2181: bug in users listing related to php_setup.inc [Fix] Bugs #2182: size of windows for managing properties of opsi products [Fix] Bugs #2184: netgroup plugin misses config in ldap backend [Fix] Bugs #2185: the rest of the netgroup plugin should be migrated to simple plugin [Fix] Bugs #2187: cleaning up the mail goup tab [Fix] Bugs #2188: moving the status_* icons to the system plugin [Fix] Bugs #2189: moving the status_* icons to the system plugin [Fix] Bugs #2190: standardizing the icon and mini icons naming [Fix] Bugs #2192: rfc2307bis entry error in configuration [Fix] Bugs #2193: standardizing the icon and mini icons naming [Fix] Bugs #2196: icons for ssh plugin [Fix] Bugs #2198: second parameter missing in the freeradius/personnal/main.inc [Fix] Bugs #2199: when going to group with mail tab activated : PHP error "Undefined index: plShortName" [Fix] Bugs #2202: removing the scalix plugin [Fix] Bugs #2204: Cyrus mailboxes not being created [Fix] Bugs #2205: Error installing rsyslog plugin [Fix] Bugs #2208: sieve setting are saved but not showed back when reopng it [Fix] Bugs #2209: ACL not working for field in User [Fix] Bugs #2210: apache plugin error with server alias check should be implemented to validate data entry [Fix] Bugs #2211: script alias in apache plugin generate errors [Fix] Bugs #2215: Message about MDB2 check not precise enough on the wizard [Feature] Bugs #2216: removal of option to disable sambaLMPassword [Fix] Bugs #2218: ssh plugin - acl not working for ssh public key [Feature] Bugs #2219: reorganize the admin and addons menu [Fix] Bugs #2221: Snaphots should be tested [Fix] Bugs #2222: Can't delete fai tab [Fix] Bugs #2223: DNS service is triggering PHP errors [Fix] Bugs #2225: cannot insert mail-fd.schema attribut is missing [Fix] Bugs #2226: php syntax error [Fix] Bugs #2228: fai branch not created when adding a repository [Fix] Bugs #2232: ldap2repository doesn't exist, but is part of config dialog [Fix] Bugs #2233: error in user with terminal server in samba account activated [Fix] Bugs #2234: reorganize the user tab [Fix] Bugs #2241: Missing base selector in sympaAlias [Fix] Bugs #2242: localization don't work [Fix] Bugs #2243: wrong title for label fdDSARDN [Fix] Bugs #2244: no title for some labels in user mail tab [Fix] Bugs #2246: wrong title for label fdCyrusUseSlashes [Fix] Bugs #2249: required field not editable in postfix service [Fix] Bugs #2250: syntax error in mail plugin [Fix] Bugs #2252: when saving global configuration : "Invalid syntax - objectClass: sambaPluginConf (objectClass: value #1 invalid per syntax" [Fix] Bugs #2255: wrong title and label for radiusFramedIPAddress [Fix] Bugs #2256: date picker for radiusExpiration [Fix] Bugs #2257: the autofs-fd.schema should be renamed to autofs-fd-conf.schema [Fix] Bugs #2259: remove dorkboy from freeradius plugin [Fix] Bugs #2260: remove readme dans free radius [Fix] Bugs #2261: Error when reading config should tell users to run fusiondirectory-setup --check-config [Fix] Bugs #2262: Fatal error: cannot instantiate class 'String' - try running 'fusiondirectory-setup --update-cache' to fix this ? [Fix] Bugs #2263: user and template icons broken in group members add [Fix] Bugs #2265: removal of option to disable sambaLMPassword [Fix] Bugs #2267: No icon in ldapmanager export/import [Fix] Bugs #2268: no sudoers ou created after sudo-plugin installation [Fix] Bugs #2269: new icons for sudo-plugin [Fix] Bugs #2270: Lots of errors and problems in the sudo plugin [Fix] Bugs #2275: user miniicon don't appear in sudo-plugin [Fix] Bugs #2276: Argonaut actions are called twice [Fix] Bugs #2277: rename the service starting with go ot the server name [Fix] Bugs #2278: rename all the goto leftover to argonaut [Fix] Bugs #2279: Invalid syntax - objectClass: lconfContact [Fix] Bugs #2280: Error: No such object in netgroups plugin [Fix] Bugs #2281: Fatal error: cannot instantiate class 'gotoLogView' - try running 'fusiondirectory-setup --update-cache' to fix this [Fix] Bugs #2284: we need a corrected version of the netways.schema because only one structural classe is allowed [Fix] Bugs #2285: OPSI Admin should be renamed [Fix] Bugs #2286: error when removing nis netgroup entry [Fix] Bugs #2287: user miniicon don't appear in sudo-plugin [Fix] Bugs #2289: simpleManagement does not require remove.tpl anymore [Fix] Bugs #2290: OPSI should have icons for OPSI profile, software list and ondemand list [Fix] Bugs #2291: fai tab doesnt read the repository and release even if there is one in the ldap [Fix] Bugs #2292: error in opsi import [Fix] Bugs #2293: error when removing nis netgroup entry [Fix] Bugs #2294: no snapshot fonctionality on some plugins [Fix] Bugs #2295: in the hotplug plugin the description doesnt appear in the list [Fix] Bugs #2296: there is no cancel button in the apache plugin [Fix] Bugs #2298: remove the release filter from applicatons and mime type filter [Fix] Bugs #2299: in the sudo plugin the add a system button show a list of user [Fix] Bugs #2300: the miniIcon is wrong in sudo list [Fix] Bugs #2302: remove the broken netatalk plugin [Fix] Bugs #2305: in object groups the icons are wrong for users and groups in the list [Fix] Bugs #2306: missing copy paste on nis netgroups [Fix] Bugs #2307: remove the phpscheduleit plugin [Feature] Bugs #2309: moving localization files from messages.po to fusiondirectory.po [Fix] Bugs #2310: moving localization files from messages.po to fusiondirectory.po [Fix] Bugs #2311: when trying to create a profile into fai fusiondirectory crashe [Fix] Bugs #2312: get_ou should always return a 1 comma ended string [Fix] Bugs #2314: Translation are wrong in SUPANN [Fix] Bugs #2315: hotplug should be removed from systems [Fix] Bugs #2316: board additional parameters [Fix] Bugs #2318: add serviceOpsi = opsiconfd in argonaut client [Fix] Bugs #2320: moving cyrus-imap service name from service imap to service cyrus in argonaut client [Fix] Bugs #2321: OPSI remove_from_parent is wrong [Fix] Bugs #2323: the add ldap serveur is always ghosted and doesnt show the ldap uri [Fix] Bugs #2324: don't remove opsi-client-agent from winstation when apply a software on demand list [Fix] Bugs #2325: Systems action menu is broken [Fix] Bugs #2326: remove the on demand fonctionnality from opsi profile [Fix] Bugs #2327: strange errors when apply in opsiClient [Fix] Bugs #2329: call OPSI.update_or_insert in both cases (opsi client in winstation or opsi client in objectgroup) [Feature] Wishlist #324: New release of the freeradius plugin [Fix] Wishlist #438: plugin system / fai second tab the version name in french is confusing [Fix] Wishlist #509: user with OpenldapPerson class [Fix] Wishlist #1020: First Load with only mandatory LDAP Shema [Fix] Wishlist #1124: Autogénération de mots de passe dans les templates [Fix] Wishlist #1126: id-generator différent suivant le template [Feature] Wishlist #1294: add a new type of device : mobile device [Fix] Wishlist #1423: icons for apache2 service [Fix] Wishlist #1504: fusiondirectory-insert-schema should be able of inserting .schema files [Fix] Wishlist #1537: configuration screen [Fix] Wishlist #1552: zone file and named filed are in the same folder [Feature]Wishlist #1593: creaating a option for synchronizing UNIX expiration date to (or from) SAMBA espiration date [Fix] Wishlist #1594: add description field in "generic" user tabs [Feature] Wishlist #1746: add a new type of device : mobile device [Fix] Wishlist #1777: provide a warning when fdShells is empty [Fix] Wishlist #1854: allow selecting a phone number from user information tab [Feature]Wishlist #1848: allow selecting a phone number from user information tab [Feature] Wishlist #1906: rSyslog plugin not only mysql!! [Feature] Wishlist #1933: manipulate Lower/uppser case in template [Feature] Wishlist #1949: Add support for crypt/sha-256 and crypt/sha-512 [Feature] Wishlist #1951: Add support for a configuration setting to force the use of a hash when setting or changing passwords [Feature] Wishlist #1968: We should have a way of creating OPSI profiles [Feature] Wishlist #2145: fusiondirectory-insert-schema should be able of inserting plugins schemas [Feature] Wishlist #2163: Main menu is ugly * FusionDirectory 1.0.4 [Fix] Pre/post script not working properly with mail command [Fix] Address incorrect in source code and documentation files [Fix] Cleaning code for php 5.4 [Fix] Save_object is called twice on services [Fix] The disk partitionning part the size should be in GB by default not mb in the fai plugin [Fix] There should be a password recovery link on the login page [Fix] Rewrote accept-to-gettext for browser language detection [Fix] Problem of auto inclusion of the class_pdf.inc [Fix] Smarty3 Support [Fix] Smarty3 and gettext support [Fix] Recovery.schema should follow LDAP naming rules [Fix] fdQuota.schema and argonaut.schema should follow LDAP naming rules [Fix] Incorrect directory for the supann schema. [Fix] Wrong my $path in fusiondirectory-insert-schema [Fix] Check for group conflicts case-insensitively [Fix] Correct password hooks docs [Fix] password Hook is called in different manner in password and userManagement. [Fix] Setup.php must use an absolute path for the template [Fix] Actions menu does not work with lighttpd [Fix] In style.css, line-height line 1528 seems wrong [Fix] The date picker is not working anymore [Fix] Failed to add packages in "Package list" dialog [Fix] Fusiondirectory-setup is wrong in connection to ldap [Fix] Pop-up error when locking/unlocking user [Fix] Line 310 of class_msgPool.inc is wrong [Fix] Class_filterLDAP.inc don't check correctly the base and objectStorage [Fix] Wizard goes into an infinite loop if the popen function is not available [Fix] Check if popen is allowed before using it [Fix] French accents in password recovery mailbody [Fix] Removing the code activation ob_start as it not recommended way of compression [Fix] When i click on the link for password recovery on the main page, it say not activated but as you can see in debug text its not [Fix] Option -i not in fusiondirectory-insert-schema manual [Fix] The code for adding icons into applications is broken [Fix] The code for reading image is broken in getfax.php [Fix] Type:8, Message:Trying to get property of non-object $date in headers.tpl [Fix] Popup not working with smarty3 [Fix] Standardazing the argonaut menu service entries [Fix] Standardazing the spam and antivirus menu service entries [Fix] Standardizing log service entries [Fix] Standardizing fax service entries [Fix] Removing all obsolete opsi code from various plugins [Fix] Removing the dependancies to the fai.schema for systems [Fix] The ip should be mandatory on server, terminal and printer objects [Fix] The filter for windows workstations come into conflict with the network device one [Fix] Separation of the class_databaseManagement.inc in his own package to remove dependancy on mdb2.php [Fix] In the setup it still show we need more than 64MB it should be 128MB [Fix] The wording is not just in setup for windows pc we said "workstations" but that should be Windows workstations [Fix] Adapat Service.manage like action to make it wokr with argonaut 1.0 [Fix] When restarting a service trought argonaut some LDAP error appear [Fix] Crash when mailmethod is in FusionDirectory config file and the user entry contains a mail addresss [Fix] When updating a the cn of a windows workstation, the uid is not updated [Fix] Copy paste is not working for winstations [Fix] Copy paste for terminal, server, printer, workstations mac an ip are not mandatory [Fix] Phone we cannot change ip and mac when doing copy/paste [Fix] Smarty Bug with 1.0.4 and Wheezy [Fix] Fusiondirectory-insert-schema dont work correctly [Fix] Step 2 of password recovery has been removed [Fix] The check for existing winstations is not working [Fix] The ip should be mandatory on server, terminal and printer objects [Fix] Filter for windows workstations come into conflict with the network device one [Fix] Remove the code showing the type of object in object group title member objects [Fix] Remove the artificial limit to two different objects in objects group [Fix] The refresh dns function is not correct from the system generic page [Fix] Cannot initialise the phoneAccount class [Fix] Handle ldif schema changes [Feature] SupportDaemon should allow to call modules method easily [Feature] Add spanish venezuelan into the setup [Feature] Adding spanish venezuelan language to FusionDirectory [Feature] Add Dutch into the setup [Feature] Adding Dutch language to FusionDirectory [Feature] Guide in how to make a plugin with the simple-plugin framework [Feature] Adresse email alternative pour Password recovery [Feature] Update documentation for Repository plugin [Feature] Creating Windows pc from the interface [Feature] Having the mac address next to the ip address in filter system list [Feature] Integration of the board plugin - a Small dashbaord for FusionDirectory [Feature] Simple plugin framework is mandatory and used by Recovery PAssword and Board plugin [Feature] Adding some Windows attributes to the printer object to use opsi usage [Feature] Provide ldif updates files for recovery.ldif, goto.ldif, goserver.ldif [Feature] Provide ldif updates files for fdQuota.ldif and argonaut.ldif * FusionDirectory 1.0.3 [Feature] Improve the FusionDirectory API [Feature] Improve the FusionDirectory API [Fix] Change explication in Restoring object snapshots [Feature] added jeremy williame to authors [Feature] Adding a sasl password method [Fix] Spaces into response to prompt break the fusiondirectory setup command [Fix] Restoring snapshot isn't working anymore [Fix] Fusiondirectory-setup doesnt install the plugin-correctly from tar.gz [Feature] Use fusiondirectory-insert-schema to install others schema [Fix] Fusiondirectory-setup should not go into the contrib dir [Feature] Change color banner and go_logo [Feature] We should have a PHP CodeSniffer standard to check Guidelines respect [Fix] Rewrote the INSTALL document on how to install fusiondirectory from tar.gz [Fix] Remove the fusiondirectory-migrate-users program its has been merge into fusiondirectory-setup [Fix] Remove the debian centrics path into fusiondirectory-setup [Fix] Remove the debian centric dir in contrib/fusiondirectory-apache.conf [Fix] The fusiondirectory.conf contains all the service definition and other needed entries for all the plugins [Fix] The message explaining to use fusiondirectory-setup to fix classes loading is wrong [Fix] Removing non usefull menu text [Feature] Added the password recovery plugin into core [Fix] Create a new favicon for fusiondirectory [Fix] Lost password feature in Gosa - removing obsloleted code [Fix] The protocol of json rpc (http or https) should not be encoded in the code and be saved into the ldap [Fix] Incorrect include path in php_setup.inc file [Fix] Not enough memory for the PHP module [Fix] ACL to allow enabling / disabling of user accounts [Fix] Put all the docs togheter inside contrib/docs [Fix] Added cn generation parameter on install screen [Fix] Adding a default ou for netgroupRDN [Fix] PHP errors when asking logs on a new server [Fix] PHP error in password.tpl [Feature] Backported timeout seesion handler from GOsa 2.7 [Fix] Inconsistency in coding guidelines [Feature] Backported locking user in color from GOsa 2.7 [Fix] PHP errors in support Daemon [Fix] Error when gosaunittag not defined in ldap in class_supportDaemon.inc [Feature] fusiondirectory-setup parameters must be settable in command-line [Feature] Added migrate-repositories to fusiondirectory-setup will migrate network repos [Feature] Added --check-config to fusiondirectory-setup [Fix] Rewrote the mail collector [Fix] Removing the obsoleted and non maintened plugin for phpgw [Fix] Windows workstations are now in ou=computers by default [Fix] Removed the click trough gpl for fusiondirectory setup [Fix] In the objectgroup the filter for applications is missing in the select box [Fix] Added the missing passwordMethod::is_harmless in class_password.inc [Feature] Use the pam_check_host_attr feature when using the trust model [Fix] The selection filter for the samba plugins workstations in the user tab don't show windows pc [Fix] In object group we cannot select windows pc [Fix] Moved class from include/utils to include to be more consistant [Fix] Moved all xsd files into contrib [Fix] Removed obsolete function function set_acl() from class_tabs.inc [Fix] Removed leftover var from copypastehandler.inc [Fix] Removed non used function function saveFilter(, ) in functions.inc [Fix] Removed non used function function obj_is_readable(, , ) in functions.inc [Fix] Removed svn_version can be removed in functions.inc [Fix] Removed the goto-si code in function.inc [Fix] Removed get_gosa_version() and replaced by a static var in variables.inc [Fix] Changed the HTTP_GOSA_KEY to HTTP_FD_KEY [Fix] Removed obsoleted socket class for the old goto-si code [Fix] Renamed gosa_array_merge to fusiondirectory_array_merge [Fix] Renamed gosa_log to fusiondirectory_log [Fix] Changed session name from GOsa to FusionDirectory [Fix] Changed the name of extensions in error message from GOsa to FusionDirectory [Fix] Removed feedback step in setup [Fix] Removed the internet explorer 6 suppor for png [Fix] Removed fixed path from setup [Fix] Removed samba rid and sid from setup [Fix] Removed space in login user / password [Fix] Removed leftover of old mysql logging system [Fix] Incorrect description of posixGroup created [Fix] LDAP query failed : 'root object' is missing [Fix] Undefined variable: _SERVERREMOTE_ADDR [Fix] Bug when generating config with the wizard when snapshot not selected [Fix] Adding catalan support in fusiondirectory [Fix] jpegPhoto automatically changed/altered when updating user information [Fix] Removed the smarty plugins file from the include directory [Fix] Problem in fd setup when migrating from gosa2.6 [Fix] The dns and logging services don't have the start/stop/restart button [Fix] The dhcp service misses the stop/start/restart button in the service view [Fix] Problem on Copy & paste wizard for a server or workstation [Fix] Remove show opsi based client from the code [Feature] Adding (Czech Republic) to the supported language [Fix] Gofon plugin is not structured correclty relating to directories [Fix] Gofax plugins dir are wrong [Feature] Putting supann into official plugins [Feature] Putting quota into official plugins [Feature] Putting openstack-compute into official plugins [Fix] The netgroup plugin doesnt have an icon in the list wiew [Feature] Putting an icon in the system list showing that there is an argonaut service presnt on this system [Fix] Renaming the netatalk plugin to netatalkAccount to be more in sync with other plugins [Feature] Making a client argonaut service [Feature] Adding support for custom release in fai Repository [Feature] Architectures should be in FAIrepository value [Fix] Moving all plugins systems files to /var/cache/fusiondirectory// [Fix] Removed kerberos-heimdal leftover [Fix] When creating a terminal it yell at me that wake event doesnt exist [Fix] Remove all non needed readme in the plugins [Feature] An abstraction Layer is now used to connect to all database : MDB2 [Feature] Button to launch ladp2bind from the DNS configuration page [Fix] Fai branch not created when adding a repository [Fix] Dhcp/Parent node on Winstation object not changeable [Fix] Package descriptions don't work if + in name [Fix] PHP errors in goto plugin [Fix] There is a problem when there is not an ntp server added to the workstations, the saving fails [Fix] Showing the log interface without log on a unsaved workstation [Fix] PHP errors in class_workstationService.inc [Fix] Error message when I click on the tab Deployment summary of a workstation [Fix] Wrong icon for Systems option on main FD interface [Fix] Removing the obsoleted and non maintened plugin for phpgw [Fix] Cleaning code for php 5.4 [Fix] Removing obsoleted code from apache plugin [Fix] In applications remove the restriction for c:" [Fix] Removing the export xls from ldapmanager plugin [Fix] Remove goto-si code from class_termDns.inc [Fix] The plinfo fonction should always be the latest function in the .inc files [Fix] Update the datbase schema in gophon [Fix] Removing mail addons [Fix] Removing non maintened files for nagios 2.0 [Fix] Removing contrib code we don't want to maintain and usefull only for a little amount of people [Fix] removing gosa.conf leftover, putting @fusiondirectory.org email address in examples [Fix] switched from tab to space in the code [Fix] Renamed gosa_array_merge to fusiondirectory_array_merge [Fix] Renamed gosa_log to fusiondirectory_log [Fix] Cleaning goto / systems plugins [Fix] Provided fusiondirectory dhcp schema modified without changing openldap OID [Fix] Invalid structural object class chain (account/person) in the samba plugin [Fix] dhcpHost not removed if system is removed [Fix] FSF address incorrect in source code and documentation files * FusionDirectory 1.0.2 - Removed old GOsa-si code - Added jsonrpc client library - Added new daemon class with json rpc methods - All deployment are now done through the Argonaut json rpc server - New system to get the packages and debconf without a local mirror - Cvs import fixes to make it more flexible and usable - Corrected css for Firefox 5 and beyond - New setup command fusiondirectory-setup that help fixes common setup issues - All the console tools are in perl, most are in fusiondirectory-setup - Added tools to easily convert and upload schema in an ldap-tree - Completely test and rewrote the help to use php safe mode - Put all the application data into /var/cache/fusiondirectory - Fixed timezone issues - Corrected FSF address - Added the netgroups plugin into official sources - Removed the opsi (pending rewrite) - Removed log plugin, everything is done with the rsyslog plugin * FusionDirectory 1.0.1 - New Release - Removed advanced options from setup - Corrected online help - Corrected wording on plugins - Removed the need for magic_quotes_gpc - Removed the fusiondirectory-desktop package - Removed program version checking from svn - Added the apache plugin - Put final logo - Full italian language * FusionDirectory 1.0 - First stable release fusiondirectory-1.0.19/README.md000066400000000000000000000003631304016502700163110ustar00rootroot00000000000000[![Flattr this git repo](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=fusiondirectory&url=https://github.com/fusiondirectory&title=FusionDirectory&language=en_GB&tags=github&category=software) fusiondirectory-1.0.19/contrib/000077500000000000000000000000001304016502700164705ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/apache/000077500000000000000000000000001304016502700177115ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/apache/fusiondirectory-apache.conf000066400000000000000000000012571304016502700252340ustar00rootroot00000000000000# Include FusionDirectory to your web service Alias /fusiondirectory /var/www/fusiondirectory/html php_admin_flag engine on php_admin_flag register_globals off php_admin_flag allow_call_time_pass_reference off php_admin_flag expose_php off php_admin_flag zend.ze1_compatibility_mode off php_admin_flag register_long_arrays off php_admin_value upload_tmp_dir /var/spool/fusiondirectory/ php_admin_value session.cookie_lifetime 0 # Remove the comment from the line below if you use fusiondirectory-setup --encrypt-passwords # include /etc/fusiondirectory/fusiondirectory.secrets fusiondirectory-1.0.19/contrib/bin/000077500000000000000000000000001304016502700172405ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/bin/fusiondirectory-insert-schema000066400000000000000000000315621304016502700251620ustar00rootroot00000000000000#!/usr/bin/perl ######################################################################## # # fusiondirectory-insert-schema # # Manipulate and insert the needed schema into the ldap server # # This code is part of FusionDirectory (http://www.fusiondirectory.org/) # Copyright (C) 2011-2016 FusionDirectory # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # ######################################################################## use strict; use warnings; use 5.008; my $ldap_host_options = '-Y EXTERNAL -H ldapi:///'; my $path = "/etc/ldap/schema/fusiondirectory/"; my $full_cmd = ""; my $schema2ldif = "schema2ldif"; my $listschemas = 0; my $modify = 0; my $schemalist = 0; my $yes_flag = 0; my $pathunset = 1; my $continue = 0; my @schemas = (); my @gen_files = (); my $delete_ldif = 1; foreach my $arg ( @ARGV ) { if (not defined $ldap_host_options) { $ldap_host_options = $arg; } elsif ((lc($arg) eq '-i') || (lc($arg) eq '--insert')) { if ($schemalist) { usage(); } $schemalist = 1; } elsif ((lc($arg) eq '-l') || (lc($arg) eq '--list')) { $listschemas = 1; } elsif ((lc($arg) eq '-c') || (lc($arg) eq '--continue')) { $continue = 1; } elsif ((lc($arg) eq '-e') || (lc($arg) eq '--empty')) { if ($schemalist) { usage(); } $modify = 2; $schemalist = 1; } elsif ((lc($arg) eq '-m') || (lc($arg) eq '--modify')) { if ($schemalist) { usage(); } $modify = 1; $schemalist = 1; } elsif ((lc($arg) eq '-o') || (lc($arg) eq '--options')) { undef $ldap_host_options; } elsif ((lc($arg) eq '-n') || (lc($arg) eq '--nodelete')) { $delete_ldif = 0; } elsif ((lc($arg) eq '-y') || (lc($arg) eq '--yes')) { $yes_flag = 1; } elsif ((lc($arg) eq '-h') || (lc($arg) eq '--help')) { usage(); } elsif ($schemalist) { if ($arg =~ /(.*).ldif/) { # ignore ".ldif" if it is there push @schemas, $1; } elsif ($arg =~ /(.*).schema/) { if (system("$schema2ldif $arg > $1.ldif") == 0) { push @schemas, $1; push @gen_files, $1; } else { push @gen_files, $1; die_with_error("Something went wrong while trying to convert $arg to ldif\n"); } } else { push @schemas, $arg; } } elsif ($pathunset) { $path = $arg."/"; $pathunset = 0; } else { usage(); } } # if --options is used with no value usage () if (not defined $ldap_host_options); # die if user is not "root" die_with_error ("! You have to run this script as root\n") if ($/dev/null"; my $cnconfig_cmd = $ldapsearch." -b \"cn=config\" cn=config dn 2>/dev/null | grep dn:"; if ($listschemas) { list_schemas(); exit 0; } # die if the path doesn't exists die_with_error ("! $path doesn't seems to exists\n") if (!-e $path); #die if we are not in cn=config my $cnconfig = `$cnconfig_cmd`; if (!($cnconfig =~ m/^dn:\s*cn=config$/)) { die_with_error ("! This tool is only intended to be with with a cn=config backend, cn=config could not be found in the LDAP"); } if (scalar(@schemas) == 0) { if ($modify == 2) { usage("Missing schema list for -e option\n"); } # insert the default schemas @schemas = ("core-fd","core-fd-conf","ldapns","template-fd"); foreach my $schema (@schemas) { if (system("$schema2ldif $path$schema.schema > $path$schema.ldif") == 0) { push @gen_files, $path.$schema; } else { die_with_error ("Something went wrong while trying to convert $path$schema.schema to ldif\n"); } } } elsif ($pathunset) { $path = ""; } if ($modify == 2) { unless (ask_yn_question("Are you sure you want to empty schema(s) ".join(", ",@schemas)."?")) { die_with_error("Aborting…\n"); } } $continue++; # activating continue feature only for insertions foreach my $schema (@schemas) { my $schema_name = ""; my $ldif_file; if ($modify < 2) { # Searching schema name in ldif file first line. open $ldif_file, q{<}, $path.$schema.".ldif" or die "Count not open ldif file : $!\n"; my $dn = ""; while ($dn eq "") { chomp($dn = <$ldif_file>); } if ($dn =~ /^dn: cn=([^,]+),/) { $schema_name = $1; } close($ldif_file); } # Fallback on file name if ($schema_name eq "") { $schema_name = $schema; $schema_name =~ s|^.*/||; } insert_schema($schema, $schema_name); } remove_ldifs(); sub insert_schema { my($schema, $schema_name) = @_; my $schema_file; my $update_file; my $empty_file; $full_cmd = $search_cmd.$schema_name." cn"; print ("\n"); my $search = `$full_cmd`; if ($search !~ /# numEntries: 1/m) { if ($modify) { print "$schema_name does not exists in the LDAP, skipping…\n"; } else { # if the schema doesn't already exists in the LDAP server, adding it $full_cmd = $add_cmd.$path.$schema.".ldif"; print "executing '$full_cmd'\n"; if (system ($full_cmd) != 0) { die_with_error ("Insertion failed!\n"); } } } else { if ($modify) { if ($search !~ m/dn: ([^,]+),cn=schema,cn=config/) { print "Could not parse existing dn for $schema_name, skipping…\n"; return; } my $dn_part = $1; # if the schema already exists in the LDAP server, modify it if ($modify == 1) { open($schema_file, q{<}, $path.$schema.".ldif") or die_with_error('Could not open '."<".$path.$schema.".ldif: $!"); open($update_file, q{>}, $path.$schema."_update.ldif") or die_with_error('Could not open '.">".$path.$schema."_update.ldif: $!"); push @gen_files, $path.$schema."_update"; my $attrs = 0; my $classes = 0; while (<$schema_file>) { next if m/^#/; # remove comments chomp; next if m/^$/; # remove empty lines if (m/^dn: cn=([^,]+),cn=schema,cn=config$/) { print $update_file "dn: $dn_part,cn=schema,cn=config\n"; print $update_file "changetype: modify\n"; next; } if (!m/^olcAttributeTypes:/ && !m/^olcObjectClasses:/ && !m/^ /) { #skip cn, objectClass, … next; } if (!$attrs && $classes) { die "Malformed schema\n"; } if (!$attrs && m/^olcAttributeTypes:/) { $attrs = 1; print $update_file "replace: olcAttributeTypes\n"; } if (!$classes && m/^olcObjectClasses:/) { $classes = 1; print $update_file "-\n"; print $update_file "replace: olcObjectClasses\n"; } print $update_file $_; print $update_file "\n"; } close $schema_file; close $update_file; } else { # Emptying schema open($empty_file, q{>}, $path.$schema."_update.ldif") or die_with_error('Could not open '.">".$path.$schema."_update.ldif: $!"); push @gen_files, $path.$schema."_update"; print $empty_file "dn: $dn_part,cn=schema,cn=config\n"; print $empty_file "changetype: modify\n"; print $empty_file "delete: olcAttributeTypes\n"; print $empty_file "-\n"; print $empty_file "delete: olcObjectClasses\n"; print $empty_file "-\n"; close $empty_file; } $full_cmd = $mod_cmd.$path.$schema."_update.ldif"; print "executing '$full_cmd'\n"; if (system ($full_cmd) != 0) { die_with_error ("Insertion failed!\n"); } } else { print "$schema_name already exists in the LDAP, skipping…\n"; } } } sub remove_ldifs { if ($delete_ldif) { foreach my $file (@gen_files) { unlink "$file.ldif" or print "Could not delete $file.ldif\n"; } } } sub die_with_error { my ($error) = @_; if ($continue == 2) { print "Error: $error\nContinuing…\n"; } else { remove_ldifs(); die $error; } } sub list_schemas { my @schemas = `$list_cmd`; foreach my $schema (@schemas) { if ($schema =~ m/cn:\s*{[0-9]+}(.*)$/) { print "$1\n"; } } } # ask a question send as parameter, and return true if the answer is "yes" sub ask_yn_question { return 1 if ($yes_flag); my ($question) = @_; print ( "$question [Yes/No]?\n" ); while ( my $input = ) { # remove the \n at the end of $input chomp $input; # if user's answer is "yes" if ( lc($input) eq "yes" || lc($input) eq "y") { return 1; # else if he answer "no" } elsif ( lc($input) eq "no" || lc($input) eq "n") { return 0; } } } sub usage { (@_) && print STDERR "\n@_\n\n"; print STDERR << "EOF"; usage: $0 [-h] [-y] [-l] [-o options] [path] [-i|-m|-e schema1 schema2 …] -h, --help : this (help) message path : where to find the schemas -i, --insert : specify the schemas to insert -l, --list : list inserted schemas -m, --modify : modify exising inserted schemas -e, --empty : empty exising inserted schemas (do not remove them) -n, --nodelete : do not delete generated ldifs at the end -o, --options : set ldap options used (default is -Y EXTERNAL -H ldapi:///) -c, --continue : continue on error(s) -y, --yes : answer yes to all questions EOF exit -1; } exit 0; =head1 NAME fusiondirectory-insert-schema - insert schema needed by FusionDirectory into the ldap server =head1 SYNOPSIS fusiondirectory-insert-schema [] [-l] [-i|-m schema1 schema2] =head1 DESCRIPTION This program will insert the schema needed by FusionDirectory into the ldap server =head2 Options =over 6 =item -i This option insert the given list of schemas instead of the default list =item -m This option insert the given list of schemas, replacing already inserted versions of those schemas =item -e This option empty the given list of schemas, removing attributes and objectClasses from those. This is useful because you cannot delete a schema without restarting slapd. =item -l This option list inserted schemas =item -n This option will make generated ldifs file to not be deleted after execution. Might be useful to understand errors. =item -c This option make the program continue even if an error occur =item -y This option answer yes to all questions. The only question right now is the confirmation one when you ask to empty a schema. =item -o This option allow you to specify specifics options to give to ldap commands such as ldapmodify, but beware that you will not be able to see things like password prompts as the output of these commands is piped. =back =head1 EXAMPLES fusion@catbert$ fusiondirectory-insert-schema Insert the core schemas in your LDAP directory fusion@catbert$ fusiondirectory-insert-schema -i /etc/ldap/otherschema/myschema.ldif Insert the schema /etc/ldap/otherschema/myschema.ldif fusion@catbert$ fusiondirectory-insert-schema -i /etc/ldap/otherschema/myschema.schema Convert /etc/ldap/otherschema/myschema.schema to ldif and insert it fusion@catbert$ fusiondirectory-insert-schema -i myschema Insert the schema myschema.ldif from working directory fusion@catbert$ fusiondirectory-insert-schema -m /etc/ldap/otherschema/myschema.schema Convert /etc/ldap/otherschema/myschema.schema to ldif and replace the existing schema by this one fusion@catbert$ fusiondirectory-insert-schema -e myschema Empty the schema myschema fusion@catbert$ fusiondirectory-insert-schema -o "-H ldap://my.ldap.com -ZZ -D 'cn=admin,cn=config' -w password -x" Connect to another ldap server to insert the schema =head1 BUGS Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to =head1 AUTHOR Come Bernigaud =head1 LICENCE AND COPYRIGHT This code is part of FusionDirectory =over 1 =item Copyright (C) 2011-2016 FusionDirectory Project =back 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. =cut fusiondirectory-1.0.19/contrib/bin/fusiondirectory-setup000066400000000000000000002213641304016502700235610ustar00rootroot00000000000000#!/usr/bin/perl ######################################################################## # # fusiondirectory-setup # # Manage fusiondirectory installs from the command line # # This code is part of FusionDirectory (http://www.fusiondirectory.org/) # Copyright (C) 2011-2016 FusionDirectory # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # ######################################################################## use strict; use warnings; use 5.008; # used to manage files use Path::Class; # used for checking config dirs rights (make the translation for lstat output) use Fcntl ':mode'; # used to handle ldap connections use Net::LDAP; # used to base64 encode use MIME::Base64; # used to generate {SSHA} password (for LDAP) use Digest::SHA; use Crypt::CBC; # used to uncompress tar.gz use Archive::Extract; # used to copy files use File::Copy::Recursive qw(rcopy); #XML parser use XML::Twig; # To hide password input use Term::ReadKey; use Data::Dumper; # fd's directory and class.cache file's path declaration my %vars = ( fd_home => "/var/www/fusiondirectory", fd_cache => "/var/cache/fusiondirectory", fd_config_dir => "/etc/fusiondirectory", fd_smarty_dir => "/usr/share/php/smarty3", fd_spool_dir => "/var/spool/fusiondirectory", ldap_conf => "/etc/ldap/ldap.conf", config_file => "fusiondirectory.conf", secrets_file => "fusiondirectory.secrets", locale_dir => "locale", class_cache => "class.cache", locale_cache_dir => "locale", tmp_dir => "tmp", fai_log_dir => "fai", template_dir => "template" ); my ($fd_config,$fd_secrets,$locale_dir,$class_cache,$locale_cache_dir,$tmp_dir,$fai_log_dir,$template_dir); my (@root_config_dirs,@apache_config_dirs,@config_dirs); my @plugin_types = qw(addons admin personal); my $yes_flag = 0; my %classes_hash_result = (); my %i18n_hash_result = (); my $configrdn = "cn=config,ou=fusiondirectory"; my $userrdn = "ou=people"; my $aclrolerdn = "ou=aclroles"; my $grouprdn = "ou=groups"; my $systemrdn = "ou=systems"; my $dnsrdn = "ou=dns"; my $dhcprdn = "ou=dhcp"; ################################################################################################################################################# # ask a question send as parameter, and return true if the answer is "yes" sub ask_yn_question { return 1 if ($yes_flag); my ($question) = @_; print ( "$question [Yes/No]?\n" ); while ( my $input = ) { # remove the \n at the end of $input chomp $input; # if user's answer is "yes" if ( lc($input) eq "yes" || lc($input) eq "y") { return 1; # else if he answer "no" } elsif ( lc($input) eq "no" || lc($input) eq "n") { return 0; } } } # function that ask for an user input and do some checks sub ask_user_input { my ($thing_to_ask, $default_answer, $hide_input) = @_; my $answer; if (defined $default_answer) { $thing_to_ask .= " [$default_answer]"; } print $thing_to_ask.":\n"; if (defined $hide_input && $hide_input) { ReadMode('noecho'); } do { if ($answer = ) { chomp $answer; $answer =~ s/^\s+|\s+$//g; } else { $answer = ""; } } while (($answer eq "") && (not defined $default_answer)); ReadMode('restore'); if ($answer eq "") { return $default_answer; } return $answer; } # Die on all LDAP error except for «No such object» sub die_on_ldap_errors { my ($mesg) = @_; if (($mesg->code != 0) && ($mesg->code != 32)) { die $mesg->error; } } { my $indice = 0; sub find_free_role_dn { my ($ldap,$base,$prefix) = @_; my ($cn,$dn,$mesg); do { $cn = $prefix.'-'.$indice; $dn = "cn=$cn,$aclrolerdn,$base"; $indice++; $mesg = $ldap->search( base => "$dn", scope => 'base', filter => '(objectClass=*)' ); die_on_ldap_errors($mesg); } while ($mesg->count); return $cn; } } sub create_role { my ($ldap,$base,$cn,$acl) = @_; my %role = ( 'cn' => "$cn", 'objectclass' => [ 'top', 'gosaRole' ], 'gosaAclTemplate' => "0:$acl" ); if (!branch_exists($ldap, "$aclrolerdn,$base")) { create_branch($ldap, $base, $aclrolerdn); } my $role_dn = "cn=$cn,$aclrolerdn,$base"; # Add the administator role object my @options = %role; my $role_add = $ldap->add( $role_dn, attr => \@options ); # send a warning if the ldap's admin's add didn't gone well $role_add->code && die "\n! failed to add LDAP's $role_dn entry - ".$role_add->error_name.": ".$role_add->error_text; return $role_dn; } ###################################################### Password encryption ######################################################################### sub cred_encrypt { my ($input, $password) = @_; my $cipher = Crypt::CBC->new( -key => $password, -cipher => 'Rijndael', -salt => 1, -header => 'salt', ) || die "Couldn't create CBC object"; return $cipher->encrypt_hex($input); } sub cred_decrypt { my ($input, $password) = @_; my $cipher = Crypt::CBC->new( -key => $password, -cipher => 'Rijndael', -salt => 1, -header => 'salt', ) || die "Couldn't create CBC object"; return $cipher->decrypt_hex($input); } sub get_random_string { my ($size) = @_; $size = 32 if !$size; my @chars = ("A".."Z", "a".."z", '.', '/', 0..9); my $string; $string .= $chars[rand @chars] for 1..$size; return $string; } sub encrypt_passwords { if (!-e $fd_config) { die "Cannot find a valid configuration file ($fd_config)!\n"; } if (-e $fd_secrets) { die "There's already a file '$fd_secrets'. Cannot convert your existing fusiondirectory.conf - aborted\n"; } print "Starting password encryption\n"; print "* generating random master key\n"; my $master_key = get_random_string(); print "* creating '$fd_secrets'\n"; my $fp_file = file($fd_secrets); my $fp = $fp_file->openw() or die "! Unable to open '$fd_secrets' in write mode\n"; $fp->print("RequestHeader set FDKEY $master_key\n"); $fp->close or die "! Can't close '$fd_secrets'\n"; chmod 0600, $fd_secrets or die "! Unable to change '$fd_secrets' rights\n"; my $root_uid = getpwnam("root"); my $root_gid = getgrnam("root"); chown $root_uid,$root_gid,$fd_secrets or die "! Unable to change '$fd_secrets' owner\n"; # Move original fusiondirectory.conf out of the way and make it unreadable for the web user print "* creating backup in '$fd_config.orig'\n"; rcopy($fd_config, "$fd_config.orig"); chmod 0600, "$fd_config.orig" or die "! Unable to change '$fd_config.orig' rights\n"; chown $root_uid,$root_gid,"$fd_config.orig" or die "! Unable to change '$fd_config.orig' owner\n"; print "* loading '$fd_config'\n"; my $twig = XML::Twig->new(); # create the twig $twig->parsefile($fd_config); # build it # Locate all passwords inside the fusiondirectory.conf my @locs = $twig->root->first_child('main')->children('location'); foreach my $loc (@locs) { my $ref = $loc->first_child('referral'); print "* encrypting FusionDirectory password for: ".$ref->{'att'}->{'adminDn'}."\n"; $ref->set_att('adminPassword' => cred_encrypt($ref->{'att'}->{'adminPassword'}, $master_key)); } # Save print "* saving modified '$fd_config'\n"; $twig->print_to_file($fd_config, pretty_print => 'indented') or die "Cannot write modified $fd_config - aborted\n"; print "OK\n\n"; # Print reminder print " Please adapt your http fusiondirectory location declaration to include the newly created $fd_secrets. Example: Alias /fusiondirectory /usr/share/fusiondirectory/html php_admin_flag engine on php_admin_flag register_globals off php_admin_flag allow_call_time_pass_reference off php_admin_flag expose_php off php_admin_flag zend.ze1_compatibility_mode off php_admin_flag register_long_arrays off php_admin_value upload_tmp_dir /var/spool/fusiondirectory/ php_admin_value session.cookie_lifetime 0 include /etc/fusiondirectory/fusiondirectory.secrets Please reload your httpd configuration after you've modified anything.\n"; } ####################################################### class.cache update ######################################################################### # function that scan recursivly a directory to find .inc and . php # then return a hash with class => path to the class file sub get_classes { my ($path) = @_; # if this function has been called without a parameter die ("! function get_classes called without parameter\n") if ( !defined($path) ); # create a "dir" object with the path my $dir = dir ($path) or die ("! Can't open $path\n"); my $contrib_dir = dir($vars{fd_home},"contrib"); if ("$dir" eq "$contrib_dir") { return; } # create an array with the content of $dir my @dir_files = $dir->children; foreach my $file (@dir_files) { # recursive call if $file is a directory if ( -d $file ) { get_classes($file); next; } # only process if $file is a .inc or a .php file if ( ( $file =~ /.*\.inc$/ ) && ( $file !~ /.*smarty.*/ ) ) { # put the entire content of the file pointed by $file in $data my @lines = $file->slurp; # modifing $file, to contains relative path, not complete one $file =~ s/^$vars{fd_home}//; foreach my $line ( @lines ) { # remove \n from the end of each line chomp $line; # only process for lines beginning with "class", and extracting the 2nd word (the class name) if ( $line =~ /^class\s*(\w+).*/ ) { # adding the values (class name and file path) to the hash $classes_hash_result{$1} = $file; } } } } return %classes_hash_result; } # call get_classes and create /var/cache/fusiondirectory/class.cache sub rescan_classes { # hash that will contain the result of the "get_classes" function my %get_classes_result = get_classes ($vars{fd_home}); # create a "file" object with the $class_cache path my $file_class = file ($class_cache); # create the handler (write mode) for the file previoulsy created my $fhw = $file_class->openw() or die ("! Unable to open $class_cache in write mode\n"); # first lines of class.cache $fhw->print ("print ("\t\t\"$key\" => \"$value\",\n"); } # last line of classe.cache $fhw->print ("\t);\n?>"); $fhw->close or die ("! Can't close $class_cache\n"); } ###################################################### Internalisation's update #################################################################################### # function that create .mo files with .po for each language sub get_i18n { my ($path) = @_; # if this function has been called without a parameter die ("! function get_i18n called without parameter" ) if ( !defined($path) ); # create a "dir" object my $dir = dir ($path) or die ("! Can't open $path\n"); # create an array with the content of $dir my @dir_files = $dir->children; foreach my $file (@dir_files) { # recursive call if $file is a directory if (-d $file) { %i18n_hash_result = get_i18n ($file); next; } # if the file's directory is ???/language/fusiondirectory.po if ($file =~ qr{^.*/(\w+)/fusiondirectory.po$}) { # push the file's path in the language (fr/en/es/it...) array (wich is inside the hash pointed by $ref_result push @{$i18n_hash_result{$1}}, $file; } } return %i18n_hash_result; } # call get_i18n with the FusionDirectory's locales's directory and the hash that will contain the result in parameter sub rescan_i18n { # hash that will contain the result of the "get_i18n" function my %get_i18n_result = get_i18n ($locale_dir); while ( my ($lang, $files) = each %get_i18n_result ) { # directory wich will contain the .mo file for each language my $lang_cache_dir = dir ("$locale_cache_dir/$lang/LC_MESSAGES"); # if $lang_cache_dir doesn't already exists, creating it if ( !-d $lang_cache_dir ) { $lang_cache_dir->mkpath or die ("! Can't create $locale_cache_dir/$lang/LC_MESSAGES"); } # glue .po files's names my $po_files = join(" ", @{$files}); chomp $po_files; # merging .po files system ( "msgcat --use-first ".$po_files.">".$lang_cache_dir."/fusiondirectory.po" ) and die ("! Unable to merge .po files for $lang with msgcat, is it already installed?\n"); # compiling .po files in .mo files system ( "msgfmt -o $lang_cache_dir/fusiondirectory.mo $lang_cache_dir/fusiondirectory.po && rm $lang_cache_dir/fusiondirectory.po" ) and die ("! Unable to compile .mo files with msgfmt, is it already installed?\n"); } } ############################################################# Directories checking ################################################################################### #get the apache user group name sub get_apache_group { my $apache_group = ""; # try to identify the running distribution, if it's not debian or rehat like, script ask for user input if (-e "/etc/debian_version") { $apache_group = "www-data"; } elsif ((-e "/etc/redhat-release") || (-e "/etc/mageia-release")) { $apache_group = "apache"; } elsif (-e "/etc/SuSE-release") { $apache_group = "www"; } elsif (-e "/etc/arch-release") { $apache_group = "http"; } else { print ("! Looks like you are not a Debian, Suse, Redhat or Mageia, I don't know your distribution !\n"); $apache_group = ask_user_input ("What is your apache group?"); } return $apache_group; } #check the rights of a directory or file, creates missing directory if needed sub check_rights { my ($dir,$user,$group,$rights,$create) = @_; my $user_uid = getpwnam ( $user ); my $group_gid = getgrnam ( $group ); # if the current dir exists if (-e $dir) { print("$dir exists…\n"); # retrieve dir's informations my @lstat = lstat ($dir); # extract the owner and the group of the directory my $dir_owner = getpwuid ( $lstat[4] ); my $dir_group = getgrgid ( $lstat[5] ); # extract the dir's rights my $dir_rights = S_IMODE( $lstat[2] ); if ( ($dir_owner ne $user) || ($dir_group ne $group) || ($dir_rights ne $rights) ) { if ( ask_yn_question ("$dir is not set properly, do you want to fix it ?: ") ) { chown ($user_uid,$group_gid,$dir) or die ("! Unable to change $dir owner\n") if ( ($dir_owner ne $user) || ($dir_group ne $group) ); chmod ( $rights, $dir ) or die ("! Unable to change $dir rights\n") if ($dir_rights ne $rights); } else { print ("Skipping...\n"); } } else { print("Rights on $dir are correct\n"); } } elsif ($create) { if ( ask_yn_question("Directory $dir doesn't exists, do you want to create it ?: ") ) { my $conf_dir = dir ($dir); # create the directory, and change the rights $conf_dir->mkpath (0,$rights); chmod ($rights, $dir); chown ($user_uid,$group_gid,$dir) or die ("Unable to change $dir rights\n"); } else { print ( "Skipping...\n" ); } } else { return 0; } return 1; } # function that check FusionDirectory's directories sub check_directories { my $apache_group = get_apache_group(); # for each config directory foreach my $dir (@config_dirs) { # if $dir is one of the dirs that remains to root if ( grep (/.*$dir.*/, @root_config_dirs) ) { check_rights($dir,"root","root",0755,1); # else if $dir is one of the dirs that remains to apache's user group, and the dir's owner is not root or the group is not the apache's user group, modifying owner } elsif ( grep ( /.*$dir.*/, @apache_config_dirs) ) { check_rights($dir,"root",$apache_group,0770,1); } } } # function that check FusionDirectory's config file sub check_config { my $apache_group = get_apache_group(); # check config file check_rights($fd_config,"root",$apache_group,0640,0) or die 'The config file does not exists!'; } ############################################################# Change install directories ################################################################################# sub write_vars { my $filecontent = < eof my $variables_path = "$vars{fd_home}/include/variables.inc"; my $variables_file = file ($variables_path); my $vars_file = $variables_file->openw() or die ("! Unable to open $variables_path in write mode\n"); $vars_file->print($filecontent); $vars_file->close or die ("! Can't close $variables_file\n"); } ############################################################# LDAP conformity check ################################################################################# # function that add the FusionDirectory's admin account # return nothing is it a problem? sub add_ldap_admin { my ($base, $ldap, $admindns, $people_entries, $roles) = @_; # Get the configuration to know which attribute must be used in the dn my $mesg = $ldap->search( base => "$base", filter => "(&(objectClass=fusionDirectoryConf)(cn=fusiondirectory))", attrs => ['fdAccountPrimaryAttribute', 'fdForcePasswordDefaultHash', 'fdPasswordDefaultHash'] ); $mesg->code && die $mesg->error; my $attr; if ($mesg->count <= 0) { print "Could not find configuration object, using default value\n"; $attr = 'uid'; } elsif (($mesg->entries)[0]->exists('fdAccountPrimaryAttribute')) { $attr = ($mesg->entries)[0]->get_value('fdAccountPrimaryAttribute'); } else { $attr = 'uid'; } if ($mesg->count > 0) { if (($mesg->entries)[0]->exists('fdForcePasswordDefaultHash') && ($mesg->entries)[0]->exists('fdPasswordDefaultHash')) { if ((($mesg->entries)[0]->get_value('fdForcePasswordDefaultHash') eq 'TRUE') && (($mesg->entries)[0]->get_value('fdPasswordDefaultHash') ne 'ssha')) { warn "Warning: Administator password will be hashed with ssha instead of forced default ".($mesg->entries)[0]->get_value('fdPasswordDefaultHash')."\n"; } } } my $fd_admin_uid = ask_user_input ("Please enter a login for FusionDirectory's admin", "fd-admin"); # Does this user exists? my $dn = ""; foreach my $entry (@$people_entries) { my $mesg = $ldap->search( base => "$entry", filter => "(&(objectClass=inetOrgPerson)(uid=$fd_admin_uid))", attrs => ['uid'] ); $mesg->code && die $mesg->error; if ($mesg->count) { print "User $fd_admin_uid already existing, adding admin acl to it\n"; $dn = ($mesg->entries)[0]->dn; last; } } if ($dn eq "") { my $fd_admin_pwd = ask_user_input ("Please enter FusionDirectory's admin password", undef, 1); my $fd_admin_pwd_confirm = ask_user_input ("Please enter it again", undef, 1); # while the confirmation password is not the same than the first one while ( ($fd_admin_pwd_confirm ne $fd_admin_pwd) && ($fd_admin_pwd_confirm ne "quit" ) ) { $fd_admin_pwd_confirm = ask_user_input ("! Inputs don't match, try again or type 'quit' to end this function"); } return -1 if ($fd_admin_pwd_confirm eq "quit"); my $ctx = Digest::SHA->new(1); my $salt = get_random_string(8); $ctx->add($fd_admin_pwd); $ctx->add($salt); my $hashedPasswd = '{SSHA}'.encode_base64($ctx->digest.$salt, ''); my %obj = ( 'cn' => 'System Administrator', 'sn' => 'Administrator', 'uid' => $fd_admin_uid, 'givenname' => 'System', 'objectclass' => [ 'top', 'person', 'organizationalPerson', 'inetOrgPerson' ], 'userPassword' => $hashedPasswd ); if (not defined $obj{$attr}) { print "Error : invalid account primary attribute $attr, using uid\n"; $attr = 'uid'; } $dn = "$attr=".$obj{$attr}.",$userrdn,$base"; # Add the administator user object my @options = %obj; my $admin_add = $ldap->add( $dn, attr => \@options ); # send a warning if the ldap's admin's add didn't gone well $admin_add->code && die "\n! failed to add LDAP's $dn entry - ".$admin_add->error_name.": ".$admin_add->error_text; } # Create admin role if not existing my $role; if (scalar @$roles == 0) { my $role_dn = create_role($ldap,$base,'admin','all;cmdrw'); $role = encode_base64($role_dn, ''); } else { $role = shift(@$roles); } # Add the assignment that make him an administrator my $acls = $ldap->search ( base => "$base", scope => 'base', filter => "(objectClass=*)", attrs => ['objectClass', 'gosaAclEntry'] ); $acls->code && die "\n! failed to search acls in '$base' - ".$acls->error_name.": ".$acls->error_text; ($acls->count == 0) && die "\n! failed to search acls in '$base' - base not found"; my $oclass = ($acls->entries)[0]->get_value("objectClass", asref => 1); # Add admin acl my $newacl = ["0:subtree:$role:".encode_base64($dn, '')]; if (not (grep $_ eq 'gosaAcl', @$oclass)) { push (@$oclass, 'gosaAcl'); } else { my $acl = ($acls->entries)[0]->get_value("gosaAclEntry", asref => 1); my $i = 1; if (defined $acl) { foreach my $line (@$acl) { # Reorder existing non-admin acls $line =~ s/^\d+:/$i:/; push (@$newacl, $line); $i++; } } } my $result = $ldap->modify ( $base, replace => { 'objectClass' => $oclass, 'gosaAclEntry' => $newacl } ); $result->code && warn "\n! failed to add ACL for admin on '$base' - ".$result->error_name.": ".$result->error_text; } # function that initiate the ldap connexion, and bind as the ldap's admin sub get_ldap_connexion { my %hash_result = (); my $bind_dn = ""; my $bind_pwd = ""; my $uri = ""; my $base = ""; my $tls = 0; my $secret_file; my $ldap_conf; # read ldap's server's info from /etc/fusiondirectory/fusiondirectory.conf if (-e $fd_config) { my $twig = XML::Twig->new(); # create the twig $twig->safe_parsefile($fd_config) or die("There is an error in $fd_config XML code: ".(split /\n/, $@)[1]."\n"); my @locs = $twig->root->first_child('main')->children('location'); my %locations = (); foreach my $loc (@locs) { my $ref = $loc->first_child('referral'); $locations{$loc->{'att'}->{'name'}} = { 'tls' => 0, 'uri' => $ref->{'att'}->{'URI'}, 'bind_dn' => $ref->{'att'}->{'adminDn'}, 'bind_pwd' => $ref->{'att'}->{'adminPassword'} }; if (defined $loc->{'att'}->{'ldapTLS'} and $loc->{'att'}->{'ldapTLS'} =~ m/true/i) { $locations{$loc->{'att'}->{'name'}}->{'tls'} = 1 } } my ($location) = keys(%locations); if (scalar(keys(%locations)) > 1) { my $question = "There are several locations in your config file, which one should be used : (".join(',',keys(%locations)).")"; my $answer; do { $answer = ask_user_input ($question, $location); } while (not exists($locations{$answer})); $location = $answer; } if ($locations{$location}->{'uri'} =~ qr|^(.*)/([^/]+)$|) { $uri = $1; $base = $2; } else { die '"'.$locations{$location}->{'uri'}.'" does not contain any base!'; } $bind_dn = $locations{$location}->{'bind_dn'}; $bind_pwd = $locations{$location}->{'bind_pwd'}; $tls = $locations{$location}->{'tls'}; # if can't find fusiondirectory.conf } else { if ( ask_yn_question ("Can't find fusiondirectory.conf, do you want to specify LDAP's information yourself ?: ") ) { $uri = ask_user_input ("LDAP server's URI"); $base = ask_user_input ("Search base"); $hash_result{base} = $base; $bind_dn = ask_user_input ("Bind DN"); $bind_pwd = ask_user_input("Bind password", undef, 1); } else { return; } } # ldap connection my $ldap = Net::LDAP->new ($uri) or die ("! Can't contact LDAP server $uri\n"); $hash_result{ldap} = $ldap; $hash_result{base} = $base; # bind to the LDAP server if (-e $fd_secrets) { open($secret_file, q{<}, $fd_secrets) || die ("Could not open $fd_secrets"); my $key = ""; while(<$secret_file>) { if ($_ =~ m/RequestHeader set FDKEY ([^ \n]+)\n/) { $key = $1; last; } } close($secret_file); $bind_pwd = cred_decrypt($bind_pwd, $key); } if ($tls) { # Read LDAP config file open ($ldap_conf, q{<}, $vars{ldap_conf}) or die ("! Failed to open ldap config file '$vars{ldap_conf}': $!\n"); my %tls_options = ( 'REQCERT' => 'require', 'CERT' => '', 'KEY' => '', 'CACERTDIR' => '', 'CACERT' => '', ); # Scan LDAP config while (<$ldap_conf>) { /^\s*(#|$)/ && next; chomp; if (m/^TLS_(REQCERT|CERT|KEY|CACERTDIR|CACERT)\s+(.*)\s*$/i) { $tls_options{uc $1} = $2; } } close($ldap_conf); $ldap->start_tls( verify => $tls_options{'REQCERT'}, clientcert => $tls_options{'CERT'}, clientkey => $tls_options{'KEY'}, capath => $tls_options{'CACERTDIR'}, cafile => $tls_options{'CACERT'} ); } my $bind = $ldap->bind ($bind_dn, password => $bind_pwd); # send a warning if the bind didn't gone well $bind->code && die ("! Failed to bind to LDAP server: ", $bind->error."\n"); return %hash_result; } # function that check if there is an admin sub check_admin { my ($base, $ldap, $people_entries) = @_; # search for FusionDirectory's admin account # search for admin role my $admin_roles = $ldap->search ( base => "$base", filter => "(&(objectClass=gosaRole)(gosaAclTemplate=*:all;cmdrw))", attrs => ['gosaAclTemplate'] ); $admin_roles->code && die $admin_roles->error; my @dns = (); my @roles = (); my $count = 0; while (my $entry = $admin_roles->shift_entry) { my $role_dn64 = encode_base64($entry->dn, ''); push @roles, $role_dn64; print ("Role ".$entry->dn." is an admin ACL role\n"); # Search for base-wide assignments my $assignments = $ldap->search ( base => "$base", scope => 'base', filter => "(&(objectClass=gosaAcl)(gosaAclEntry=*:subtree:$role_dn64:*))", attrs => ['gosaAclEntry'] ); $assignments->code && die $assignments->error; while (my $assignment = $assignments->shift_entry) { my $acl = $assignment->get_value("gosaAclEntry", asref => 1); foreach my $line (@$acl) { if ($line =~ m/^.:subtree:\Q$role_dn64\E/) { my @parts = split(':',$line,4); my @members = split(",",$parts[3]); foreach my $member (@members) { # Is this an existing user? my $dn = decode_base64($member); my $member_node = $ldap->search( base => $dn, scope => 'base', filter => "(objectClass=inetOrgPerson)" ); if ($member_node->count == 1) { print ("$dn is a valid admin\n"); return; } # Is this a group? $member_node = $ldap->search( base => $dn, scope => 'base', filter => "(objectClass=posixGroup)", attrs => ['memberUid'] ); if ($member_node->count == 1) { # Find group members my $member_entry = $member_node->shift_entry; my $memberUids = $member_entry->get_value("memberUid", asref => 1); my $filter = '(&(objectClass=inetOrgPerson)(|(uid='.join(')(uid=', @$memberUids).')))'; my $group_members = $ldap->search( base => $base, filter => $filter, ); $group_members->code && die $group_members->error; if (my $group_member_entry = $group_members->shift_entry) { print ($group_member_entry->dn." is a valid admin\n"); return; } } else { push @dns, $dn; } } } } } $count++; } if ($count < 1) { print ("! There is no admin ACL role\n"); } foreach my $dn (@dns) { print ("! $dn is supposed to be admin but does not exists\n"); } if (ask_yn_question("No valid admin account found, do you want to create it ?")) { return add_ldap_admin($base, $ldap, \@dns, $people_entries, \@roles); } } sub create_branch { my ($ldap, $base, $ou) = @_; $ou =~ m/^ou=([^,]*),?$/ or die "Can’t create branch of unknown type $ou\n"; my $branch_add = $ldap->add( "$ou,$base", attr => [ 'ou' => $1, 'objectClass' => 'organizationalUnit' ] ); $branch_add->code && die "! failed to add LDAP's $ou,$base branch: ".$branch_add->error."\n"; } sub branch_exists { my ($ldap, $branch) = @_; # search for branch my $branch_mesg = $ldap->search (base => $branch, filter => '(objectClass=*)', scope => 'base'); if ($branch_mesg->code == 32) { return 0; } $branch_mesg->code && die $branch_mesg->error; my @entries = $branch_mesg->entries; return (defined ($entries[0])); } # function that check LDAP configuration sub check_ldap { read_ldap_config(); # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $admin_add = ""; # Collect existing people branches (even if main one may not exists); my $people = $ldap->search (base => $base, filter => $userrdn); $people->code && die $people->error; my @people_entries = $people->entries; @people_entries = map {$_->dn} @people_entries; # if people branch exists if ( branch_exists($ldap, "$userrdn,$base") ) { check_admin($base, $ldap, \@people_entries); # if ou=people doesn't exists } else { print ( "! $userrdn,$base not found in your LDAP directory\n" ); # if user's answer is "yes", creating ou=people branch if ( ask_yn_question("Do you want to create it ?: ") ) { create_branch($ldap, $base, $userrdn); push @people_entries, "$userrdn,$base"; check_admin($base, $ldap, \@people_entries); } else { print ("Skipping...\n"); } } # if groups branch does not exist if (!branch_exists($ldap, "$grouprdn,$base")) { print ("! $grouprdn,$base not found in your LDAP directory\n"); # if user's answer is "yes", creating groups branch if ( ask_yn_question("Do you want to create it ?: ") ) { create_branch($ldap, $base, $grouprdn); } else { print ("Skipping...\n"); } } # search for workstations and object groups my $faiclasses = $ldap->search (base => "$base", filter => "(&(FAIclass=*)(!(objectClass~=FAIprofile)))" ); $faiclasses->code && die $faiclasses->error; my @faiclass_entries = $faiclasses->entries; foreach my $entry (@faiclass_entries) { my $faiclass = $entry->get_value('FAIclass'); my (@profiles) = split(' ',$faiclass); if (scalar @profiles > 2) { print "! System or group ".$entry->get_value('cn')." have more than one FAI profile : ".$faiclass."\n"; } elsif (scalar @profiles < 2) { print "! System or group ".$entry->get_value('cn')." have no release set in its FAIclass : ".$faiclass."\n"; } } # search for old config dn if (branch_exists($ldap, "cn=fusiondirectory,ou=configs,$base")) { print ("! There is a configuration in cn=fusiondirectory,ou=configs,$base in your LDAP directory\n"); print ("! The correct configuration dn is now cn=config,ou=fusiondirectory,$base\n"); print ("! FusionDirectory will not read your configuration at its current dn\n"); if ( ask_yn_question("Do you want to move and rename this entry? ") ) { if (!branch_exists($ldap, "ou=fusiondirectory,$base")) { create_branch($ldap, $base, 'ou=fusiondirectory'); } my $result = $ldap->moddn ( "cn=fusiondirectory,ou=configs,$base", newrdn => 'cn=config', deleteoldrdn => '1', newsuperior => "ou=fusiondirectory,$base" ); $result->code && die "Migration of configuration entry failed, LDAP error: ".$result->error."\n"; } else { print ("Skipping...\n"); } } # unbind to the LDAP server my $unbind = $ldap->unbind; $unbind->code && warn "! Unable to unbind from LDAP server: ", $unbind->error."\n"; } # function that check for duplicated uid or gid numbers sub check_id_numbers { read_ldap_config(); # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $ldap = $hash_ldap_param{ldap}; my $base = $hash_ldap_param{base}; check_id_numbers_generic($ldap, $base, 'posixAccount','uidNumber','users'); check_id_numbers_generic($ldap, $base, 'posixGroup','gidNumber','groups'); } sub check_id_numbers_generic { my ($ldap, $base, $objectClass, $attribute, $type) = @_; my $mesg = $ldap->search( filter => "(&(objectClass=$objectClass)($attribute=*))", base => $base, attrs => [$attribute] ); $mesg->code && die $mesg->error; my @entries = $mesg->entries; my %tmp = (); foreach my $entry (@entries) { if (not defined $tmp{$entry->get_value($attribute)}) { $tmp{$entry->get_value($attribute)} = (); } push @{$tmp{$entry->get_value($attribute)}}, $entry->dn(); } my $dups = 0; while (my ($id, $dns) = each %tmp) { if (scalar(@$dns) > 1) { $dups = 1; print "The following $type use the same $attribute $id:\n"; foreach my $dn (@$dns) { print "\t$dn\n"; } } } if ($dups == 0) { print "There are no duplicated ${attribute}s\n"; } } # function that create a directory and copy plugin files in it sub create_and_copy_plugin_dir { my ($plugin_dir,$dest_dir) = @_; if ( -e $plugin_dir ){ my $dir = dir ($dest_dir); $dir->mkpath() or warn ("! Unable to make ".$dest_dir."\n") if ( !-e $dest_dir); my $files_dirs_copied = rcopy($plugin_dir."/*", $dest_dir); } } # function that install all the FD's plugins from a directory sub install_plugins { # ask for the plugins archive my $plugins_archive = ask_user_input ("Where is your plugins archive ?"); die ("! ".$plugins_archive." doesn't exists") if (!-e $plugins_archive); # check the archive format $plugins_archive =~ /^.*\/(.*).tar.gz$/; my $name = $1 or die ("! Unkwnow archive $plugins_archive"); # where the extract files will go my $tmp_plugins_dir = "/tmp"; print ("Installing plugins into $vars{fd_home}, please wait...\n"); my $dir = dir ($tmp_plugins_dir."/".$name); # extract the plugins archive my $archive = Archive::Extract->new (archive => $plugins_archive); my $extract = $archive->extract( to => "$tmp_plugins_dir" ) or die ("! Unable to extract $plugins_archive\n"); my @plugins = $dir->children; chdir ($dir) or die ("! Unable to move to $dir\n"); foreach my $plugin_path (@plugins){ $plugin_path =~ /^$tmp_plugins_dir\/$name\/(.*)$/; my $plugin = $1; # copy addons into plugins create_and_copy_plugin_dir($plugin_path."/addons/",$vars{fd_home}."/plugins/addons/"); # copy admin into plugins create_and_copy_plugin_dir($plugin_path."/admin/",$vars{fd_home}."/plugins/admin/"); # copy personal into plugins create_and_copy_plugin_dir($plugin_path."/personal/",$vars{fd_home}."/plugins/personal/"); # copy extra HTML and images create_and_copy_plugin_dir($plugin_path."/html/",$vars{fd_home}."/html/plugins/".$plugin); # copy contrib create_and_copy_plugin_dir($plugin_path."/contrib/",$vars{fd_home}."/doc/contrib/".$plugin); # copy config create_and_copy_plugin_dir($plugin_path."/config/",$vars{fd_home}."/plugins/config/"); # copy ldap schema create_and_copy_plugin_dir($plugin_path."/contrib/openldap/",$vars{fd_home}."/contrib/openldap/"); # copy includes create_and_copy_plugin_dir($plugin_path."/include/",$vars{fd_home}."/include/"); # copy etc FIXME !!! not right all files goes now to /var/cache/fusiondirectory/plugin #my $files_dirs_copied = rcopy($plugin_path."/etc/*", $vars{fd_config_dir}); # copy the locales create_and_copy_plugin_dir($plugin_path."/locale/",$vars{fd_home}."/locale/plugins/".$plugin); } #finally update FusionDirectory's class.cache and locales rescan_classes(); rescan_i18n(); } # function that add object classes to people branch users sub migrate_users { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $mesg = $ldap->search( filter => '(&'. '(|'. '(objectClass=posixAccount)'. '(objectClass=person)'. '(objectClass=OpenLDAPperson)'. ')'. '(!(objectClass=inetOrgPerson))'. '(uid=*)'. ')', base => $base ); $mesg->code && die $mesg->error; if ($mesg->count > 0) { print ("The following users are missing objectClasses:\n"); my @entries = $mesg->entries; foreach my $entry (@entries) { print $entry->dn()."\n"; } if (ask_yn_question("Add the inetOrgPerson objectClass to all these entries?")) { foreach my $entry (@entries) { $mesg = $ldap->modify($entry->dn(), add => { "objectClass" => ["person","organizationalPerson","inetOrgPerson"]}); $mesg->code && print $mesg->error."\n"; } } } $mesg = $ldap->search( filter => '(objectClass=gosaAccount)', base => $base ); $mesg->code && die $mesg->error; if ($mesg->count > 0) { print ("The following users are using the obsolete gosaAccount objectClass:\n"); my @entries = $mesg->entries; foreach my $entry (@entries) { print $entry->dn()."\n"; } if (ask_yn_question("Remove the gosaAccount objectClass from these entries?")) { foreach my $entry (@entries) { my @replace; my @delete; my @classes = $entry->get_value('objectClass'); if (grep {$_ eq 'gosaAccount'} @classes) { foreach my $class (@classes) { if ($class ne 'gosaAccount') { push(@replace, "$class"); } } if ( ($entry->exists('dateOfBirth') || $entry->exists('personalTitle') || $entry->exists('gender')) && !(grep {$_ eq 'fdPersonalInfo'} @classes) ) { push(@replace, "fdPersonalInfo"); } if (!(grep {$_ eq 'sambaSamAccount'} @classes)) { foreach my $sambaAttr ('sambaLMPassword','sambaNTPassword','sambaPwdLastSet','sambaBadPasswordCount','sambaBadPasswordTime') { if ($entry->exists($sambaAttr)) { push(@delete, $sambaAttr); } } } } if (scalar(@delete) > 0) { $mesg = $ldap->modify($entry->dn(), delete => \@delete, replace => [ "objectClass" => \@replace ]); $mesg->code && print $entry->dn()." (deleting samba attributes): ".$mesg->error."\n"; } else { $mesg = $ldap->modify($entry->dn(), replace => [ "objectClass" => \@replace ]); $mesg->code && print $entry->dn().": ".$mesg->error."\n"; } undef @replace; undef @delete; } } } # unbind to the LDAP server my $unbind = $ldap->unbind; $unbind->code && warn "! Unable to unbind from LDAP server: ", $unbind->error."\n"; } # function that moves DNS zones from systems to ou=dns sub migrate_dns { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; # Search for DNS zones my $mesg = $ldap->search( base => "$base", filter => "(&(objectClass=dNSZone)(relativeDomainName=@)(!(|(zoneName=*.arpa)(zoneName=*.arpa.))))", attrs => ['zoneName'] ); $mesg->code && die $mesg->error; my @entries = $mesg->entries; print "There are ".$mesg->count." DNS zones in the LDAP\n"; my @baddns = (); foreach my $entry (@entries) { if ($entry->dn() !~ m/$dnsrdn/) { if (scalar(@baddns) == 0) { print "The following are not in the DNS branch ($dnsrdn):\n"; } print $entry->dn()."\n"; push @baddns, $entry->dn(); } } if (scalar(@baddns) == 0) { print "They all already are in the DNS branch ($dnsrdn):\n"; } else { if (ask_yn_question("Move these entries to the DNS branch ($dnsrdn)?")) { foreach my $entrydn (@baddns) { $entrydn =~ m/^([^,]+),(.+$systemrdn,(.+))$/ or die "Could not parse dn ".$entrydn."\n"; my $rdn = $1; my $systemdn = $2; my $entrybase = $3; if (!branch_exists($ldap, "$dnsrdn,$entrybase")) { create_branch($ldap, $entrybase, $dnsrdn); } my $result = $ldap->moddn ( $entrydn, newrdn => $rdn, deleteoldrdn => '1', newsuperior => "$dnsrdn,$entrybase" ); $result->code && die "Migration of DNS zone entry failed, LDAP error: ".$result->error."\n"; my $zoneDn = "$rdn,$dnsrdn,$entrybase"; $mesg = $ldap->search( base => $zoneDn, filter => "(&(objectClass=dNSZone)(relativeDomainName=*)(!(|(zoneName=*.arpa)(zoneName=*.arpa.))))" ); $mesg->code && die $mesg->error; @entries = $mesg->entries; foreach my $entry (@entries) { $entry->dn() =~ m/^([^,]+),(relativeDomainName=[^,]+),$zoneDn$/ or next; $rdn = $1; my $relativeDomainName = $2; if ($rdn eq $relativeDomainName) { my %replace = (); my @attributes = $entry->attributes(); foreach my $attr (@attributes) { $replace{$attr} = $entry->get_value($attr, asref => 1) } $result = $ldap->modify ( "$rdn,$zoneDn", replace => \%replace ); $result->code && die "Migration of DNS zone subentry failed, LDAP error: ".$result->error."\n"; $result = $ldap->delete ($entry->dn()); } else { $result = $ldap->moddn ( $entry->dn(), newrdn => $rdn, deleteoldrdn => '1', newsuperior => $zoneDn ); } $result->code && die "Migration of DNS zone subentry failed, LDAP error: ".$result->error."\n"; } # Fix reverse zone PTR records DNs $mesg = $ldap->search( base => $zoneDn, filter => "(&(objectClass=dNSZone)(!(relativeDomainName=@))(|(zoneName=*.arpa)(zoneName=*.arpa.)))" ); $mesg->code && die $mesg->error; @entries = $mesg->entries; foreach my $entry (@entries) { $entry->dn() =~ m/^([^,]+),relativeDomainName=[^,]+,$zoneDn$/ or next; $result = $ldap->moddn ( $entry->dn(), newrdn => $1, deleteoldrdn => '1', newsuperior => 'zoneName='.$entry->get_value('zoneName').','.$zoneDn ); $result->code && die "Migration of DNS reverse zone subentry ".$entry->dn()." failed, LDAP error: ".$result->error."\n"; } # Add DNS tab on server $mesg = $ldap->search( base => $systemdn, scope => 'base', filter => '(objectClass=*)' ); $mesg->code && die $mesg->error; my $system_entry = $mesg->shift_entry; $system_entry->get_value('objectClass'); my @classes = $system_entry->get_value('objectClass'); if (grep {$_ eq 'fdDNSHost'} @classes) { $result = $ldap->modify ( "$systemdn", add => { 'fdDNSZoneDn' => $zoneDn, } ); } else { $result = $ldap->modify ( "$systemdn", add => { 'fdDNSZoneDn' => $zoneDn, 'objectClass' => 'fdDNSHost' } ); } $result->code && print "Could not add DNS tab on $systemdn, LDAP error: ".$result->error."\nYou'll need to activate it yourself\n"; } } } } # function that moves DHCP configurations from systems to ou=dhcp sub migrate_dhcp { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; # Search for DHCP configurations my $mesg = $ldap->search( base => "$base", filter => "(objectClass=dhcpService)", attrs => ['cn'] ); $mesg->code && die $mesg->error; my @entries = $mesg->entries; print "There are ".$mesg->count." DHCP configurations in the LDAP\n"; my @baddns = (); foreach my $entry (@entries) { if ($entry->dn() !~ m/$dhcprdn/) { if (scalar(@baddns) == 0) { print "The following are not in the DHCP branch ($dhcprdn):\n"; } print $entry->dn()."\n"; push @baddns, $entry->dn(); } } if (scalar(@baddns) == 0) { print "They all already are in the DHCP branch ($dhcprdn):\n"; } else { if (ask_yn_question("Move these entries to the DHCP branch ($dhcprdn)?")) { foreach my $entrydn (@baddns) { $entrydn =~ m/^([^,]+),(cn=([^,]+),.*$systemrdn,(.+))$/ or die "Could not parse dn ".$entrydn."\n"; my $rdn = $1; my $systemdn = $2; my $systemcn = $3; my $entrybase = $4; if (!branch_exists($ldap, "$dhcprdn,$entrybase")) { create_branch($ldap, $entrybase, $dhcprdn); } my $result = $ldap->moddn ( $entrydn, newrdn => "$rdn-$systemcn", deleteoldrdn => '1', newsuperior => "$dhcprdn,$entrybase" ); $result->code && die "Migration of DHCP configuration entry failed, LDAP error: ".$result->error."\n"; my $configDn = "$rdn,$dhcprdn,$entrybase"; # Add DHCP service on server $mesg = $ldap->search( base => $systemdn, scope => 'base', filter => '(objectClass=*)' ); $mesg->code && die $mesg->error; my $system_entry = $mesg->shift_entry; $system_entry->get_value('objectClass'); my @classes = $system_entry->get_value('objectClass'); if (grep {$_ eq 'dhcpServer'} @classes) { $result = $ldap->modify ( "$systemdn", replace => { 'dhcpServiceDN' => $configDn, } ); } else { $result = $ldap->modify ( "$systemdn", replace => { 'dhcpServiceDN' => $configDn, }, add => { 'objectClass' => 'dhcpServer' } ); } $result->code && print "Could not add DHCP service on $systemdn, LDAP error: ".$result->error."\nYou'll need to activate it yourself\n"; } } } } sub migrate_acls { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; # Search for old formatted ACLs my $mesg = $ldap->search( base => "$base", filter => "(gosaAclEntry=*)", attrs => ['gosaAclEntry'] ); $mesg->code && die $mesg->error; while (my $entry = $mesg->shift_entry) { my $acls = $entry->get_value('gosaAclEntry', asref => 1); my @nacls = (); my $old_formats = 0; ACL: foreach my $acl (@$acls) { my $old_format = 0; my ($index,$scope,$part1,$part2,$filter); if ($acl =~ m/:(p?sub|role):/) { $old_format = 1; ($index,$scope,$part1,$part2,$filter) = split(':', $acl); } elsif ($acl !~ m/:subtree:/) { # With one or base scope we can't know, we have to check other parts ($index,$scope,$part1,$part2,$filter) = split(':', $acl); my $dn = decode_base64($part1); $mesg = $ldap->search( base => "$dn", scope => 'base', filter => '(objectClass=gosaRole)' ); die_on_ldap_errors($mesg); if ($mesg->count == 0) { $old_format = 1; } } if ($old_format) { $old_formats = 1; print "$acl needs migration\n"; my ($role_dn, $members); if ($scope eq 'role') { $role_dn = decode_base64($part1); $members = $part2; # Find scope in role $mesg = $ldap->search( base => $role_dn, scope => 'base', filter => '(objectClass=gosaRole)' ); die_on_ldap_errors($mesg); if (my $role_entry = $mesg->shift_entry) { my $acl_templates = $role_entry->get_value('gosaAclTemplate', asref => 1); my $scope = ''; foreach my $acl_template (@$acl_templates) { my ($t_index,$t_scope,$t_acl) = split(':',$acl_template); if ($scope eq '') { $scope = $t_scope; } elsif ($scope ne $t_scope) { print "We don't know how to migrate role $role_dn as it contains several scopes\n"; push @nacls, $acl; next ACL; } } push @nacls, "$index:$scope:".encode_base64($role_dn).":$members"; } else { # Removing invalid ACL print "Removing acl as associated role $role_dn does not exists\n"; next ACL; } } else { my $cn = find_free_role_dn($ldap,$base,'migrated-acl'); $role_dn = create_role($ldap,$base,$cn,$part2); $members = $part1; if ($scope =~ m/sub$/) { $scope = 'subtree'; } push @nacls, "$index:$scope:".encode_base64($role_dn).":$members"; } } else { push @nacls, $acl; } } if ($old_formats) { @nacls = sort @nacls; my $i = 0; for (@nacls) { s/^[0-9]*:/$i:/; $i++ }; # Re-index acls my $result = $ldap->modify ( $entry->dn, replace => { 'gosaAclEntry' => \@nacls } ); $result->code && warn "\n! failed to migrate ACL for '".$entry->dn."' - ".$result->error_name.": ".$result->error_text; print "Migrated acls for '".$entry->dn."'\n"; } } # Search for old formatted ACL roles $mesg = $ldap->search( base => "$base", filter => "(gosaAclTemplate=*:*:*)", attrs => ['gosaAclTemplate'] ); $mesg->code && die $mesg->error; ROLE: while (my $role_entry = $mesg->shift_entry) { my $acl_templates = $role_entry->get_value('gosaAclTemplate', asref => 1); my $scope = ''; my @ntemplates = (); foreach my $acl_template (@$acl_templates) { my ($t_index,$t_scope,$t_acl) = split(':',$acl_template); if ($scope eq '') { $scope = $t_scope; } elsif ($scope ne $t_scope) { print "We don't know how to migrate role '".$role_entry->dn."' as it contains several scopes\n"; next ROLE; } push @ntemplates, $t_index.':'.$t_acl; } my $result = $ldap->modify ( $role_entry->dn, replace => { 'gosaAclTemplate' => \@ntemplates } ); $result->code && warn "\n! failed to migrate ACL for '".$role_entry->dn."' - ".$result->error_name.": ".$result->error_text; print "Migrated role '".$role_entry->dn."'\n"; } } sub delete_gosa_locks { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; # Search for old formatted ACLs my $mesg = $ldap->search( base => "$base", filter => "(objectClass=gosaLockEntry)", attrs => ['dn'] ); $mesg->code && die $mesg->error; my @entries = $mesg->entries; foreach my $entry (@entries) { $mesg = $ldap->delete($entry); if ($mesg->code) { print "Failed to delete lock '".$entry->dn."': ".$mesg->error."\n"; } else { print "Deleted lock '".$entry->dn."'\n"; } } } # Get LDAP attributes which have been deprecated sub get_deprecated { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $schema_info = $ldap->schema(); my @attributes = $schema_info->all_attributes(); my @obsolete_attrs = (); foreach my $attribute (@attributes) { if ($attribute->{'obsolete'}) { push @obsolete_attrs, $attribute; } } my @ocs = $schema_info->all_objectclasses(); my @obsolete_classes = (); foreach my $oc (@ocs) { if ($oc->{'obsolete'}) { push @obsolete_classes, $oc; } } return (\@obsolete_attrs, \@obsolete_classes); } # function that migrates printers from FD<=1.0.13 to FD>=1.0.14 sub migrate_printers { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $mesg = $ldap->search( filter => '(objectClass=gotoPrinter)', base => $base ); $mesg->code && die $mesg->error; if ($mesg->count > 0) { print ("The following printers are using the obsolete gotoPrinter objectClass:\n"); my @entries = $mesg->entries; foreach my $entry (@entries) { print $entry->dn()."\n"; } if (ask_yn_question("Migrate these entries to fdPrinter objectClass?")) { foreach my $entry (@entries) { my $newrdn = "cn=".$entry->get_value('cn')."+ipHostNumber=".$entry->get_value('ipHostNumber'); $mesg = $ldap->moddn($entry->dn(), newrdn => $newrdn); if ($mesg->code) { print $entry->dn().": ".$mesg->error."\n"; next; } my $dn_old = $entry->dn(); $dn_old =~ s/^[^,]+,/$newrdn,/; my @replace = ('ieee802Device', 'ipHost', 'fdPrinter'); my @classes = $entry->get_value('objectClass'); foreach my $class (@classes) { if ($class ne 'gotoPrinter') { push(@replace, "$class"); } } $entry->replace("objectClass" => \@replace); $mesg = $ldap->add($entry); if ($mesg->code) { print $entry->dn().": ".$mesg->error."\n"; next; } undef @replace; $mesg = $ldap->delete($dn_old); $mesg->code && print $dn_old.": ".$mesg->error."\n"; } } } # unbind to the LDAP server my $unbind = $ldap->unbind; $unbind->code && warn "! Unable to unbind from LDAP server: ", $unbind->error."\n"; } # List LDAP attributes which have been deprecated sub list_deprecated { my ($obsolete_attrs, $obsolete_classes) = get_deprecated(); print "Deprecated attributes:\n"; foreach my $attribute (@$obsolete_attrs) { printf(" %-30s\t%-60s\t- %s\n", $attribute->{'name'}, '('.$attribute->{'desc'}.')', $attribute->{'oid'}); } print "Deprecated objectClasses:\n"; foreach my $oc (@$obsolete_classes) { printf(" %-30s\t%-60s\t- %s\n", $oc->{'name'}, '('.$oc->{'desc'}.')', $oc->{'oid'}); } } # List LDAP entries using attributes which have been deprecated sub check_deprecated { my ($obsolete_attrs, $obsolete_classes) = get_deprecated(); my $filterAttrs = '(|'.join('', (map{ '('.$_->{'name'}.'=*)' } @$obsolete_attrs)).')'; # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $entries = $ldap->search( base => "$base", filter => "$filterAttrs", ); $entries->code && die $entries->error; if ($entries->count > 0) { while (my $entry = $entries->shift_entry) { print $entry->dn." contains an obsolete attribute\n"; } } else { print "There are no entries in the LDAP using obsolete attributes\n"; } my $useobsoletes = 0; foreach my $class (@$obsolete_classes) { $entries = $ldap->search( base => "$base", filter => '(objectClass='.$class->{'name'}.')', ); $entries->code && die $entries->error; if ($entries->count > 0) { $useobsoletes = 1; while (my $entry = $entries->shift_entry) { print $entry->dn." uses the obsolete object class ".$class->{'name'}."\n"; } } } if (!$useobsoletes) { print "There are no entries in the LDAP using obsolete classes\n"; } } # Print a LDIF file removing attributes which have been deprecated sub ldif_deprecated { my ($obsolete_attrs, $obsolete_classes) = get_deprecated(); my $filterAttrs = '(|'.join('', (map{ '('.$_->{'name'}.'=*)' } @$obsolete_attrs)).')'; my $filterClasses = '(|'.join('', (map{ '(objectClass='.$_->{'name'}.')' } (grep {$_ ne 'gosaAccount'} @$obsolete_classes))).')'; # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $entries = $ldap->search( base => "$base", filter => "$filterAttrs", ); $entries->code && die $entries->error; if ($entries->count > 0) { while (my $entry = $entries->shift_entry) { print 'dn:'.$entry->dn."\n"; print "changetype:modify\n"; foreach my $attr (@$obsolete_attrs) { if ($entry->exists($attr->{'name'})) { print "delete:".$attr->{'name'}."\n-\n"; } } my @classes = $entry->get_value('objectClass'); if (grep {$_ eq 'gosaAccount'} @classes) { print "# Removing obsolete objectClass gosaAccount\n"; print "replace:objectClass\n"; foreach my $class (@classes) { if ($class ne 'gosaAccount') { print "objectClass:$class\n"; } } if ( ($entry->exists('dateOfBirth') || $entry->exists('personalTitle') || $entry->exists('gender')) && !(grep {$_ eq 'fdPersonalInfo'} @classes) ) { print "objectClass:fdPersonalInfo\n"; print "# Adding fdPersonalInfo because either dateOfBirth, personalTitle or gender is present. See personal plugin.\n"; } print "-\n"; } print "\n"; } } else { print "# There are no entries in the LDAP using obsolete attributes\n"; } $entries = $ldap->search( base => "$base", filter => "$filterClasses", ); $entries->code && die $entries->error; if ($entries->count > 0) { print "# WARNING: There are entries in the LDAP using obsolete classes (other than gosaAccount), you need to edit them manually\n"; } else { print "# There are no entries in the LDAP using obsolete classes\n"; } } # Read FD config in the LDAP sub read_ldap_config { # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $mesg = $ldap->search (base => "$configrdn,$base", filter => '(objectClass=fusionDirectoryConf)', scope => 'base'); die_on_ldap_errors($mesg); if ($mesg->count > 0) { if (($mesg->entries)[0]->exists('fdUserRDN')) { $userrdn = ($mesg->entries)[0]->get_value('fdUserRDN'); } if (($mesg->entries)[0]->exists('fdGroupRDN')) { $grouprdn = ($mesg->entries)[0]->get_value('fdGroupRDN'); } if (($mesg->entries)[0]->exists('fdAclRoleRDN')) { $aclrolerdn = ($mesg->entries)[0]->get_value('fdAclRoleRDN'); } if (($mesg->entries)[0]->exists('fdSystemRDN')) { $systemrdn = ($mesg->entries)[0]->get_value('fdSystemRDN'); } if (($mesg->entries)[0]->exists('fdDnsRDN')) { $dnsrdn = ($mesg->entries)[0]->get_value('fdDnsRDN'); } if (($mesg->entries)[0]->exists('fdDhcpRDN')) { $dhcprdn = ($mesg->entries)[0]->get_value('fdDhcpRDN'); } } return ($mesg->entries)[0]; } sub show_ldap_config { my $config_node = read_ldap_config(); $config_node->dump(); } sub set_config_var { my ($var, $value) = @_; if (!($var =~ m/^fd/)) { $var = "fd$var"; } print "Setting configuration var $var to $value\n"; # initiate the LDAP connexion my %hash_ldap_param = get_ldap_connexion(); # LDAP's connection's parameters my $base = $hash_ldap_param{base}; my $ldap = $hash_ldap_param{ldap}; my $result = $ldap->modify ( "$configrdn,$base", replace => { $var => $value } ); $result->code && warn "! failed to set value for '".$var."' - ".$result->error_name.": ".$result->error_text; } sub show_version { my $variables_common_path = "$vars{fd_home}/include/variables_common.inc"; my $vars_file; if (-e $variables_common_path) { open($vars_file, q{<}, $variables_common_path) || die ("Could not open $variables_common_path"); while(<$vars_file>) { if ($_ =~ m/^define \(["']FD_VERSION["'], "([^"]+)"\);/) { print "FusionDirectory version is $1\n"; last; } } close($vars_file); } else { print "File $variables_common_path does not exists, can’t find out FusionDirectory version\n"; } } # function that set useful vars based on user specified folders and files sub set_vars { $fd_config = $vars{fd_config_dir}."/".$vars{config_file}; $fd_secrets = $vars{fd_config_dir}."/".$vars{secrets_file}; $locale_dir = $vars{fd_home}."/".$vars{locale_dir}; $class_cache = $vars{fd_cache}."/".$vars{class_cache}; $locale_cache_dir = $vars{fd_cache}."/".$vars{locale_cache_dir}; $tmp_dir = $vars{fd_cache}."/".$vars{tmp_dir}; $fai_log_dir = $vars{fd_cache}."/".$vars{fai_log_dir}; $template_dir = $vars{fd_cache}."/".$vars{template_dir}; my $supann_dir = $vars{fd_cache}."/supann"; @root_config_dirs = ( $vars{fd_home}, $vars{fd_config_dir} ); @apache_config_dirs = ( $vars{fd_spool_dir}, $vars{fd_cache}, $tmp_dir, $fai_log_dir, $template_dir ); @config_dirs = ( @root_config_dirs, @apache_config_dirs ); } # function that list variables that can be modified by the user sub list_vars { while ( my ($key, $value) = each(%vars) ) { print "$key\t[$value]"."\n"; } } #################### main function ##################### #die if the user is not root die ("! You have to run this script as root\n") if ($= 1.0.17",\&migrate_dhcp]; $commands{"--migrate-acls"} = ["Migrating your ACLs", \&migrate_acls]; $commands{"--delete-gosa-locks"} = ["Delete lock tokens using old gosaLockEntry class", \&delete_gosa_locks]; $commands{"--install-plugins"} = ["Installing FusionDirectory's plugins", \&install_plugins]; $commands{"--encrypt-passwords"} = ["Encrypt passwords in fusiondirectory.conf", \&encrypt_passwords]; $commands{"--show-version"} = ["Show FusionDirectory version from variables_common.inc", \&show_version]; $commands{"--list-vars"} = ["List possible vars to give --set", \&list_vars]; $commands{"--write-vars"} = ["Choose FusionDirectory Directories", \&write_vars]; $commands{"--set-VAR=value"} = ["Set the variable VAR to value see --list-vars", \&die]; # Won't be called because it contains uppercase $commands{"--list-deprecated"} = ["List deprecated attributes and objectclasses", \&list_deprecated]; $commands{"--check-deprecated"} = ["List LDAP entries using deprecated attributes or objectclasses", \&check_deprecated]; $commands{"--ldif-deprecated"} = ["# Print an LDIF removing deprecated attributes",\&ldif_deprecated]; $commands{"--show-config"} = ["Show an LDAP dump of the FusionDirectory configuration", \&show_ldap_config]; $commands{"--set-config-VAR=value"} = ["Set the value in LDAP of a configuration field",\&set_config_var]; my $usage = 0; set_vars(); foreach my $arg ( @ARGV ) { if (( lc($arg) =~ m/^--set-(.*)=(.*)$/ ) && (grep {$_ eq lc($1)} @vars_keys)) { $vars{lc($1)} = $2; print "Setting $1 to $2\n"; set_vars(); } elsif ( $arg =~ m/^--set-config-(.*)=(.*)$/ ) { set_config_var($1, $2); } elsif ( defined $commands { lc ( $arg ) } ) { my @command = @{ $commands{ $arg } }; print( $command[0]."\n" ); $command[1](); } elsif ( ( lc($arg) eq "--help" ) || ( lc($arg) eq "-h" ) ) { print ( "\nCommands:\n" ); while ( my ( $key,$value ) = each %commands ) { print ( "$key\t".$value->[0]."\n" ); } print ("--yes\t\t\tAlways answer yes to yes/no questions\n"); print ("--help\t\t\tShows this help\n\n"); } elsif (( lc($arg) eq "--yes" ) || ( lc($arg) eq "-y" )) { $yes_flag = 1; } else { print ("\nInvalid argument\n\n"); $usage = 1; } } if( $usage || ( @ARGV <= 0 ) ) { print ( "Usage : $0 [--yes]" ); foreach my $command ( keys ( %commands )) { print ( " [$command]" ); } print "\n\n"; } exit 0; __END__ =head1 NAME fusiondirectory-setup - FusionDirectory configuration management tool =head1 DESCRIPTION This script is designed to perform multiple checks on your FusionDirectory/LDAP architecture, and fix usual misconfiguration. Some extra features allow you to install FusionDirectory's plugins, and change destinations directories. =head2 Options =over 4 =item --update-cache This option update the /var/cache/fusiondirectory/class.cache file. Wich contain PHP classes used in FusionDirectory, and their location. =item --update-locales This option update internalization, by generating a new .mo locales file for each language, with every .po files it found. Needs I and I to be installed. =item --check-directories This option perform a check on all FusionDirectory's files or directories. =item --check-config This option perform a check on FusionDirectory's config file. =item --check-ldap This option check your LDAP tree. Looking for admin account, and groups or people branch. If one of those don't exists, the script will ask you what to do. =item --check-ids This option check your LDAP tree for duplicated uidNumber or gidNumber among users and groups. =item --migrate-users This option add FusionDirectory attributes to the people branch. =item --migrate-printers This option replace gosaPrinter objectClass by new fdPrinter objectClass. =item --migrate-dns This option moves DNS zones from systems branch to DNS branch, which is necessary for FusionDirectory 1.0.10 and above. =item --migrate-dhcp This option moves DHCP configurations from systems branch to DHCP branch, which is necessary for FusionDirectory 1.0.17 and above. =item --migrate-acls This option will migrated old GOsa style acl from 1.0.7 into FusionDirectory acl roles in 1.0.8 =item --delete-gosa-locks This option will delete old GOsa style lock tokens from 1.0.15 or older =item --install-plugins This option will install the plugin from a tar.gz of the plugin. This option is intended for people wanting to install from the sources. =item --encrypt-passwords This option will encrypt the password inside your fusiondirectory.conf file, it need the headers module to be activated in your apache to work. =item --show-version This option will parse the file variables_common.inc of FusionDirectory to find out which version of FusionDirectory is installed. =item --list_vars This option will list the variables you can change to install FusionDirectory on another set of directories. This option is intended for people wanting to install from the sources. =item --write-vars This option will write back the variables.inc file with the updated variables and is only useful with --set-VAR=variable and for people installing from sources. =item --set-VAR=variable This option will change the variable for the FusionDirectory installation. it is only useful with --install-directories and for people installing from sources. =item --list-deprecated This option will list the deprecated attributes and objectclasses still in your schemas and no longer used by FusionDirectory. =item --check-deprecated This option will list the dn of LDAP entries using deprecated attributes or objectclasses and no longer used by FusionDirectory. =item --ldif-deprecated This option will print an LDIF to allow you to remove deprecated attributes from you ldap server. Be carefull and check before applying. =item --show-config This option will print a dump of the FusionDirectory configuration LDAP node. =item --set-config-VAR=value This option sets the value of a configuration field in the LDAP. The value needs to be in the correct LDAP format. You cannot set multivalued field with this. The var name can be provided with or without the fd prefix. =item --yes This flag will answer "yes" to every yes/no question asked by the script =back =head1 EXAMPLE benoit@catbert$ fusiondirectory-setup --update-cache --update-locales Update FusionDirectory class cache and update localization benoit@catbert$ fusiondirectory-setup --list-vars List possible vars to give --set locale_cache_dir [locale] config_file [fusiondirectory.conf] fd_cache [/var/cache/fusiondirectory] fd_smarty_dir [/usr/share/php/smarty3] fd_spool_dir [/var/spool/fusiondirectory] fai_log_dir [fai] tmp_dir [tmp] secrets_file [fusiondirectory.secrets] template_dir [template] locale_dir [locale] class_cache [class.cache] fd_config_dir [/etc/fusiondirectory] fd_home [/var/www/fusiondirectory] benoit@catbert$ fusiondirectory-setup --set-class_cache=class.cache --write-vars update the class.cache name and write back the variables.inc file =head1 BUGS Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to =head1 AUTHORS Benjamin Carpentier Come Bernigaud =head1 LICENCE AND COPYRIGHT This code is part of FusionDirectory (http://www.fusiondirectory.org/) =over 2 =item Copyright (C) 2011-2016 FusionDirectory =back 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. =cut fusiondirectory-1.0.19/contrib/docs/000077500000000000000000000000001304016502700174205ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/docs/README000066400000000000000000000061311304016502700203010ustar00rootroot00000000000000FusionDirectory 1.0.x README ============================ * Information FusionDirectory is a LDAP administration frontend managing your network including users, groups, systems, mail servers, voip etc... Informations are stored the way the underlying concepts suppose them to be stored but most of it can be configured that way you want most of the time. Complete setups applying Kerberos, AFS, LDAP, Mail, Proxy and Fax setups are not trivial at all. You should be familiar with these components and with your UNIX installation, of course. This file is not an introduction to any of these components. See INSTALL for a quick overview about what to do, to get the things up and running. * Migration from one version to another you always can find the upgrade instruction here http://documentation.fusiondirectory.org/en/documentation_admin * Translations FusionDirectory is not available in your native language? Just read on... We are using [[https://www.transifex.net/|transifex]] to translate FusionDirectory. * You just need to create an account [[https://www.transifex.net/plans/signup/free/|transifex]] * Join the team of the language you want to translate https://www.transifex.net/projects/p/FusionDirectory/ * If your team doesn't exist you can ask for his creation If you're ready with that, create a directory for your language using the ISO shortcuts (i.e. es for spain). In case of spain this will be fusiondirectory/locales/es/ and put the freshly translated fusiondirectory.po in this directory. To test this, you've deploy the fusiondirectory.po file in your running copy of FusionDirectory and run the "fusiondirectory-setup --update-locales" command, to let FusionDirectory merge the translations. Then, Make sure your apache has locale support or, in case of debian, that the specific locale will be generated (via dpkg-reconfigure locales). For fusiondirectory-plugins, every plugin has a locales directory. Translation works like described for fusiondirectory. Always run fusiondirectory-setup --update-locales after you've added translations in order to let FusionDirectory compile and re-sync the translations. * Security related information FusionDirectory is running as the www-data user. This makes it possible for other web applications (well, this is the rule for allmost every web application that stores information somewhere around) to read the fusiondirectory.conf file, which may contain vital information about your LDAP service. To make it harder to extract these passwords, they get encrypted by a master password only readable by the FusionDirectory location. You can simply migrate old existing passwords by typing: a2enmod headers fusiondirectory-setup --encrypt-passwords /etc/init.d/apache2 reload Have fun! --- * Further information To improve this piece of software, please report all kind of errors using the bug tracker on https://forge.fusiondirectory.org Documentation: http://documentation.fusiondirectory.org/ Mailinglist: http://lists.fusiondirectory.org/ Irc: #fusiondirectory on freenode --- The FusionDirectory project fusiondirectory-1.0.19/contrib/docs/README.cnconfig000066400000000000000000000044661304016502700220770ustar00rootroot00000000000000Converting .schema to ldif files -------------------------------- Explanation of the cn=config system ----------------------------------- Why cn=config system ? Before using cn=config, all configuration was stored in flat file, like schema, special configuration, replication… Now everything is stored inside LDAP tree, it make server replication more efficient and easier to implement. With cn=config you could : * Replicate schema modification in all LDAP server trough replication system (avoid to copy manually all .schema file on all server) * Avoid restarting/reloading server for schema management, log management, configuration task But it's quite more difficult to manage it … how to insert a schema ---------------------- All the schema for FusionDirectory are provided in .schema. our tool fusiondirectory-insert-schema is capable or converting and inserting schema in your ldap server automatically #fusiondirectory-insert-schema -i /usr/share/doc/libapache2-mod-vhost-ldap/mod_vhost_ldap.schema SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 executing 'ldapadd -Y EXTERNAL -H ldapi:/// -f /usr/share/doc/libapache2-mod-vhost-ldap/mod_vhost_ldap.ldif'SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=mod_vhost_ldap,cn=schema,cn=config" our tool is also capable to update schema in place #fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 executing 'ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/fusiondirectory/core-fd-conf_update.ldif' SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn={6}core-fd-conf,cn=schema,cn=config" Have fun! --- * Further information To improve this piece of software, please report all kind of errors using the bug tracker on https://forge.fusiondirectory.org Documentation: http://documentation.fusiondirectory.org/ Mailinglist: http://lists.fusiondirectory.org/ Irc: #fusiondirectory on freenode --- The FusionDirectory project fusiondirectory-1.0.19/contrib/docs/README.ldap-migration000066400000000000000000000023051304016502700232060ustar00rootroot00000000000000LDAP TREE MIGRATION =================== To migrate an existing LDAP tree, you've to do all steps from above, plus some modifications: - FusionDirectory only shows users that have the objectClass inetOrgPerson - FusionDirectory only recognizes subtrees (or departments in FusionDirectory's view of things) that have the objectClass gosaDepartment. You can hide subtrees from FusionDirectory by not putting this objectClass inside. The FusionDirectory setup may be used to do these migrations, but it is not meant to work in every possible circumstance. Please be carefull when using it on productive system. That should be all. Entries should be visible in FusionDirectory now. Be aware that if your naming policy of user cn's differs from the way FusionDirectory handles it, the entries get rewritten to a FusionDirectory style dn. Have fun! --- * Further information To improve this piece of software, please report all kind of errors using the bug tracker on https://forge.fusiondirectory.org Documentation: http://documentation.fusiondirectory.org/ Mailinglist: http://lists.fusiondirectory.org/ Irc: #fusiondirectory on freenode --- The FusionDirectory project fusiondirectory-1.0.19/contrib/docs/UPGRADE000066400000000000000000005422511304016502700204430ustar00rootroot00000000000000Migrate FusionDirectory from 1.0.6 to 1.0.7 =========================================== - Upgrade fusiondirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: Debian ====== - Add new debian-extra repo to you source list deb http://repos.fusiondirectory.org/debian-extra wheezy main root@fusion-install:~# apt-get update root@fusion-install:~# apt-get install fusiondirectory root@fusion-install:~# apt-get upgrade Upgrade of LDAP directory ========================= You have to update your LDAP schemas, first update the FusionDirectory core schemas. We have put a new option in fusiondirectory-insert-schema that allow you to update easily your schema without the use of ldif files. The following schemas needs an update : * core-fd-conf.schema * mail-fd.schema * service-fd.schema * systems-fd-conf.schema * systems-fd.schema #fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema You must do the same procedure for all other schema needing an update Migrate FusionDirectory from 1.0.7.0 or 1.0.7.1 to 1.0.7.2 ========================================================== - Upgrade FusionDirectory first Upgrading FusionDirectory core package before other ones to avoid dependencies errors: - Upgrade of your LDAP directory You have to update your LDAP schemas, first update the FusionDirectory core schemas. We have put a new option in fusiondirectory-insert-schema that allow you to update easily your schema without the use of ldif files. fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema Migrate FusionDirectory from 1.0.7.2 to 1.0.7.3 ========================================================== - Upgrade FusionDirectory first Upgrading FusionDirectory core package before other ones to avoid dependencies errors: - Upgrade of your LDAP directory You have to update your LDAP schemas, first update the FusionDirectory core schemas. We have put a new option in fusiondirectory-insert-schema that allow you to update easily your schema without the use of ldif files. in this version only the schema from the argonaut plugin needs to be update if you have the systems or argonaut plugins installed fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/argonaut-fd.schema Migrate FusionDirectory from 1.0.7.3 to 1.0.7.4 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: Migrate FusionDirectory from 1.0.7.4 to 1.0.8 ============================================= - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: - Remove the deprecated plugins The rolemanagement plugin has been integrated to the core so it must be removed. The board plugin has been renamed so it must be replaced - Upgrade of LDAP directory You have to update your LDAP schemas, first update the FusionDirectory core schemas. fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema After that you have to update the schema for the plugins you are using. In this version the following schema have to be updated * argonaut-fd-schema * ipmi-fd.schema * repository-fd.schema Migrate FusionDirectory from 1.0.8 to 1.0.8.1 ============================================= - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: - Upgrade of LDAP directory You have to update your LDAP schemas, first update the FusionDirectory core schemas. fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - Check for deprecated attributes and objectClasses in your LDAP FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --check-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClass Migrate FusionDirectory from 1.0.8.1 to 1.0.8.2 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: Migrate FusionDirectory from 1.0.8.2 to 1.0.8.3 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: - Upgrade of LDAP directory You have to update your LDAP schemas, first update the FusionDirectory core schemas. fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - Check for deprecated attributes and objectClasses in your LDAP FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --check-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClass !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.3 to 1.0.8.4 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: - Check for deprecated attributes and objectClasses in your LDAP FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --check-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClass !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.4 to 1.0.8.5 =============================================== - Remove the deprecated plugins The dashboard plugin has been integrated to the core so it must be removed. apt-get --purge remove fusiondirectory-plugin-dashboard - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - You may have to update your LDAP schemas, first update the FusionDirectory core schemas. !!! Only update this one if you don't have the dashboard.schema installed, because now that dashboard is merged to core, its attribute are in core. !!! fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema - If you are using the debconf plugin update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/debconf.schema - If you are using the fai plugin update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/fai.schema If you are using the mail plugin update his schema - fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/mail-fd.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --check-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClass !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.5 to 1.0.8.6 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Migrate FusionDirectory from 1.0.8.6 to 1.0.8.7 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - You may have to update your LDAP schemas, first update the FusionDirectory core schemas. !! You need to remove the dashboard.schema if installed, because now that dashboard is merged to core, its attribute are in core. !! fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --check-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClass !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.7 to 1.0.8.8 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Nothing to do Check for deprecated attributes and objectClasses in your LDAP ============================================================== FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup –check-deprecated will output a list of dns using old attributes and objectClasses fusiondirectory-setup –ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClasses !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.8 to 1.0.8.9 =============================================== - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the argonaut.schema if you use the argonaut plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/argonaut-fd.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== FusionDirectory 1.0.8.1 comes with two new options in fusiondirectory-setup fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gosaUnitTag (Takes a list of relevant mime-type|priority settings) - 1.3.6.1.4.1.10098.1.1.12.33 gosaSnapshotType (Takes either undo or snapshot) - 1.3.6.1.4.1.10098.1.1.12.36 fdHonourUnitTags (FusionDirectory - Honour unit tags) - 1.3.6.1.4.1.38414.8.14.3 Deprecated objectClasses: gosaAdministrativeUnitTag (Marker for objects below administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.16 gosaAdministrativeUnit (Marker for administrational units (v2.6.1)) - 1.3.6.1.4.1.10098.1.2.1.19.15 fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup –check-deprecated will output a list of dns using old attributes and objectClasses fusiondirectory-setup –ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes and objectClasses !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.8.9 to 1.0.9 ============================================= Backup you template First ========================= The template system has been completely rewritten, and the old template will not be converted, so you need to backup them, remove them from FusionDirectory and then redo them. The new system is much cleaner because template are stored in they own branch now and are the basis for having template for the whole application in the future. Backup your phones ================== You must backup all your phones in a LDIF and remove them. Modify your LDIF like below: Before ====== cn=namePhone,ou=phones,ou=systems,dc=labo,dc=opensides,dc=be cn: namePhone goFonType: friend goFonDmtfMode: inband goFonDefaultIP: dynamic ipHostNumber: 127.0.0.1 macAddress: 00:0C:7F:31:33:F1 objectClass: top After ===== cn=namePhone,ou=phones,ou=systems cn: namePhone ipHostNumber: 127.0.0.1 macAddress: 00:0C:7F:31:33:F1 objectClass: fdPhone objectClass: device objectClass: ieee802Device objectClass: ipHost After the migration you may insert your phone again in your LDAP. Moved Attributes ================ We cleaned the core of FusionDirectory to only used classical attributes and objectClass, so the FusionDirectory special attributes on the first page of FusionDirectory are now managed by the personal plugin. The personal plugin has been made to manage all kind of personal data and is best suited to contain those data not normalized. So of you use personalTitle, dateOfBirth, gender you will need to install the personal plugin. - Upgrade FusionDirectory first Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Removed obsolete plugins ======================== In this version we removed obsolete plugin, because they where based on software no longer existing or needed an sql backend and we decided they need to be rewritten using the now ldap backend of those softwares : asterisk : old plugin not maintainable anymore based on the sql backend, but now asterisk has an ldap backend has well. fax : old code based on the gofax software from gonicus, not maintained anymore upstream. openstack-compute : openstack management interface changed and this plugin is no longer relevant uw-imap : long gone imap server, nobody that whe know still use it They are no longer supported and should be removed from your installation apt-get remove fusiondirectory-plugin-asterisk apt-get remove fusiondirectory-plugin-fax apt-get remove fusiondirectory-plugin-openstack-compute apt-get remove fusiondirectory-plugin-uwimap New Plugin for peoples using a mix of groupOfNames and posixGroup on the same object ==================================================================================== We cleaned the code of FusionDirectory and by default it make posixGroup or clean standard compliant groupOfNames. If you need a mix of groupOfNames and posixGroup on the same object you will need to install a new plugin called mixedgroups. ! Please take note that this plugin is for special cases and need modified core schema. ! If you need to have a link between user and groups you are better using the standard compliant groupOfNames or roles for examples for web applications. apt-get install fusiondirectory-plugin-mixedgroups Upgrade of LDAP directory ========================= - Upgrade Core FusionDirectory Schema The password recovery schema has been migrated into the core schema so you must remove it first fusiondirectory-insert-schema -e recovery-fd Are you sure you want to empty schema(s) recovery-fd? [Yes/No]? - Upgrade the core-fd.schema and core-fd-conf.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - Upgrade the argonaut.schema if you use the argonaut plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/argonaut-fd.schema - Upgrade the fai-fd-conf.schema if you use the fai plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/fai-fd-conf.schema - Upgrade the mail-fd.schema if you use the mail plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/mail-fd.schema - Upgrade the personal-fd.schema if you use the personal plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/personal-fd.schema - Upgrade the proxy-fd.schema if you use the squid plugin fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/proxy-fd.schema - Upgrade the service-fd.schema, systems-fd.schema, systems-fd-conf.schema if you use the system plugin The Phone object has been migrated to the system plugin due to the removal of the asterisk plugin. fusiondirectory-insert-schema -e asterisk-fd-conf Are you sure you want to empty schema(s) asterisk-fd-conf? [Yes/No]? fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/service-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd-conf.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory List deprecated attributes and objectclasses Deprecated attributes: gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 Deprecated objectClasses: gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses cn=fusiondirectory,ou=configs,dc=fusiondirectory,dc=org contains an obsolete attribute uid=fd-admin,ou=people,dc=fusiondirectory,dc=org uses the obsolete object class gosaAccount fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the fusiondirectory-setup --check-deprecated step. fusiondirectory-setup --ldif-deprecated # Print an LDIF removing deprecated attributes dn:cn=fusiondirectory,ou=configs,dc=fusiondirectory,dc=org changetype:modify delete:fdRfc2307bis - delete:fdCopyPaste # WARNING: There are entries in the LDAP using obsolete classes, you need to edit them manually **Please read it carefully before applying :!: :!:** Migrate FusionDirectory from 1.0.9 to 1.0.9.1 ============================================= Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the core template schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/template-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd.conf Check for deprecated attributes and objectClasses in your LDAP ============================================================== fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 Deprecated objectClasses: goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses cn=fusiondirectory,ou=configs,dc=fusiondirectory,dc=org contains an obsolete attribute uid=fd-admin,ou=people,dc=fusiondirectory,dc=org uses the obsolete object class gosaAccount fusiondirectory-setup --migrate-users can help you migrate you user to the new core classes that are used by FusionDirectory. If they are attributes moved over to the personal plugin, it will automatically migrate them and you juste need to install the personal plugin fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the fusiondirectory-setup --check-deprecated step at the exception of the gosaAccount class that is migrated with fusiondirectory-setup --migrate-users like mentioned above. Please read it carefully before applying !! Migrate FusionDirectory from 1.0.9.1 to 1.0.9.2 =============================================== Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Removed obsolete plugins ======================== In this version we removed obsolete plugin, because they where based on software no longer existing or needed an sql backend and we decided they need to be rewritten using the now ldap backend of those softwares : rsyslog : old plugin not maintainable anymore based on the sql backend, and we don't want to manage sql backend in FusionDiretory anymore database-connector : sql abstraction code no longer needed now that rsylog plugin is removed They are no longer supported and should be removed from your installation apt-get remove fusiondirectory-plugin-rsyslog apt-get remove fusiondirectory-plugin-database-connector ==== Upgrade of LDAP directory ==== - Upgrade the core template schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema - if your are using the fusioninventory plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/inventory-fd.schema - if your are using the supann plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/supann-fd.conf ==== Remove old schema from /etc/ldap/schema/fusiondirectory ==== The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd.conf if they still exist ==== Check for deprecated attributes and objectClasses in your LDAP ==== fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 Deprecated objectClasses: goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --migrate-users can help you migrate you user to the new core classes that are used by FusionDirectory. If they are attributes moved over to the personal plugin, it will automatically migrate them and you juste need to install the personal plugin fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the fusiondirectory-setup --check-deprecated step at the exception of the gosaAccount class that is migrated with **fusiondirectory-setup --migrate-users** like mentioned above. Please read it carefully before applying :!::!: Migrate FusionDirectory from 1.0.9.2 to 1.0.9.3 =============================================== Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories. In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the core configuration schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - if your are using the system plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/service-fd.schema - if your are using the repository plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/repository.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove **recovery-fd.schema** and **asterisk-fd.conf** if they still exist Check for deprecated attributes and objectClasses in your LDAP ============================================================== **fusiondirectory-setup --list-deprecated** show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 Deprecated objectClasses: goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --migrate-users can help you migrate you user to the new core classes that are used by FusionDirectory. If they are attributes moved over to the personal plugin, it will automatically migrate them and you juste need to install the personal plugin fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the fusiondirectory-setup --check-deprecated step at the exception of the gosaAccount class that is migrated with **fusiondirectory-setup --migrate-users** like mentioned above. Please read it carefully before applying !! Migrate FusionDirectory from 1.0.9.3 to 1.0.10 ============================================== Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the core configuration schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - if your are using the personal plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/personal-fd.schema - if your are using the system plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd-conf.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/service-fd.schema - if your are using the dns plugin you have to update his schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/dns-fd-conf.schema and install a new schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/dns-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd-conf.schema if they still exist Check for deprecated attributes and objectClasses in your LDAP fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 Deprecated objectClasses: goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the **fusiondirectory-setup --check-deprecated** step. !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.10 to 1.0.11 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Migrate FusionDirectory from 1.0.11 to 1.0.12 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Mail ==== In this version the mail plugin has been cleaned and his dependency to the systems has been removed. In the mean time the postfix and spamassassin service have been moved in their own plugins. The antivirus service have been removed. The old spamassasin settings from the mail / user tab have been rewritten and moved to a spamassasin, they now support the real LDAP backend of spamassasin. So you will need to move your data to the new format before using them. Upgrade FusionDirectory first ============================= Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - if your are using the mail plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/mail-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/mail-fd-conf.schema - if your are using the system plugin you have to update its schemas fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/service-fd.schema Postfix plugin ============== - if you where using the postfix service in 1.0.11, you need to install the postfix plugin and insert the postfix schema apt-get install fusiondirectory-plugin-postfix apt-get install fusiondirectory-plugin-postfix-schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/postfix-fd.schema Spamassasin plugin ================== - if you where using the spamassin service in 1.0.11, you need to install the spamassassin plugin and insert the spamassasin schema apt-get install fusiondirectory-plugin-spamassassin apt-get install fusiondirectory-plugin-spamassassin-schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/spamassassin-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd-conf.schema if they still exist Check for deprecated attributes and objectClasses in your LDAP fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 Deprecated objectClasses: goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the **fusiondirectory-setup --check-deprecated** step. !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.12 to 1.0.13 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - if your are using the alias plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/alias-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd-conf.schema if they still exist Check for deprecated attributes and objectClasses in your LDAP fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 Deprecated objectClasses: goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the **fusiondirectory-setup --check-deprecated** step. !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.13 to 1.0.14 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - if your are using the community plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/community-fd.schema - if your are using the systems plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd-conf.schema if they still exist Check for deprecated attributes and objectClasses in your LDAP fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gosaSubtreeACL (GOsa - ACL entry) - 1.3.6.1.4.1.10098.1.1.12.1 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 academicTitle (Field to represent the academic title) - 1.3.6.1.4.1.10098.1.1.6.2 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gosaLoginRestriction (GOsa - Multivalue attribute to carry a number of allowed ips/subnets) - 1.3.6.1.4.1.10098.1.1.12.46 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 gosaDefaultLanguage (GOsa - Defines the default language for a user) - 1.3.6.1.4.1.10098.1.1.12.14 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 Deprecated objectClasses: goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 gosaCacheEntry (GOsa - Class for GOsa caching) - 1.3.6.1.4.1.10098.1.2.1.19.3 gosaObject (GOsa - Class for GOsa settings) - 1.3.6.1.4.1.10098.1.2.1.19.1 goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 gosaAccount (GOsa - Class for GOsa Accounts) - 1.3.6.1.4.1.10098.1.2.1.19.6 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the **fusiondirectory-setup --check-deprecated** step. !! Please read it carefully before applying !! New Breezy Theme ================ In this version by default there is a new more modern theme called breezy. To active it completely go to the configuration plugin, click edit and in the "Look and feel" section select breezy Enjoy :) Migrate FusionDirectory from 1.0.14 to 1.0.15 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Plugin deprecated ================= The apache2 plugin as been removed in this version apt-get remove fusiondirectory-plugin-apache2 apt-get remove fusiondirectory-plugin-apache2-schema Upgrade of LDAP directory ========================= - Upgrade the core template schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema - if your are using the systems plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/systems-fd.schema - if your are using the personal plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/personal-fd.schema Remove old schema from /etc/ldap/schema/fusiondirectory ======================================================= The old schema are not automatically removed from /etc/ldap/schema/fusiondirectory. You can safely remove recovery-fd.schema and asterisk-fd-conf.schema if they still exist Check for deprecated attributes and objectClasses in your LDAP fusiondirectory-setup --list-deprecated show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 gotoPrinterPPD (GOto - Gonicus Terminal Concept, PPD data) - 1.3.6.1.4.1.10098.1.1.11.6 fdAsteriskDriver (Driver used for asterisk DB) - 1.3.6.1.4.1.10098.1.1.9.30 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 gotoGroupAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.17 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 printerWindowsDriverName (Windows name of the printer driver) - 1.3.6.1.4.1.38414.6.10.3 printerWindowsDriverDir (Path to directory that contains windows drivers for this printer) - 1.3.6.1.4.1.38414.6.10.2 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 avArchiveMaxRecursion (Maximum number of archive nestings) - 1.3.6.1.4.1.10098.1.1.9.73 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 printerWindowsInfFile (Path to windows inf file for this printer) - 1.3.6.1.4.1.38414.6.10.1 avArchiveMaxCompressionRatio (Maximum compression ratio) - 1.3.6.1.4.1.10098.1.1.9.74 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 avMaxDirectoryRecursions (Number of recursions done with directories) - 1.3.6.1.4.1.10098.1.1.9.69 gotoUserPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.12 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 avMaxThreads (Number of AV scanning threads) - 1.3.6.1.4.1.10098.1.1.9.68 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 avHttpProxyURL (How to get the updates) - 1.3.6.1.4.1.10098.1.1.9.76 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 avDatabaseMirror (Where to find updates) - 1.3.6.1.4.1.10098.1.1.9.75 gotoGroupPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.16 fdMailMethod (FusionDirectory - Mail method) - 1.3.6.1.4.1.38414.10.10.1 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 avArchiveMaxFileSize (Maximum archive file size) - 1.3.6.1.4.1.10098.1.1.9.72 avChecksPerDay (Update checks per day) - 1.3.6.1.4.1.10098.1.1.9.78 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 avUser (Username to run antivirus with) - 1.3.6.1.4.1.10098.1.1.9.70 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 avFlags (Special flags for the antivirus scan engine) - 1.3.6.1.4.1.10098.1.1.9.71 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 gotoUserAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.13 Deprecated objectClasses: goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 goVirusServer (Virus server definition) - 1.3.6.1.4.1.10098.1.2.1.39 fusiondirectory-setup --check-deprecated will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes If you see the obsolete object class gotoPrinter you must run the next command and answer yes fusiondirectory-setup --migrate-printers fusiondirectory-setup --ldif-deprecated will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. If they are old objectClasses it will warn you and you will have to remove it by hand, they have been specified at the fusiondirectory-setup --check-deprecated step. !! Please read it carefully before applying !! ==== Hook ==== You must modify your hook so that they don't use quotes. The attributes are now automatically quotes and escape. ==== New Breezy Theme ==== In this version by default there is a new more modern theme called breezy. To active it completely go to the configuration plugin, click edit and in the "Look and feel" section select breezy Migrate FusionDirectory from 1.0.15 to 1.0.16 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the core template schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== The --list-deprecated option of fusiondirectory-setup show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 printerWindowsDriverDir (Path to directory that contains windows drivers for this printer) - 1.3.6.1.4.1.38414.6.10.2 avHttpProxyURL (How to get the updates) - 1.3.6.1.4.1.10098.1.1.9.76 avMaxDirectoryRecursions (Number of recursions done with directories) - 1.3.6.1.4.1.10098.1.1.9.69 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoPrinterPPD (GOto - Gonicus Terminal Concept, PPD data) - 1.3.6.1.4.1.10098.1.1.11.6 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoUserAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.13 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 fdAsteriskDriver (Driver used for asterisk DB) - 1.3.6.1.4.1.10098.1.1.9.30 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gosaObject (GOsa - DN of an object) - 1.3.6.1.4.1.10098.1.1.12.3 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 gotoUserPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.12 printerWindowsInfFile (Path to windows inf file for this printer) - 1.3.6.1.4.1.38414.6.10.1 avChecksPerDay (Update checks per day) - 1.3.6.1.4.1.10098.1.1.9.78 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoGroupAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.17 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 avArchiveMaxRecursion (Maximum number of archive nestings) - 1.3.6.1.4.1.10098.1.1.9.73 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 avArchiveMaxFileSize (Maximum archive file size) - 1.3.6.1.4.1.10098.1.1.9.72 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 avFlags (Special flags for the antivirus scan engine) - 1.3.6.1.4.1.10098.1.1.9.71 avUser (Username to run antivirus with) - 1.3.6.1.4.1.10098.1.1.9.70 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoGroupPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.16 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 fdMailMethod (FusionDirectory - Mail method) - 1.3.6.1.4.1.38414.10.10.1 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 printerWindowsDriverName (Windows name of the printer driver) - 1.3.6.1.4.1.38414.6.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 avDatabaseMirror (Where to find updates) - 1.3.6.1.4.1.10098.1.1.9.75 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 gosaUser (GOsa - DN of a user) - 1.3.6.1.4.1.10098.1.1.12.2 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 avMaxThreads (Number of AV scanning threads) - 1.3.6.1.4.1.10098.1.1.9.68 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 avArchiveMaxCompressionRatio (Maximum compression ratio) - 1.3.6.1.4.1.10098.1.1.9.74 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 Deprecated objectClasses: goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 gosaLockEntry (GOsa - Class for GOsa locking) - 1.3.6.1.4.1.10098.1.2.1.19.2 goVirusServer (Virus server definition) - 1.3.6.1.4.1.10098.1.2.1.39 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 The --check-deprecated option will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes The lock attribute and objectClass has been Change so you need to run fusiondirectory-setup --delete-gosa-locks to remove them fusiondirectory-setup --delete-gosa-locks Delete lock tokens using old gosaLockEntry class Deleted lock 'cn=df0c0960f4202f794a331f07f3fbcccd,ou=locks,ou=fusiondirectory,dc=org' Deleted lock 'cn=157dc41f15328c6ae3f1a2542c0dd481,ou=locks,ou=fusiondirectory,dc=org' The --ldif-deprecated option will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. fusiondirectory-setup --ldif-deprecated > remove_deprecated.ldif If they are old objectClasses it will warn you and you will have to remove them by hand, they have been specified at the --check-deprecated step. !! Please read it carefully before applying !! Migrate FusionDirectory from 1.0.16 to 1.0.17 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade schemas if your are using the fai plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/fai.schema if your are using the dhcp plugin you have to install a new schema fusiondirectory-insert-schema -m /etc/ldap/schema/dhcp-fd-conf.schema Remove old ldif from /etc/ldap/schema/fusiondirectory ===================================================== We removed a default ldif from the ppolicy plugin, you can delete it safely from /etc/ldap/schema/fusiondirectory/ppolicydefault.ldif Check for deprecated attributes and objectClasses in your LDAP ============================================================== The --list-deprecated option of fusiondirectory-setup show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 printerWindowsDriverDir (Path to directory that contains windows drivers for this printer) - 1.3.6.1.4.1.38414.6.10.2 avHttpProxyURL (How to get the updates) - 1.3.6.1.4.1.10098.1.1.9.76 avMaxDirectoryRecursions (Number of recursions done with directories) - 1.3.6.1.4.1.10098.1.1.9.69 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoPrinterPPD (GOto - Gonicus Terminal Concept, PPD data) - 1.3.6.1.4.1.10098.1.1.11.6 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoUserAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.13 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 fdAsteriskDriver (Driver used for asterisk DB) - 1.3.6.1.4.1.10098.1.1.9.30 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gosaObject (GOsa - DN of an object) - 1.3.6.1.4.1.10098.1.1.12.3 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 gotoUserPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.12 printerWindowsInfFile (Path to windows inf file for this printer) - 1.3.6.1.4.1.38414.6.10.1 avChecksPerDay (Update checks per day) - 1.3.6.1.4.1.10098.1.1.9.78 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoGroupAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.17 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 avArchiveMaxRecursion (Maximum number of archive nestings) - 1.3.6.1.4.1.10098.1.1.9.73 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 avArchiveMaxFileSize (Maximum archive file size) - 1.3.6.1.4.1.10098.1.1.9.72 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 avFlags (Special flags for the antivirus scan engine) - 1.3.6.1.4.1.10098.1.1.9.71 avUser (Username to run antivirus with) - 1.3.6.1.4.1.10098.1.1.9.70 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoGroupPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.16 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 fdMailMethod (FusionDirectory - Mail method) - 1.3.6.1.4.1.38414.10.10.1 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 printerWindowsDriverName (Windows name of the printer driver) - 1.3.6.1.4.1.38414.6.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 avDatabaseMirror (Where to find updates) - 1.3.6.1.4.1.10098.1.1.9.75 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 gosaUser (GOsa - DN of a user) - 1.3.6.1.4.1.10098.1.1.12.2 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 avMaxThreads (Number of AV scanning threads) - 1.3.6.1.4.1.10098.1.1.9.68 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 avArchiveMaxCompressionRatio (Maximum compression ratio) - 1.3.6.1.4.1.10098.1.1.9.74 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 Deprecated objectClasses: goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 gosaLockEntry (GOsa - Class for GOsa locking) - 1.3.6.1.4.1.10098.1.2.1.19.2 goVirusServer (Virus server definition) - 1.3.6.1.4.1.10098.1.2.1.39 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 The --check-deprecated option will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes The --ldif-deprecated option will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. fusiondirectory-setup --ldif-deprecated > remove_deprecated.ldif If they are old objectClasses it will warn you and you will have to remove them by hand, they have been specified at the --check-deprecated step. !! Please read it carefully before applying !! Migrate your DHCP entries ========================= if you where using the DHCP plugin in 1.0.16, you need to migrate your entries to the dhcp branch, run the **fusiondirectory-setup --migrate-dhcp** for this fusiondirectory-setup --migrate-dhcp Checking your indexed attributes ================================ Check that all you index still match with valid attributes present in your ldap directory Migrate FusionDirectory from 1.0.17 to 1.0.18 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= - Upgrade the core schemas fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/core-fd-conf.schema - if your are using the systems plugin you have to update its schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/service-fd.schema fusiondirectory-insert-schema -m /etc/ldap/schema/fusiondirectory/system-fd.schema Check for deprecated attributes and objectClasses in your LDAP ============================================================== The --list-deprecated option of fusiondirectory-setup show deprecated attributes and objectClasses for FusionDirectory fusiondirectory-setup --list-deprecated List deprecated attributes and objectclasses Deprecated attributes: gotoLpdServer (GOto - Gonicus Terminal Concept, value lpdServer.) - 1.3.6.1.4.1.10098.1.1.1.4 fdPhoneMacroRDN (FusionDirectory - Phone macro RDN) - 1.3.6.1.4.1.38414.19.10.2 gotoCdromEnable (GOto - Gonicus Terminal Concept, value cdromEnable.) - 1.3.6.1.4.1.10098.1.1.1.8 gotoFontPath (GOto - Gonicus Terminal Concept, value fontPath.) - 1.3.6.1.4.1.10098.1.1.1.5 printerWindowsDriverDir (Path to directory that contains windows drivers for this printer) - 1.3.6.1.4.1.38414.6.10.2 avHttpProxyURL (How to get the updates) - 1.3.6.1.4.1.10098.1.1.9.76 avMaxDirectoryRecursions (Number of recursions done with directories) - 1.3.6.1.4.1.10098.1.1.9.69 goFonPassword (Admin password for fon server) - 1.3.6.1.4.1.10098.1.1.9.27 gotoFilesystem (GOto - Gonicus Terminal Concept, value filesystem.) - 1.3.6.1.4.1.10098.1.1.1.6 gotoPrinterPPD (GOto - Gonicus Terminal Concept, PPD data) - 1.3.6.1.4.1.10098.1.1.11.6 fdSnapshotAdminDn (FusionDirectory - Snaphost admin dn) - 1.3.6.1.4.1.38414.8.17.4 ghUsbSupport (Hardware definitions, value usbSupport) - 1.3.6.1.4.1.10098.1.1.2.3 gotoScannerEnable (GOto - Gonicus Terminal Concept, value scannerEnable.) - 1.3.6.1.4.1.10098.1.1.1.10 gotoNtpServer (GOto - Gonicus Terminal Concept, value ntpServer.) - 1.3.6.1.4.1.10098.1.1.1.2 goFaxPassword (Admin password for fax server) - 1.3.6.1.4.1.10098.1.1.9.23 gotoSysStatus (Keeps current system status - info shown in GOsa) - 1.3.6.1.4.1.10098.1.1.2.11 gotoUserAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.13 ghIdeDev (Hardware definitions, value ideDev) - 1.3.6.1.4.1.10098.1.1.2.4 gotoSndModule (GOto - Gonicus Terminal Concept, value sound Modules.) - 1.3.6.1.4.1.10098.1.1.1.29 goFaxAdmin (Admin principal for fax server) - 1.3.6.1.4.1.10098.1.1.9.22 gotoAdaptPath (GOto - Gonicus Terminal Concept, value adaptpath.) - 1.3.6.1.4.1.10098.1.1.1.33 gotoScannerModel (GOto - Gonicus Terminal Concept, value scannerModel.) - 1.3.6.1.4.1.10098.1.1.1.40 gotoXColordepth (GOto - Gonicus Terminal Concept, value xColordepth.) - 1.3.6.1.4.1.10098.1.1.1.21 fdAsteriskDriver (Driver used for asterisk DB) - 1.3.6.1.4.1.10098.1.1.9.30 fdSipContexts (FusionDirectory - available sip contexts) - 1.3.6.1.4.1.38414.19.11.1 gosaObject (GOsa - DN of an object) - 1.3.6.1.4.1.10098.1.1.12.3 ghInventoryNumber (Unique number for inclusion in an inventory) - 1.3.6.1.4.1.10098.1.1.2.10 ghSoundAdapter (Hardware definitions, value soundAdapter) - 1.3.6.1.4.1.10098.1.1.2.7 ghGfxAdapter (Hardware definitions, value Grafikkarte) - 1.3.6.1.4.1.10098.1.1.2.9 gotoXDriver (GOto - Gonicus Terminal Concept, value xDriver.) - 1.3.6.1.4.1.10098.1.1.1.28 gotoShare (GOto - specifies a share) - 1.3.6.1.4.1.10098.1.1.11.9 fdCopyPaste (FusionDirectory - (de)Activate copy/paste) - 1.3.6.1.4.1.38414.8.14.5 gotoAutoFs (GOto - Gonicus Terminal Concept, value autofs.) - 1.3.6.1.4.1.10098.1.1.1.31 gotoScannerBackend (GOto - Gonicus Terminal Concept, value scannerBackend.) - 1.3.6.1.4.1.10098.1.1.1.39 gotoUserPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.12 printerWindowsInfFile (Path to windows inf file for this printer) - 1.3.6.1.4.1.38414.6.10.1 avChecksPerDay (Update checks per day) - 1.3.6.1.4.1.10098.1.1.9.78 gotoScannerClients (GOto - Gonicus Terminal Concept, value scannerClients.) - 1.3.6.1.4.1.10098.1.1.1.11 gotoXKbLayout (GOto - Gonicus Terminal Concept, value xKblayout.) - 1.3.6.1.4.1.10098.1.1.1.26 fdSnapshotAdminPassword (FusionDirectory - Snaphost admin password) - 1.3.6.1.4.1.38414.8.17.5 fdPersonalTitleInDN (FusionDirectory - Personal title in dn) - 1.3.6.1.4.1.38414.8.12.5 gotoXResolution (GOto - Gonicus Terminal Concept, value xResolution.) - 1.3.6.1.4.1.10098.1.1.1.20 fdPasswordHook (FusionDirectory - Password hook (external command)) - 1.3.6.1.4.1.38414.8.13.4 fdVoicemailContexts (FusionDirectory - available voicemail contexts) - 1.3.6.1.4.1.38414.19.11.2 fdIdGenerator (FusionDirectory - An automatic way to generate new user ids) - 1.3.6.1.4.1.38414.8.12.4 goLogPassword (Admin password for log server) - 1.3.6.1.4.1.10098.1.1.9.25 ghCpuType (Hardware definitions, value cpuType) - 1.3.6.1.4.1.10098.1.1.2.1 gotoGroupAdminPrinter (GOto - keeps printers we are admin for) - 1.3.6.1.4.1.10098.1.1.11.17 fdAccountRDN (FusionDirectory - use a placeholder pattern for generating account RDNs) - 1.3.6.1.4.1.38414.8.12.2 gotoFloppyEnable (GOto - Gonicus Terminal Concept, value floppyEnable.) - 1.3.6.1.4.1.10098.1.1.1.7 goFonAreaCode (Store area code) - 1.3.6.1.4.1.10098.1.1.9.28 avArchiveMaxRecursion (Maximum number of archive nestings) - 1.3.6.1.4.1.10098.1.1.9.73 gotoRootPasswd (GOto - Gonicus Terminal Concept, value rootPasswd.) - 1.3.6.1.4.1.10098.1.1.1.14 fdPrimaryGroupFilter (FusionDirectory - Primary group filter) - 1.3.6.1.4.1.38414.8.14.1 goFonCountryCode (Store country code) - 1.3.6.1.4.1.10098.1.1.9.29 avArchiveMaxFileSize (Maximum archive file size) - 1.3.6.1.4.1.10098.1.1.9.72 gotoProfileServer (GOto - specifies the profile server) - 1.3.6.1.4.1.10098.1.1.11.8 goLogAdmin (Admin user for log server) - 1.3.6.1.4.1.10098.1.1.9.24 fdPhoneConferenceRDN (FusionDirectory - Phone conference RDN) - 1.3.6.1.4.1.38414.19.10.3 goFonAdmin (Admin user for fon server) - 1.3.6.1.4.1.10098.1.1.9.26 goLogDriver (FD logging MDB2 driver name) - 1.3.6.1.4.1.10098.1.1.9.84 gotoLpdEnable (GOto - Gonicus Terminal Concept, value lpdEnable.) - 1.3.6.1.4.1.10098.1.1.1.9 gotoModules (GOto - Gonicus Terminal Concept, value kernel modules.) - 1.3.6.1.4.1.10098.1.1.1.32 gotoProfileQuota (GOto - save quota for home) - 1.3.6.1.4.1.10098.1.1.11.15 avFlags (Special flags for the antivirus scan engine) - 1.3.6.1.4.1.10098.1.1.9.71 avUser (Username to run antivirus with) - 1.3.6.1.4.1.10098.1.1.9.70 ghMemSize (Hardware definitions, value memSize) - 1.3.6.1.4.1.10098.1.1.2.2 gotoXMonitor (GOto - Gonicus Terminal Concept, value xMonitor.) - 1.3.6.1.4.1.10098.1.1.1.17 gotoGroupPrinter (GOto - keeps printers shown for this user) - 1.3.6.1.4.1.10098.1.1.11.16 fdRfc2307bis (FusionDirectory - rfc2307bis) - 1.3.6.1.4.1.38414.8.10.1 gotoProfileFlags (GOto - Flags for Profile handling - C is for caching) - 1.3.6.1.4.1.10098.1.1.11.7 fdMailMethod (FusionDirectory - Mail method) - 1.3.6.1.4.1.38414.10.10.1 gotoXKbVariant (GOto - Gonicus Terminal Concept, value xKbvariant.) - 1.3.6.1.4.1.10098.1.1.1.27 gotoXMouseport (GOto - Gonicus Terminal Concept, value xMouseport.) - 1.3.6.1.4.1.10098.1.1.1.22 fdSnapshotURI (FusionDirectory - Snaphost URI) - 1.3.6.1.4.1.38414.8.17.3 gotoHardwareChecksum (GOto - quick way to see if something has changed) - 1.3.6.1.4.1.10098.1.1.2.12 printerWindowsDriverName (Windows name of the printer driver) - 1.3.6.1.4.1.38414.6.10.3 ghScsiDev (Hardware definitions, value scsiDev) - 1.3.6.1.4.1.10098.1.1.2.5 gotoXMouseType (Hardware definitions, value Type of mouse) - 1.3.6.1.4.1.10098.1.1.1.34 gotoXVsync (GOto - Gonicus Terminal Concept, value xVsync.) - 1.3.6.1.4.1.10098.1.1.1.19 goSyslogSection (What sections wants the server for its syslog service? i.e. *.*) - 1.3.6.1.4.1.10098.1.1.9.9 avDatabaseMirror (Where to find updates) - 1.3.6.1.4.1.10098.1.1.9.75 goLogDB (GOsa logging DB name) - 1.3.6.1.4.1.10098.1.1.9.83 gosaUser (GOsa - DN of a user) - 1.3.6.1.4.1.10098.1.1.12.2 gotoXHsync (GOto - Gonicus Terminal Concept, value xHsync.) - 1.3.6.1.4.1.10098.1.1.1.18 avMaxThreads (Number of AV scanning threads) - 1.3.6.1.4.1.10098.1.1.9.68 gotoXMouseButtons (GOto - Gonicus Terminal Concept, value xMouseButtons.) - 1.3.6.1.4.1.10098.1.1.1.23 avArchiveMaxCompressionRatio (Maximum compression ratio) - 1.3.6.1.4.1.10098.1.1.9.74 ghNetNic (Hardware definitions, value Network Device) - 1.3.6.1.4.1.10098.1.1.2.8 gotoXKbModel (GOto - Gonicus Terminal Concept, value xKbmodel.) - 1.3.6.1.4.1.10098.1.1.1.25 Deprecated objectClasses: goFaxServer (Fax server description) - 1.3.6.1.4.1.10098.1.2.1.26 goSyslogServer (Syslog server description) - 1.3.6.1.4.1.10098.1.2.1.21 goCupsServer (CUPS server description) - 1.3.6.1.4.1.10098.1.2.1.23 goNtpServer (Time server description) - 1.3.6.1.4.1.10098.1.2.1.20 gosaLockEntry (GOsa - Class for GOsa locking) - 1.3.6.1.4.1.10098.1.2.1.19.2 goVirusServer (Virus server definition) - 1.3.6.1.4.1.10098.1.2.1.39 gosaUserTemplate (GOsa - Class for GOsa User Templates) - 1.3.6.1.4.1.10098.1.2.1.19.11 goNfsServer (NFS server description) - 1.3.6.1.4.1.10098.1.2.1.19 goFonServer (Fon server description) - 1.3.6.1.4.1.10098.1.2.1.29 goLogDBServer (Log DB server description) - 1.3.6.1.4.1.10098.1.2.1.28 The --check-deprecated option will output a list of dn using old attributes and objectClasses of they are present in your ldap server fusiondirectory-setup --check-deprecated List LDAP entries using deprecated attributes or objectclasses There are no entries in the LDAP using obsolete attributes There are no entries in the LDAP using obsolete classes The --ldif-deprecated option will output an ldif file on the console that you can use with ldapmodify to clean you ldap server from old attributes. fusiondirectory-setup --ldif-deprecated > remove_deprecated.ldif If they are old objectClasses it will warn you and you will have to remove them by hand, they have been specified at the --check-deprecated step. !! Please read it carefully before applying !! Correcting acl editownpwd ========================= !!!! to fix the error in the installed editownpwd, you need to go !!!! * Acl roles * Open the editownpwd acl * Save it Its very important you do it, to know why look at https://forge.fusiondirectory.org/issues/5276 Checking your indexed attributes ================================ Check that all you index still match with valid attributes present in your ldap directory Migrate FusionDirectory from 1.0.18 to 1.0.19 ============================================= Ubuntu 12.0.4 TLS users ======================= Since 1.0.9.2 FusionDirectory need the php-cas library for CAS server support. This library can normally found in universe in the Ubuntu repositories In case you did not find it, grab the deb from here and install it http://packages.ubuntu.com/trusty/all/php-cas/download and select your preferred mirror Upgrade FusionDirectory first ============================= - Upgrade FusionDirectory core package before other ones to avoid dependencies errors: apt-get install fusiondirectory - Upgrade FusionDirectory schema package too. apt-get install fusiondirectory-schema Upgrade of LDAP directory ========================= No upgrade Upgrade of LDAP directory ========================= No Upgrade Enjoy :) --- * Further information To improve this piece of software, please report all kind of errors using the bug tracker on https://forge.fusiondirectory.org Documentation: http://documentation.fusiondirectory.org/ Mailinglist: http://lists.fusiondirectory.org/ Irc: #fusiondirectory on freenode --- The FusionDirectory project fusiondirectory-1.0.19/contrib/fusiondirectory.conf000066400000000000000000000021051304016502700225650ustar00rootroot00000000000000{""}
fusiondirectory-1.0.19/contrib/images/000077500000000000000000000000001304016502700177355ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/images/Fusiondirectory-logo-noir.eps000066400000000000000000057367521304016502700255720ustar00rootroot00000000000000 \C |C nz %!PS-Adobe-3.1 EPSF-3.0 %ADO_DSC_Encoding: MacOS Roman %%Title: -Fusiondirectory-noir-OK--.eps %%Creator: Adobe Illustrator(R) 15.0 %%For: Nathalie Dourov %%CreationDate: 7/06/11 %%BoundingBox: 0 0 694 456 %%HiResBoundingBox: 0 0 693.1695 455.5523 %%CropBox: 0 0 693.1695 455.5523 %%LanguageLevel: 2 %%DocumentData: Clean7Bit %ADOBeginClientInjection: DocumentHeader "AI11EPS" %%AI8_CreatorVersion: 15.0.0 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 15.0.0 x399 R agm 4.5188 ct 5.1874 %ADO_ContainsXMP: MainFirst %AI7_Thumbnail: 128 84 8 %%BeginData: 12302 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD3BFFA8FFA8FD7CFFA8A8A8FFFD05A8FD76FFA8FFA8FFA8A87DA8 %7DFD77FFA87DA8FD057DA8A8FD74FFA8FFA8A87D7D527D7DA8A8FD07FFA8 %FFA8FD6CFFA87D5227F827277D7EFD05FFA8FFA8A87DA8A8FD6CFFA8A852 %27F8277DA8A8FD05FFFD057DFD44FFA8FFFFFFA8FFA8FD23FFA8A8525252 %7D7DA8A8FFFFFF7D7D522727527DFD44FFA8FFA8FFA8A8FD24FFFD05A8FF %A8FD05FF7D27F827277DA8FD41FFA8FFFFA8A8A8FFA8FFA8FD15FFA8FFA8 %FD0AFFA8FFA87EFFA8FD05FFA87D5252277DA8FD43FFA8FFFD04A8FFA8FD %15FFA8FFA8FFA8FD09FFA8FFFFA8FD0AFFA8A87DFD42FFA8FFFD08A8FFFF %A8FD0FFFA8FFFD04A87DA87EA8FD06FF7DFD0EFFA8A8FFA8FD42FFA8FFA8 %FFFD04A87DFFA8FFA8FD0FFFA8A8A8FFA8A87DA8A8FD05FFA8FD0FFFA8FD %44FFA8FFA8A87DA87D7D7DA87DA8A8FD10FFA87DA87D7D527D7EA8A8FFFF %FFA8A8FD0FFFA8A8FD42FFA8FFA8A8A87D527D527D7DA87DA8A8FFFFFFA8 %FD0BFFA8A8525227527DA8FD05FFA8FD10FFA8FD43FFA8A87D7DA87D52F8 %2627527DA87DA87DA87DA8A8FFA8FFA8FD05FFA87D5227F8F8F87D7DA8A8 %FFFFFFA8FD0FFFA8A8FD43FFFD04A87D7D2727F87D7DFD05A87DA8A8A8FF %FFA8FFA8FD05FFA8FFA827F827527DA8FFFFFF7DFD11FFA8FD13FFA8FD2E %FFA8A87D7D527D5252275252A87DA87DA8FD047DFD04A87DA87DFD05FFA8 %FF7D527D7EA8A8A8FFA87DFD10FFA87DFD10FFA87D527D527DFD2CFFA8A8 %7D527D527D7D7DA8A8FD047D527D527D7DA87DA87DA87DFD07FFA8FFA8A8 %A8FD17FFA8FD10FFA82727F852A8FD2AFFA8FFA87D7DFD04527D7DA8A8FF %7D7D5227F827527D527D52527DA8A8FD06FFA8A8FF7DA8FD29FF7DF8F827 %FD2AFFA8FFA8A87D7D52272752A8FFFD04A87D52F827F85252FD04277D7D %FD07FFA8FD2EFF7D527DA8FD22FFA8FFFFA8FFFFA8A8FFA87D7D5227F827 %7DFD05A87D7D52522752527D5226F8277DA87DFD05FFA8FD2DFFFD05A8FD %23FFA87DFFA8A8FFFFA87D7D7D52522727277D52FD04A87D7D7D7EA87DA8 %A8A82752527D7DA8A8FD04FFA8FD2DFFA8A8FD24FFA8FFA8A87DFF7DA87D %A852A8525227FD0552277D527D2752527DA8FF7DFFA8A87DFD04A8FD04FF %A8A8FD2CFFA8A8FD26FFA8A8A8FFA8A87DA8FD047D272727527D52272727 %525227F82752A9FFFFFFA8FFA8A8FD07FFA8FD2DFF7DFD26FFA8FFA8A87D %A87D7D527D527D5252F8F8277D27F8F85252522727527DA8FFFFA8A8FFA8 %A8FD06FFA8A8FD2CFFA8FD28FFA8FFA8A87D7D5227277D7D7D2727277D7D %5227527D7DA8FF7DA87DFFFFFFA8FD0AFF7DFD55FFA8FFFD04A87D52F827 %277D7D2752A87DA87DA8A8FFA8FFFFFFA8A8FFFF7DFD0AFFA87DFD56FFA8 %FFFFA87DA85227267D7D7D527DA87D7DFFA8FFA8FFA8FD05FFA8FD64FFA8 %FFA8A87D7D277D7DA85252275252A87EFFA8A8A8FFFFA8A8FFFFA8A8FD62 %FFFD04A87DA852527DA87DA85227F852A8A8A8FFA8A852522752A8FFA8FF %FFFFA8FFA8FD5CFFA8FFA87D7D7D525227277D7D527DF8F827A8FFFF7D52 %F8F8F826F8F827FFFFFFA8FD047DA8A8FD5CFFFD047D2727F8527DA85227 %7DFF7DA8A852F827F827F827F82752FFFFFF7D27277D7DFD5DFFA87D5252 %27F827277D527D52FFFFFFA87DF827F8F8F827F8F8F8277DFFA8A8F8F851 %7DA8FD5DFF7D527D2727F82752A8A8FFFFFFA8FF2727F827F827F827F827 %F852A8FF7D27F8527DA8A8FD05FFA8FD1DFFA8A8A8FD13FFFD05A8FD0BFF %A8FD12FFA87D525227F8F8527D7DA8FFA8FFA827F8F8F826F8F8F826F8F8 %F8FFFF7D522752A8A8FD05FF52F8F827F827F827F852FFA8F827A8FD07FF %A827F8A8FD04FF5227F8F8F8A8FD05FF52F8A8FD07FF7D27F8F826F8F8F8 %52A8FD07FF27F852FD0BFFF827FD04FFA8A8A85252F82752A8527D7DA8A8 %FF2727F827F827F827F827F827FFFFA8FF7DA8FD07FF7DF827F827F827F8 %2752FFA827F8FD09FFF827A8FFFFFF5227F8522727F8A8FD04FF2727A8FD %05FFA852F827F85252522727F82752FD06FF27F8277DFD0AFF27F8FD04FF %A8A87D7D5252267D7D27F852A8FFA827F8F8F827F8F8F827F8F827FD0DFF %52F852FFFFFFA8FFA8FFFFA8F827A8FD07FFA827F8A8FFFF7DF8F8A8FFFF %5227F8FD04FF52F8A8FD04FF7DF8F8277DFD05FFA852F8F827FD05FF27F8 %F827A8FD09FFF827FD05FFA8A87D7D7D52527D272727FFA8FF5227F827F8 %27F827F827F852FD04FFA8FD08FF7DF87DFD08FFA827F8FD09FFF827A8FF %FF7DF87DFD04FF52A8FD04FF52277DFFFFFFA827F852FD09FFA8272727FD %04FF52F827F827FD09FF27F8FD06FF7D7D7DA87D525252F852A8FFA8A8F8 %26F8F8F826F8F8F827A8A8A8FFA8527DA8FD06FF522652FD08FFA8F827A8 %FD07FFA827F8A8FFFF52267DFD0AFF52F8A8FFFFA827F852FD0BFFA8F8F8 %52FFFFFF27267D27F852FD08FFF8F8FD07FF7D7DA8A852A87D5227A87DFF %FF84F827F827F827F8277DFFFFFFA87D277DA8FD06FF7DF87DFD08FFA827 %F8FD09FFF827A8FFFF7DF827A8FD09FF5227A8FFFF7DF827FD0DFFA8F827 %A8FFFF52F8FF7D27F8A8FD07FF27F8FD04FFA8FFA87D277D7DA87D7D2752 %7DFD04A87D5227F827F827A8FFA8FFA852F8F852A8A8FD05FF522752FD08 %FFA8F827A8FD07FFA827F8A8FFFFA827F8277DFD08FF52F8A8FFFF27F87D %FD0EFF52F87DFFFF2727A8FF5227F8A8FD06FFF8F8FD05FFA8A87D52F852 %7DA87DA82727277DA8A8FFFFA8A87DFFA8FFFFFFA8A82727277D7DFD06FF %7DF87DFD08FFA827F8FD09FFF827A8FFFFFFA852F827277DFD06FF2727A8 %FFA827F8FD0FFF7D2727FFFF27F8A8FFFF272727FD06FF27F8FD04FFA8A8 %7D7D27F8F852A8A87D52F8F852A8A8FFA8FFA8FFFFA87DFFFFA87D525252 %277DA8FD05FF52F8277D527D527D527DFFA8F827A8FD07FFA827F8A8FD05 %FF7D27F8F8277DFD04FF52F8A8FFA8F827FD0FFFA8F827FFFF27F87DFFFF %A8F82652FD05FFF826FD04FFA8A87D52522727527D7D7D5252275252FFFF %FFA8A8A8FFA8A8FFFFFFA87DFF7D527DFD06FF7DF827F827F827F82727FF %A827F8FD09FFF827A8FD07FFA852F8277DFFFFFF2727A8FF7D2752FD0FFF %A82726FFFF27F8A8FFFFFF7DF8277DFD04FF27F8FD04FFA8A87D7D525227 %272752527D7D7D52A8A8FF7DFFA8FFFFA87DA87D7D7DA87D52277D7DFD05 %FF52F8277D527D527D527DFFFFF827A8FD07FFA827F8A8FD09FF7DF8F8A8 %FFFF52F8A8FFA8F827FD0FFFA8F827FFFF27F87DFD04FF52F827A8FFFFFF %F827FD05FFA8A87D7D52522727277D7DA8A87DFFFFFFA87DA8A8A87D5227 %2727A85227F8527DA8A8FD04FF7DF87DFD08FFA827F8FD09FFF827A8FD0A %FF52F87DFFFF52277DFFA827F8FD0FFF7D2727FFFF27F8A8FD05FF27F852 %FFFFFF27F8FD04FFA8A87EA87D7D5227F82652FD04A8FFFFA85227F82752 %7DF826F8525252F8F8277DA8FFA8FFFFFF522652FD08FFA8F827A8FD07FF %A827F8A8FD0AFF7D2627FFFF52F8A8FFFF27F87DFD0EFF52F87DFFFF2726 %7DFD05FF7E26F852FFFFF8F8FD06FFA8A87D7D52525227277DA8A8FFA8FF %A8522727277D525227527DA85252527DA8A8A8FD04FF7DF87DFD08FFA827 %F8FD09FFF827A8FF7D7DFD08FFF827FFFF5227A8FFFF7DF827FD0DFFA8F8 %27A8FFFF52F8A8FD06FF7D27F8A8FF27F8FD04FFA8A87DA87E7D7D7D527D %275252FD04A8FF7D522752FD047D527D5252597D527DA8A8FD04FF522752 %FD09FFF8277DFD07FF7DF8F8FFA8F8F8FD07FF7D2727FFFF52F8A8FFFFFF %27F852FD0CFFF8F852FFFFFF27277DFD07FF27F8F8A827F8FD05FFA8FFFD %04A8527D5227F82752A8A87D7DA87D7D527D7DA8FD087D7EFD06FF7DF87D %FD09FF7DF827FD06FFA827F87DFFFF272752FD06FF27F87DFFFF2727A8FF %FFFFA827F852FD09FFA8F82727FD04FF27F8A8FD08FFFD0427F8FD06FF7D %FD04A87D527D2726F827527D52272752527D7D7D5252527D527DA8FFA8A8 %FD06FF52F852FD09FFA827F8277DFFFFFF7D27F827A8FFFFA8F8F852FFFF %FFA852F827A8FFFF52F8A8FD04FF7DF8F8277DFD05FFA852F8F827FD05FF %27F87DFD08FFA8F8F8F826FD08FFA8A8FFFF7D5252275227522727F82752 %7D7DA87D27F82752A8A8FFFFFFA8FD06FF7DF87DFD0AFFA827F827275227 %27F827A8FD04FF7DF82727522727F827A8FFFFFF2727A8FD05FFA852F827 %F85252522727F82752FD06FF27F8A8FD09FF7DF827F8FD07FFA8FFA8A8A8 %7D7D527D527D52522727277D7D7D5252F827277D7DFD04A8FD07FF7DF852 %FD0BFFA87D27F8F827267DA8FD06FFA82727F8F8F852A8FD04FF52F8A8FD %07FFA82727F827F8F8F852A8FD07FF27F87DFD0AFF52F827FD09FFA8FF7D %A87D7DA8A8A87D527D527D7D7D527D527D527D52FD04A8FD19FFA8A8A8FD %0BFFA8A8A8FD14FFA87DA8A8FD22FFA8FFA87DFD06A87D7D7DA8FD097DA8 %7DA8A8FFA8FD68FFA8FFA8FFA8FF7DA87DFD05A87DFF7DA8A8A8FFFFA8FD %6EFF7DFD06A8FFFD08A8FFFFA8FD5EFFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %FD07A8FFFD08A87DA8FFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8 %FFA8FFA8FFA8FFA8FFA8FFA8FFFFA87D5252527D5252527D5252527D527D %527D5252527D5252527D27522752527D527D5252527D5252527D5252527D %5252527D5252527D5252527D5252527D5252527D5252527D5252527D5252 %527D5252527D5252527D5252527D5252527D5252527D5252527D5252527D %5252527D5252527D5252527D5252527D5252527DFD1CFFA8FD04FFA8FD7A %FFA8FFA8FD7CFFA8FDFCFFFD23FFFD04A8FD18FFA8A87DA8A8FD23FFA8FF %FFFF52F827F827F827517DA8FD07FF2727A8FFFF7DF827F827F82752A8FD %05FF27F827F8F8F827F8F8F87DFD06FF7D52F8F8F827F82752A8FFFF7D27 %F8F8F827F827F827F8F87DFFFFFF7D52F8F8F827F8F827A8FD07FF7DF827 %F827F82727A8FFFF7D27F8A8FD09FF52F852FFFFFF2727F827F827F827F8 %277DFD06FF27F8A8FFFF5227F827F827F827F87DFD04FFFD0A277DFD05FF %2727F82727522727F827F852FFA8FD0427F827F8FD0427A8FFFF2727F827 %27522752F827F852A8FD05FF5227F827F827F827F87DFFFF272752FD08FF %A8F827A8FFFFFF52F87DFFFFA8A85227F8F827FD05FF27F87DFFFF52F87D %FFFFA8A852F8F87DFFFFA827F8A8FD04FFA8FD06FFA8F826F87DA8FFFFFF %A8A852F8F827FFFFA8FFFF7DF852FFFFA8FFFFA8F826F87DA8FD05FF7D27 %F827A8FD04FF52F87DFFFFA8A852F8F87DFFA8F8267DFD07FF27F852FD04 %FF52277DFD06FF7DF82752FD04FF27F8A8FFFF52277DFD05FF7D27F8FFFF %FF2727A8FD0BFFF82727FD09FFA8527DFD05FF7D2752FD05FFF82727FD09 %FFA852F827A8FFFFFF52277DFD05FF7D27F8FFFF7DF827FD06FF7D27F8FD %05FF52F87DFD07FF7DF8277DFFFFFF27F87DFFFF52F87DFD06FF27277DFF %FF27F8A8FD0AFF27F827FD12FF7DF852FD04FF27F827FD0CFF52F852FFFF %FF52F87DFD06FF272752FFFF27F87DFD04FFA827F87DFD05FF27277DFD08 %FF7DF827FFFFFF27F8A8FFFF52277DFD06FF7DF852FFFF2727A8FD09FF7D %27F8FD13FF7D2752FFFFFF7D27F8FD0DFFA827F8A8FFFF522752FD06FFA8 %F852FFFF7D27F8FD04FF52F852FD06FF52F87DFD08FFA827F8A8FFFF2726 %7DFFFF52F87DFD06FF7DF827FFFF27F8A8FD09FF52F87DFD13FF7DF852FF %FFFF52F87DFD0EFF522627FFFF52F87DFD06FF7DF827FFFFFF272627FFFF %A8F8F87DFD06FF27277DFD09FF522752FFFF52F8A8FFFF52277DFD06FF7D %F87DFFFF2727FD0AFF2727A8FD13FF7D2752FFFFFF2727A8FD0FFFF827FF %FF52277DFD06FF7DF852FD04FFF8277DFF272752FD07FF52F87DFD09FF7D %F852FFFF27277DFFFF52F87DFD06FFF8F87DFFFF27F87D7D7D527D527D52 %A8A8F8F8FD14FF7DF852FFFFA8F8F8FD0FFFA827F8A8FF52F87DFD06FF27 %F87DFD04FF7DF8275227F8FD08FF52277DFD09FF7D2727FFFF27F8A8FFFF %52277DFD05FF272727FFFFFF2727F827F827F827F82752FFF827FD14FF52 %2752FFFFFFF827FD10FFF827A8FF52277DFD05FF522727FD06FF27F827F8 %7EFD08FF52F87DFD09FF7DF852FFFF27F87DFFFF52F87DA8A87D7DF8F8F8 %A8FFFFA827F852527D527D527D52A8A826F8FD14FF7DF852FFFFA826F8FD %0FFFA827F8FFFF52F852A8A87D7D27F8F8A8FD06FF7D26F851FD09FF5227 %7DFD09FF522752FFFF27F8A8FFFF5227F827F827F82727FD05FF2727A8FD %09FF2727A8FD13FF7D2752FFFFFF2727A8FD0EFFA8F827FFFF5227F827F8 %27F82727A9FD08FF27277DFD09FF52F87DFD08FFA827F8A8FFFF27F87DFF %FF52F8272752F82727FD06FF27F8A8FD09FF52F852FD13FF7DF852FFFFFF %52F852FD0EFF52F852FFFF52F8272752F82727FD0AFF52F8A8FD09FF2727 %7DFD08FF7DF827FFFFFF27F8A8FFFF52277DFFFF7DF827A8FD05FF2727A8 %FD09FF7D27F8A8FD12FF7D2752FFFFFFA827F8A8FD0CFFA827F8A8FFFF52 %277DFFFFA8F827A8FD09FF2727A8FD09FF52F87DFD07FF7DF8F87DFFFFFF %27267DFFFF52F87DFFFFFF52F827FD05FF27F8A8FD0AFF272627FD12FF7D %F852FD04FF272627FD0BFFA827F852FFFFFF52F87DFFFFFF52F827FD09FF %52F8A8FD09FF27277DFD06FF7DF82752FD04FF52F8A8FFFF52277DFFFFFF %A827F87DFD04FF2727A8FD0BFF272727FD09FFA8277DFD05FF7D2752FD05 %FF272727FD09FFA827F827FD04FF52277DFD04FF27F87DFD08FF2727A8FD %09FF52F87DFFFFA8A85227F82752FD05FF27277DFFFF52F87DFD04FF7D27 %F8A8FFFFFF27F8A8FFFFA8FFA8FFA8FD05FF27F8F87DA8FD04FFA85227F8 %27FD05FF7DF852FD06FF27F8F87DA8FD04FFA85227F827A8FD04FF52F87D %FD04FF7D27F8A8FD07FF52F8A8FD09FF5227F827F827F827F8277DFD06FF %27F8A8FFFF52277DFD05FF522727FFFFFF2727F8272727F82727277DFD05 %FF5227F8FD0527F827F87DFD06FF522752FD07FF5227F8FD0527F827F852 %FD06FF52277DFD05FF522727FD07FF52277DFD09FF52F8F8F826F82752A8 %FD08FF27F87DFFFF52F87DFD06FFF82652FFA827F8F8F826F8F8F826F87D %FD06FF7E52F826F8F8F82752A8FD07FF7DF852FD08FFA852F826F8F8F827 %52A8FD07FF52F87DFD06FF262652FD06FF52F8A8FD05FFFF %%EndData %ADOEndClientInjection: DocumentHeader "AI11EPS" %%Pages: 1 %%DocumentNeededResources: %%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 %%+ procset Adobe_CoolType_Utility_T42 1.0 0 %%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%+ procset Adobe_CoolType_Core 2.31 0 %%+ procset Adobe_AGM_Core 2.0 0 %%+ procset Adobe_AGM_Utils 1.0 0 %%DocumentFonts: %%DocumentNeededFonts: %%DocumentNeededFeatures: %%DocumentSuppliedFeatures: %%DocumentProcessColors: Black %%DocumentCustomColors: %%CMYKCustomColor: %%RGBCustomColor: %%EndComments %%BeginDefaults %%ViewingOrientation: 1 0 0 1 %%EndDefaults %%BeginProlog %%BeginResource: procset Adobe_AGM_Utils 1.0 0 %%Version: 1.0 0 %%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. systemdict/setpacking known {currentpacking true setpacking}if userdict/Adobe_AGM_Utils 75 dict dup begin put /bdf {bind def}bind def /nd{null def}bdf /xdf {exch def}bdf /ldf {load def}bdf /ddf {put}bdf /xddf {3 -1 roll put}bdf /xpt {exch put}bdf /ndf { exch dup where{ pop pop pop }{ xdf }ifelse }def /cdndf { exch dup currentdict exch known{ pop pop }{ exch def }ifelse }def /gx {get exec}bdf /ps_level /languagelevel where{ pop systemdict/languagelevel gx }{ 1 }ifelse def /level2 ps_level 2 ge def /level3 ps_level 3 ge def /ps_version {version cvr}stopped{-1}if def /set_gvm {currentglobal exch setglobal}bdf /reset_gvm {setglobal}bdf /makereadonlyarray { /packedarray where{pop packedarray }{ array astore readonly}ifelse }bdf /map_reserved_ink_name { dup type/stringtype eq{ dup/Red eq{ pop(_Red_) }{ dup/Green eq{ pop(_Green_) }{ dup/Blue eq{ pop(_Blue_) }{ dup()cvn eq{ pop(Process) }if }ifelse }ifelse }ifelse }if }bdf /AGMUTIL_GSTATE 22 dict def /get_gstate { AGMUTIL_GSTATE begin /AGMUTIL_GSTATE_clr_spc currentcolorspace def /AGMUTIL_GSTATE_clr_indx 0 def /AGMUTIL_GSTATE_clr_comps 12 array def mark currentcolor counttomark {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop /AGMUTIL_GSTATE_fnt rootfont def /AGMUTIL_GSTATE_lw currentlinewidth def /AGMUTIL_GSTATE_lc currentlinecap def /AGMUTIL_GSTATE_lj currentlinejoin def /AGMUTIL_GSTATE_ml currentmiterlimit def currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf /AGMUTIL_GSTATE_sa currentstrokeadjust def /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def /AGMUTIL_GSTATE_op currentoverprint def /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf /AGMUTIL_GSTATE_ht currenthalftone def /AGMUTIL_GSTATE_flt currentflat def end }def /set_gstate { AGMUTIL_GSTATE begin AGMUTIL_GSTATE_clr_spc setcolorspace AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor AGMUTIL_GSTATE_fnt setfont AGMUTIL_GSTATE_lw setlinewidth AGMUTIL_GSTATE_lc setlinecap AGMUTIL_GSTATE_lj setlinejoin AGMUTIL_GSTATE_ml setmiterlimit AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash AGMUTIL_GSTATE_sa setstrokeadjust AGMUTIL_GSTATE_clr_rnd setcolorrendering AGMUTIL_GSTATE_op setoverprint AGMUTIL_GSTATE_bg cvx setblackgeneration AGMUTIL_GSTATE_ucr cvx setundercolorremoval AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or { currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne { mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark }if }{ AGMUTIL_GSTATE_ht sethalftone }ifelse AGMUTIL_GSTATE_flt setflat end }def /get_gstate_and_matrix { AGMUTIL_GSTATE begin /AGMUTIL_GSTATE_ctm matrix currentmatrix def end get_gstate }def /set_gstate_and_matrix { set_gstate AGMUTIL_GSTATE begin AGMUTIL_GSTATE_ctm setmatrix end }def /AGMUTIL_str256 256 string def /AGMUTIL_src256 256 string def /AGMUTIL_dst64 64 string def /AGMUTIL_srcLen nd /AGMUTIL_ndx nd /AGMUTIL_cpd nd /capture_cpd{ //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf }def /thold_halftone { level3 {sethalftone currenthalftone} { dup/HalftoneType get 3 eq { sethalftone currenthalftone }{ begin Width Height mul{ Thresholds read{pop}if }repeat end currenthalftone }ifelse }ifelse }def /rdcmntline { currentfile AGMUTIL_str256 readline pop (%)anchorsearch{pop}if }bdf /filter_cmyk { dup type/filetype ne{ exch()/SubFileDecode filter }{ exch pop } ifelse [ exch { AGMUTIL_src256 readstring pop dup length/AGMUTIL_srcLen exch def /AGMUTIL_ndx 0 def AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ 1 index exch get AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put /AGMUTIL_ndx AGMUTIL_ndx 1 add def }for pop AGMUTIL_dst64 0 AGMUTIL_ndx getinterval } bind /exec cvx ]cvx }bdf /filter_indexed_devn { cvi Names length mul names_index add Lookup exch get }bdf /filter_devn { 4 dict begin /srcStr xdf /dstStr xdf dup type/filetype ne{ 0()/SubFileDecode filter }if [ exch [ /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx currentdict/srcStr get/readstring cvx/pop cvx /dup cvx/length cvx 0/gt cvx[ Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx names_index Names length currentdict/srcStr get length 1 sub{ 1/index cvx/exch cvx/get cvx currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx }for currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx ]cvx/if cvx /end cvx ]cvx bind /exec cvx ]cvx end }bdf /AGMUTIL_imagefile nd /read_image_file { AGMUTIL_imagefile 0 setfileposition 10 dict begin /imageDict xdf /imbufLen Width BitsPerComponent mul 7 add 8 idiv def /imbufIdx 0 def /origDataSource imageDict/DataSource get def /origMultipleDataSources imageDict/MultipleDataSources get def /origDecode imageDict/Decode get def /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse { /imbufCnt imageDict/DataSource get length def /imbufs imbufCnt array def 0 1 imbufCnt 1 sub{ /imbufIdx xdf imbufs imbufIdx imbufLen string put imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put }for DeviceN_PS2{ imageDict begin /DataSource[DataSource/devn_sep_datasource cvx]cvx def /MultipleDataSources false def /Decode[0 1]def end }if }{ /imbuf imbufLen string def Indexed_DeviceN level3 not and DeviceN_NoneName or{ /srcDataStrs[imageDict begin currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse { Width Decode length 2 div mul cvi string }repeat end]def imageDict begin /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def /Decode[0 1]def end }{ imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put imageDict/Decode[0 1]put }ifelse }ifelse imageDict exch load exec imageDict/DataSource origDataSource put imageDict/MultipleDataSources origMultipleDataSources put imageDict/Decode origDecode put end }bdf /write_image_file { begin {(AGMUTIL_imagefile)(w+)file}stopped{ false }{ Adobe_AGM_Utils/AGMUTIL_imagefile xddf 2 dict begin /imbufLen Width BitsPerComponent mul 7 add 8 idiv def MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ /imbuf imbufLen string def }if 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ pop MultipleDataSources{ 0 1 DataSource length 1 sub{ DataSource type dup /arraytype eq{ pop DataSource exch gx }{ /filetype eq{ DataSource exch get imbuf readstring pop }{ DataSource exch get }ifelse }ifelse AGMUTIL_imagefile exch writestring }for }{ DataSource type dup /arraytype eq{ pop DataSource exec }{ /filetype eq{ DataSource imbuf readstring pop }{ DataSource }ifelse }ifelse AGMUTIL_imagefile exch writestring }ifelse }for end true }ifelse end }bdf /close_image_file { AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile }def statusdict/product known userdict/AGMP_current_show known not and{ /pstr statusdict/product get def pstr(HP LaserJet 2200)eq pstr(HP LaserJet 4000 Series)eq or pstr(HP LaserJet 4050 Series )eq or pstr(HP LaserJet 8000 Series)eq or pstr(HP LaserJet 8100 Series)eq or pstr(HP LaserJet 8150 Series)eq or pstr(HP LaserJet 5000 Series)eq or pstr(HP LaserJet 5100 Series)eq or pstr(HP Color LaserJet 4500)eq or pstr(HP Color LaserJet 4600)eq or pstr(HP LaserJet 5Si)eq or pstr(HP LaserJet 1200 Series)eq or pstr(HP LaserJet 1300 Series)eq or pstr(HP LaserJet 4100 Series)eq or { userdict/AGMP_current_show/show load put userdict/show{ currentcolorspace 0 get /Pattern eq {false charpath f} {AGMP_current_show}ifelse }put }if currentdict/pstr undef }if /consumeimagedata { begin AGMIMG_init_common currentdict/MultipleDataSources known not {/MultipleDataSources false def}if MultipleDataSources { DataSource 0 get type dup/filetype eq { 1 dict begin /flushbuffer Width cvi string def 1 1 Height cvi { pop 0 1 DataSource length 1 sub { DataSource exch get flushbuffer readstring pop pop }for }for end }if dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and { Width Height mul cvi { 0 1 DataSource length 1 sub {dup DataSource exch gx length exch 0 ne{pop}if}for dup 0 eq {pop exit}if sub dup 0 le {exit}if }loop pop }if } { /DataSource load type dup/filetype eq { 1 dict begin /flushbuffer Width Decode length 2 idiv mul cvi string def 1 1 Height{pop DataSource flushbuffer readstring pop pop}for end }if dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and { Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul { DataSource length dup 0 eq {pop exit}if sub dup 0 le {exit}if }loop pop }if }ifelse end }bdf /addprocs { 2{/exec load}repeat 3 1 roll [5 1 roll]bind cvx }def /modify_halftone_xfer { currenthalftone dup length dict copy begin currentdict 2 index known{ 1 index load dup length dict copy begin currentdict/TransferFunction known{ /TransferFunction load }{ currenttransfer }ifelse addprocs/TransferFunction xdf currentdict end def currentdict end sethalftone }{ currentdict/TransferFunction known{ /TransferFunction load }{ currenttransfer }ifelse addprocs/TransferFunction xdf currentdict end sethalftone pop }ifelse }def /clonearray { dup xcheck exch dup length array exch Adobe_AGM_Core/AGMCORE_tmp -1 ddf { Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf dup type/dicttype eq { Adobe_AGM_Core/AGMCORE_tmp get exch clonedict Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf }if dup type/arraytype eq { Adobe_AGM_Core/AGMCORE_tmp get exch clonearray Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf }if exch dup Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put }forall exch{cvx}if }bdf /clonedict { dup length dict begin { dup type/dicttype eq {clonedict}if dup type/arraytype eq {clonearray}if def }forall currentdict end }bdf /DeviceN_PS2 { /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and }bdf /Indexed_DeviceN { /indexed_colorspace_dict AGMCORE_gget dup null ne{ dup/CSDBase known{ /CSDBase get/CSD get_res/Names known }{ pop false }ifelse }{ pop false }ifelse }bdf /DeviceN_NoneName { /Names where{ pop false Names { (None)eq or }forall }{ false }ifelse }bdf /DeviceN_PS2_inRip_seps { /AGMCORE_in_rip_sep where { pop dup type dup/arraytype eq exch/packedarraytype eq or { dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and { /currentcolorspace exch AGMCORE_gput false }{ true }ifelse }{ true }ifelse }{ true }ifelse }bdf /base_colorspace_type { dup type/arraytype eq{0 get}if }bdf /currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse { /pdfmark_5{cleartomark}bind def }{ /pdfmark_5{pdfmark}bind def }ifelse /ReadBypdfmark_5 { currentfile exch 0 exch/SubFileDecode filter /currentdistillerparams where {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse {flushfile cleartomark} {/PUT pdfmark}ifelse }bdf /ReadBypdfmark_5_string { 2 dict begin /makerString exch def string/tmpString exch def { currentfile tmpString readline not{pop exit}if makerString anchorsearch { pop pop cleartomark exit }{ 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 }ifelse }loop end }bdf /xpdfm { { dup 0 get/Label eq { aload length[exch 1 add 1 roll/PAGELABEL }{ aload pop [{ThisPage}<<5 -2 roll>>/PUT }ifelse pdfmark_5 }forall }bdf /lmt{ dup 2 index le{exch}if pop dup 2 index ge{exch}if pop }bdf /int{ dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop }bdf /ds{ Adobe_AGM_Utils begin }bdf /dt{ currentdict Adobe_AGM_Utils eq{ end }if }bdf systemdict/setpacking known {setpacking}if %%EndResource %%BeginResource: procset Adobe_AGM_Core 2.0 0 %%Version: 2.0 0 %%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. systemdict/setpacking known { currentpacking true setpacking }if userdict/Adobe_AGM_Core 209 dict dup begin put /Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def /AGMCORE_str256 256 string def /AGMCORE_save nd /AGMCORE_graphicsave nd /AGMCORE_c 0 def /AGMCORE_m 0 def /AGMCORE_y 0 def /AGMCORE_k 0 def /AGMCORE_cmykbuf 4 array def /AGMCORE_screen[currentscreen]cvx def /AGMCORE_tmp 0 def /AGMCORE_&setgray nd /AGMCORE_&setcolor nd /AGMCORE_&setcolorspace nd /AGMCORE_&setcmykcolor nd /AGMCORE_cyan_plate nd /AGMCORE_magenta_plate nd /AGMCORE_yellow_plate nd /AGMCORE_black_plate nd /AGMCORE_plate_ndx nd /AGMCORE_get_ink_data nd /AGMCORE_is_cmyk_sep nd /AGMCORE_host_sep nd /AGMCORE_avoid_L2_sep_space nd /AGMCORE_distilling nd /AGMCORE_composite_job nd /AGMCORE_producing_seps nd /AGMCORE_ps_level -1 def /AGMCORE_ps_version -1 def /AGMCORE_environ_ok nd /AGMCORE_CSD_cache 0 dict def /AGMCORE_currentoverprint false def /AGMCORE_deltaX nd /AGMCORE_deltaY nd /AGMCORE_name nd /AGMCORE_sep_special nd /AGMCORE_err_strings 4 dict def /AGMCORE_cur_err nd /AGMCORE_current_spot_alias false def /AGMCORE_inverting false def /AGMCORE_feature_dictCount nd /AGMCORE_feature_opCount nd /AGMCORE_feature_ctm nd /AGMCORE_ConvertToProcess false def /AGMCORE_Default_CTM matrix def /AGMCORE_Default_PageSize nd /AGMCORE_Default_flatness nd /AGMCORE_currentbg nd /AGMCORE_currentucr nd /AGMCORE_pattern_paint_type 0 def /knockout_unitsq nd currentglobal true setglobal [/CSA/Gradient/Procedure] { /Generic/Category findresource dup length dict copy/Category defineresource pop }forall setglobal /AGMCORE_key_known { where{ /Adobe_AGM_Core_Id known }{ false }ifelse }ndf /flushinput { save 2 dict begin /CompareBuffer 3 -1 roll def /readbuffer 256 string def mark { currentfile readbuffer{readline}stopped {cleartomark mark} { not {pop exit} if CompareBuffer eq {exit} if }ifelse }loop cleartomark end restore }bdf /getspotfunction { AGMCORE_screen exch pop exch pop dup type/dicttype eq{ dup/HalftoneType get 1 eq{ /SpotFunction get }{ dup/HalftoneType get 2 eq{ /GraySpotFunction get }{ pop { abs exch abs 2 copy add 1 gt{ 1 sub dup mul exch 1 sub dup mul add 1 sub }{ dup mul exch dup mul add 1 exch sub }ifelse }bind }ifelse }ifelse }if }def /np {newpath}bdf /clp_npth {clip np}def /eoclp_npth {eoclip np}def /npth_clp {np clip}def /graphic_setup { /AGMCORE_graphicsave save store concat 0 setgray 0 setlinecap 0 setlinejoin 1 setlinewidth []0 setdash 10 setmiterlimit np false setoverprint false setstrokeadjust //Adobe_AGM_Core/spot_alias gx /Adobe_AGM_Image where{ pop Adobe_AGM_Image/spot_alias 2 copy known{ gx }{ pop pop }ifelse }if /sep_colorspace_dict null AGMCORE_gput 100 dict begin /dictstackcount countdictstack def /showpage{}def mark }def /graphic_cleanup { cleartomark dictstackcount 1 countdictstack 1 sub{end}for end AGMCORE_graphicsave restore }def /compose_error_msg { grestoreall initgraphics /Helvetica findfont 10 scalefont setfont /AGMCORE_deltaY 100 def /AGMCORE_deltaX 310 def clippath pathbbox np pop pop 36 add exch 36 add exch moveto 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath 0 AGMCORE_&setgray gsave 1 AGMCORE_&setgray fill grestore 1 setlinewidth gsave stroke grestore currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto /AGMCORE_deltaY 12 def /AGMCORE_tmp 0 def AGMCORE_err_strings exch get { dup 32 eq { pop AGMCORE_str256 0 AGMCORE_tmp getinterval stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt { currentpoint AGMCORE_deltaY sub exch pop clippath pathbbox pop pop pop 44 add exch moveto }if AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show 0 1 AGMCORE_str256 length 1 sub { AGMCORE_str256 exch 0 put }for /AGMCORE_tmp 0 def }{ AGMCORE_str256 exch AGMCORE_tmp xpt /AGMCORE_tmp AGMCORE_tmp 1 add def }ifelse }forall }bdf /AGMCORE_CMYKDeviceNColorspaces[ [/Separation/None/DeviceCMYK{0 0 0}] [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] [/Separation(Cyan)/DeviceCMYK{0 0 0}] [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] [/DeviceCMYK] ]def /ds{ Adobe_AGM_Core begin /currentdistillerparams where { pop currentdistillerparams/CoreDistVersion get 5000 lt {<>setdistillerparams}if }if /AGMCORE_ps_version xdf /AGMCORE_ps_level xdf errordict/AGM_handleerror known not{ errordict/AGM_handleerror errordict/handleerror get put errordict/handleerror{ Adobe_AGM_Core begin $error/newerror get AGMCORE_cur_err null ne and{ $error/newerror false put AGMCORE_cur_err compose_error_msg }if $error/newerror true put end errordict/AGM_handleerror get exec }bind put }if /AGMCORE_environ_ok ps_level AGMCORE_ps_level ge ps_version AGMCORE_ps_version ge and AGMCORE_ps_level -1 eq or def AGMCORE_environ_ok not {/AGMCORE_cur_err/AGMCORE_bad_environ def}if /AGMCORE_&setgray systemdict/setgray get def level2{ /AGMCORE_&setcolor systemdict/setcolor get def /AGMCORE_&setcolorspace systemdict/setcolorspace get def }if /AGMCORE_currentbg currentblackgeneration def /AGMCORE_currentucr currentundercolorremoval def /AGMCORE_Default_flatness currentflat def /AGMCORE_distilling /product where{ pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and }{ false }ifelse def /AGMCORE_GSTATE AGMCORE_key_known not{ /AGMCORE_GSTATE 21 dict def /AGMCORE_tmpmatrix matrix def /AGMCORE_gstack 32 array def /AGMCORE_gstackptr 0 def /AGMCORE_gstacksaveptr 0 def /AGMCORE_gstackframekeys 14 def /AGMCORE_&gsave/gsave ldf /AGMCORE_&grestore/grestore ldf /AGMCORE_&grestoreall/grestoreall ldf /AGMCORE_&save/save ldf /AGMCORE_&setoverprint/setoverprint ldf /AGMCORE_gdictcopy{ begin {def}forall end }def /AGMCORE_gput{ AGMCORE_gstack AGMCORE_gstackptr get 3 1 roll put }def /AGMCORE_gget{ AGMCORE_gstack AGMCORE_gstackptr get exch get }def /gsave{ AGMCORE_&gsave AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gstackptr 1 add dup 32 ge{limitcheck}if /AGMCORE_gstackptr exch store AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gdictcopy }def /grestore{ AGMCORE_&grestore AGMCORE_gstackptr 1 sub dup AGMCORE_gstacksaveptr lt{1 add}if dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse /AGMCORE_gstackptr exch store }def /grestoreall{ AGMCORE_&grestoreall /AGMCORE_gstackptr AGMCORE_gstacksaveptr store }def /save{ AGMCORE_&save AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gstackptr 1 add dup 32 ge{limitcheck}if /AGMCORE_gstackptr exch store /AGMCORE_gstacksaveptr AGMCORE_gstackptr store AGMCORE_gstack AGMCORE_gstackptr get AGMCORE_gdictcopy }def /setoverprint{ dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint }def 0 1 AGMCORE_gstack length 1 sub{ AGMCORE_gstack exch AGMCORE_gstackframekeys dict put }for }if level3/AGMCORE_&sysshfill AGMCORE_key_known not and { /AGMCORE_&sysshfill systemdict/shfill get def /AGMCORE_&sysmakepattern systemdict/makepattern get def /AGMCORE_&usrmakepattern/makepattern load def }if /currentcmykcolor[0 0 0 0]AGMCORE_gput /currentstrokeadjust false AGMCORE_gput /currentcolorspace[/DeviceGray]AGMCORE_gput /sep_tint 0 AGMCORE_gput /devicen_tints[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]AGMCORE_gput /sep_colorspace_dict null AGMCORE_gput /devicen_colorspace_dict null AGMCORE_gput /indexed_colorspace_dict null AGMCORE_gput /currentcolor_intent()AGMCORE_gput /customcolor_tint 1 AGMCORE_gput /absolute_colorimetric_crd null AGMCORE_gput /relative_colorimetric_crd null AGMCORE_gput /saturation_crd null AGMCORE_gput /perceptual_crd null AGMCORE_gput currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf << /MaxPatternItem currentsystemparams/MaxPatternCache get >> setuserparams end }def /ps { /setcmykcolor where{ pop Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put }if Adobe_AGM_Core begin /setcmykcolor { 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput 1 sub 4 1 roll 3{ 3 index add neg dup 0 lt{ pop 0 }if 3 1 roll }repeat setrgbcolor pop }ndf /currentcmykcolor { /currentcmykcolor AGMCORE_gget aload pop }ndf /setoverprint {pop}ndf /currentoverprint {false}ndf /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def /AGMCORE_plate_ndx AGMCORE_cyan_plate{ 0 }{ AGMCORE_magenta_plate{ 1 }{ AGMCORE_yellow_plate{ 2 }{ AGMCORE_black_plate{ 3 }{ 4 }ifelse }ifelse }ifelse }ifelse def /AGMCORE_have_reported_unsupported_color_space false def /AGMCORE_report_unsupported_color_space { AGMCORE_have_reported_unsupported_color_space false eq { (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf }if }def /AGMCORE_composite_job AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def /AGMCORE_in_rip_sep /AGMCORE_in_rip_sep where{ pop AGMCORE_in_rip_sep }{ AGMCORE_distilling { false }{ userdict/Adobe_AGM_OnHost_Seps known{ false }{ level2{ currentpagedevice/Separations 2 copy known{ get }{ pop pop false }ifelse }{ false }ifelse }ifelse }ifelse }ifelse def /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def /AGM_preserve_spots /AGM_preserve_spots where{ pop AGM_preserve_spots }{ AGMCORE_distilling AGMCORE_producing_seps or }ifelse def /AGM_is_distiller_preserving_spotimages { currentdistillerparams/PreserveOverprintSettings known { currentdistillerparams/PreserveOverprintSettings get { currentdistillerparams/ColorConversionStrategy known { currentdistillerparams/ColorConversionStrategy get /sRGB ne }{ true }ifelse }{ false }ifelse }{ false }ifelse }def /convert_spot_to_process where{pop}{ /convert_spot_to_process { //Adobe_AGM_Core begin dup map_alias{ /Name get exch pop }if dup dup(None)eq exch(All)eq or { pop false }{ AGMCORE_host_sep { gsave 1 0 0 0 setcmykcolor currentgray 1 exch sub 0 1 0 0 setcmykcolor currentgray 1 exch sub 0 0 1 0 setcmykcolor currentgray 1 exch sub 0 0 0 1 setcmykcolor currentgray 1 exch sub add add add 0 eq { pop false }{ false setoverprint current_spot_alias false set_spot_alias 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor set_spot_alias currentgray 1 ne }ifelse grestore }{ AGMCORE_distilling { pop AGM_is_distiller_preserving_spotimages not }{ //Adobe_AGM_Core/AGMCORE_name xddf false //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq AGMUTIL_cpd/OverrideSeparations known and { AGMUTIL_cpd/OverrideSeparations get { /HqnSpots/ProcSet resourcestatus { pop pop pop true }if }if }if { AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not }{ gsave [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace false AGMUTIL_cpd/SeparationColorNames 2 copy known { get {AGMCORE_name eq or}forall not }{ pop pop pop true }ifelse grestore }ifelse }ifelse }ifelse }ifelse end }def }ifelse /convert_to_process where{pop}{ /convert_to_process { dup length 0 eq { pop false }{ AGMCORE_host_sep { dup true exch { dup(Cyan)eq exch dup(Magenta)eq 3 -1 roll or exch dup(Yellow)eq 3 -1 roll or exch dup(Black)eq 3 -1 roll or {pop} {convert_spot_to_process and}ifelse } forall { true exch { dup(Cyan)eq exch dup(Magenta)eq 3 -1 roll or exch dup(Yellow)eq 3 -1 roll or exch (Black)eq or and }forall not }{pop false}ifelse }{ false exch { /PhotoshopDuotoneList where{pop false}{true}ifelse { dup(Cyan)eq exch dup(Magenta)eq 3 -1 roll or exch dup(Yellow)eq 3 -1 roll or exch dup(Black)eq 3 -1 roll or {pop} {convert_spot_to_process or}ifelse } { convert_spot_to_process or } ifelse } forall }ifelse }ifelse }def }ifelse /AGMCORE_avoid_L2_sep_space version cvr 2012 lt level2 and AGMCORE_producing_seps not and def /AGMCORE_is_cmyk_sep AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or def /AGM_avoid_0_cmyk where{ pop AGM_avoid_0_cmyk }{ AGM_preserve_spots userdict/Adobe_AGM_OnHost_Seps known userdict/Adobe_AGM_InRip_Seps known or not and }ifelse { /setcmykcolor[ { 4 copy add add add 0 eq currentoverprint and{ pop 0.0005 }if }/exec cvx /AGMCORE_&setcmykcolor load dup type/operatortype ne{ /exec cvx }if ]cvx def }if /AGMCORE_IsSeparationAProcessColor { dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or }def AGMCORE_host_sep{ /setcolortransfer { AGMCORE_cyan_plate{ pop pop pop }{ AGMCORE_magenta_plate{ 4 3 roll pop pop pop }{ AGMCORE_yellow_plate{ 4 2 roll pop pop pop }{ 4 1 roll pop pop pop }ifelse }ifelse }ifelse settransfer } def /AGMCORE_get_ink_data AGMCORE_cyan_plate{ {pop pop pop} }{ AGMCORE_magenta_plate{ {4 3 roll pop pop pop} }{ AGMCORE_yellow_plate{ {4 2 roll pop pop pop} }{ {4 1 roll pop pop pop} }ifelse }ifelse }ifelse def /AGMCORE_RemoveProcessColorNames { 1 dict begin /filtername { dup/Cyan eq 1 index(Cyan)eq or {pop(_cyan_)}if dup/Magenta eq 1 index(Magenta)eq or {pop(_magenta_)}if dup/Yellow eq 1 index(Yellow)eq or {pop(_yellow_)}if dup/Black eq 1 index(Black)eq or {pop(_black_)}if }def dup type/arraytype eq {[exch{filtername}forall]} {filtername}ifelse end }def level3{ /AGMCORE_IsCurrentColor { dup AGMCORE_IsSeparationAProcessColor { AGMCORE_plate_ndx 0 eq {dup(Cyan)eq exch/Cyan eq or}if AGMCORE_plate_ndx 1 eq {dup(Magenta)eq exch/Magenta eq or}if AGMCORE_plate_ndx 2 eq {dup(Yellow)eq exch/Yellow eq or}if AGMCORE_plate_ndx 3 eq {dup(Black)eq exch/Black eq or}if AGMCORE_plate_ndx 4 eq {pop false}if }{ gsave false setoverprint current_spot_alias false set_spot_alias 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor set_spot_alias currentgray 1 ne grestore }ifelse }def /AGMCORE_filter_functiondatasource { 5 dict begin /data_in xdf data_in type/stringtype eq { /ncomp xdf /comp xdf /string_out data_in length ncomp idiv string def 0 ncomp data_in length 1 sub { string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put }for string_out }{ string/string_in xdf /string_out 1 string def /component xdf [ data_in string_in/readstring cvx [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx [/pop cvx()]cvx/ifelse cvx ]cvx/ReusableStreamDecode filter }ifelse end }def /AGMCORE_separateShadingFunction { 2 dict begin /paint? xdf /channel xdf dup type/dicttype eq { begin FunctionType 0 eq { /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def currentdict/Decode known {/Decode Decode channel 2 mul 2 getinterval def}if paint? not {/Decode[1 1]def}if }if FunctionType 2 eq { paint? { /C0[C0 channel get 1 exch sub]def /C1[C1 channel get 1 exch sub]def }{ /C0[1]def /C1[1]def }ifelse }if FunctionType 3 eq { /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def }if currentdict/Range known {/Range[0 1]def}if currentdict end}{ channel get 0 paint? AGMCORE_separateShadingFunction }ifelse end }def /AGMCORE_separateShading { 3 -1 roll begin currentdict/Function known { currentdict/Background known {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf /ColorSpace[/DeviceGray]def }{ ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq { /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def }{ ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put }ifelse ColorSpace 0 get/Separation eq { { [1/exch cvx/sub cvx]cvx }{ [/pop cvx 1]cvx }ifelse ColorSpace 3 3 -1 roll put pop }{ { [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx }{ pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx }ifelse ColorSpace 3 3 -1 roll bind put }ifelse ColorSpace 2/DeviceGray put }ifelse end }def /AGMCORE_separateShadingDict { dup/ColorSpace get dup type/arraytype ne {[exch]}if dup 0 get/DeviceCMYK eq { exch begin currentdict AGMCORE_cyan_plate {0 true}if AGMCORE_magenta_plate {1 true}if AGMCORE_yellow_plate {2 true}if AGMCORE_black_plate {3 true}if AGMCORE_plate_ndx 4 eq {0 false}if dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading currentdict end exch }if dup 0 get/Separation eq { exch begin ColorSpace 1 get dup/None ne exch/All ne and { ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and { ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq { /ColorSpace [ /Separation ColorSpace 1 get /DeviceGray [ ColorSpace 3 get/exec cvx 4 AGMCORE_plate_ndx sub -1/roll cvx 4 1/roll cvx 3[/pop cvx]cvx/repeat cvx 1/exch cvx/sub cvx ]cvx ]def }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { currentdict 0 false AGMCORE_separateShading }if }ifelse }{ currentdict ColorSpace 1 get AGMCORE_IsCurrentColor 0 exch dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading }ifelse }if currentdict end exch }if dup 0 get/DeviceN eq { exch begin ColorSpace 1 get convert_to_process { ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq { /ColorSpace [ /DeviceN ColorSpace 1 get /DeviceGray [ ColorSpace 3 get/exec cvx 4 AGMCORE_plate_ndx sub -1/roll cvx 4 1/roll cvx 3[/pop cvx]cvx/repeat cvx 1/exch cvx/sub cvx ]cvx ]def }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { currentdict 0 false AGMCORE_separateShading /ColorSpace[/DeviceGray]def }if }ifelse }{ currentdict false -1 ColorSpace 1 get { AGMCORE_IsCurrentColor { 1 add exch pop true exch exit }if 1 add }forall exch dup not currentoverprint and {/AGMCORE_ignoreshade true def}if AGMCORE_separateShading }ifelse currentdict end exch }if dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not { exch begin ColorSpace dup type/arraytype eq {0 get}if /DeviceGray ne { AGMCORE_report_unsupported_color_space AGMCORE_black_plate not { ColorSpace 0 get/CIEBasedA eq { /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def }if ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or { /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def }if ColorSpace 0 get/CIEBasedDEFG eq { /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def }if currentdict 0 false AGMCORE_separateShading }if }if currentdict end exch }if pop dup/AGMCORE_ignoreshade known { begin /ColorSpace[/Separation(None)/DeviceGray{}]def currentdict end }if }def /shfill { AGMCORE_separateShadingDict dup/AGMCORE_ignoreshade known {pop} {AGMCORE_&sysshfill}ifelse }def /makepattern { exch dup/PatternType get 2 eq { clonedict begin /Shading Shading AGMCORE_separateShadingDict def Shading/AGMCORE_ignoreshade known currentdict end exch {pop<>}if exch AGMCORE_&sysmakepattern }{ exch AGMCORE_&usrmakepattern }ifelse }def }if }if AGMCORE_in_rip_sep{ /setcustomcolor { exch aload pop dup 7 1 roll inRip_spot_has_ink not { 4{4 index mul 4 1 roll} repeat /DeviceCMYK setcolorspace 6 -2 roll pop pop }{ //Adobe_AGM_Core begin /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf end [/Separation 4 -1 roll/DeviceCMYK {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} ] setcolorspace }ifelse setcolor }ndf /setseparationgray { [/Separation(All)/DeviceGray{}]setcolorspace_opt 1 exch sub setcolor }ndf }{ /setseparationgray { AGMCORE_&setgray }ndf }ifelse /findcmykcustomcolor { 5 makereadonlyarray }ndf /setcustomcolor { exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop }ndf /has_color /colorimage where{ AGMCORE_producing_seps{ pop true }{ systemdict eq }ifelse }{ false }ifelse def /map_index { 1 index mul exch getinterval{255 div}forall }bdf /map_indexed_devn { Lookup Names length 3 -1 roll cvi map_index }bdf /n_color_components { base_colorspace_type dup/DeviceGray eq{ pop 1 }{ /DeviceCMYK eq{ 4 }{ 3 }ifelse }ifelse }bdf level2{ /mo/moveto ldf /li/lineto ldf /cv/curveto ldf /knockout_unitsq { 1 setgray 0 0 1 1 rectfill }def level2/setcolorspace AGMCORE_key_known not and{ /AGMCORE_&&&setcolorspace/setcolorspace ldf /AGMCORE_ReplaceMappedColor { dup type dup/arraytype eq exch/packedarraytype eq or { /AGMCORE_SpotAliasAry2 where{ begin dup 0 get dup/Separation eq { pop dup length array copy dup dup 1 get current_spot_alias { dup map_alias { false set_spot_alias dup 1 exch setsepcolorspace true set_spot_alias begin /sep_colorspace_dict currentdict AGMCORE_gput pop pop pop [ /Separation Name CSA map_csa MappedCSA /sep_colorspace_proc load ] dup Name end }if }if map_reserved_ink_name 1 xpt }{ /DeviceN eq { dup length array copy dup dup 1 get[ exch{ current_spot_alias{ dup map_alias{ /Name get exch pop }if }if map_reserved_ink_name }forall ]1 xpt }if }ifelse end }if }if }def /setcolorspace { dup type dup/arraytype eq exch/packedarraytype eq or { dup 0 get/Indexed eq { AGMCORE_distilling { /PhotoshopDuotoneList where { pop false }{ true }ifelse }{ true }ifelse { aload pop 3 -1 roll AGMCORE_ReplaceMappedColor 3 1 roll 4 array astore }if }{ AGMCORE_ReplaceMappedColor }ifelse }if DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if }def }if }{ /adj { currentstrokeadjust{ transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform }if }def /mo{ adj moveto }def /li{ adj lineto }def /cv{ 6 2 roll adj 6 2 roll adj 6 2 roll adj curveto }def /knockout_unitsq { 1 setgray 8 8 1[8 0 0 8 0 0]{}image }def /currentstrokeadjust{ /currentstrokeadjust AGMCORE_gget }def /setstrokeadjust{ /currentstrokeadjust exch AGMCORE_gput }def /setcolorspace { /currentcolorspace exch AGMCORE_gput }def /currentcolorspace { /currentcolorspace AGMCORE_gget }def /setcolor_devicecolor { base_colorspace_type dup/DeviceGray eq{ pop setgray }{ /DeviceCMYK eq{ setcmykcolor }{ setrgbcolor }ifelse }ifelse }def /setcolor { currentcolorspace 0 get dup/DeviceGray ne{ dup/DeviceCMYK ne{ dup/DeviceRGB ne{ dup/Separation eq{ pop currentcolorspace 3 gx currentcolorspace 2 get }{ dup/Indexed eq{ pop currentcolorspace 3 get dup type/stringtype eq{ currentcolorspace 1 get n_color_components 3 -1 roll map_index }{ exec }ifelse currentcolorspace 1 get }{ /AGMCORE_cur_err/AGMCORE_invalid_color_space def AGMCORE_invalid_color_space }ifelse }ifelse }if }if }if setcolor_devicecolor }def }ifelse /sop/setoverprint ldf /lw/setlinewidth ldf /lc/setlinecap ldf /lj/setlinejoin ldf /ml/setmiterlimit ldf /dsh/setdash ldf /sadj/setstrokeadjust ldf /gry/setgray ldf /rgb/setrgbcolor ldf /cmyk[ /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx /setcmykcolor load dup type/operatortype ne{/exec cvx}if ]cvx bdf level3 AGMCORE_host_sep not and{ /nzopmsc{ 6 dict begin /kk exch def /yy exch def /mm exch def /cc exch def /sum 0 def cc 0 ne{/sum sum 2#1000 or def cc}if mm 0 ne{/sum sum 2#0100 or def mm}if yy 0 ne{/sum sum 2#0010 or def yy}if kk 0 ne{/sum sum 2#0001 or def kk}if AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace sum 0 eq{0}if end setcolor }bdf }{ /nzopmsc/cmyk ldf }ifelse /sep/setsepcolor ldf /devn/setdevicencolor ldf /idx/setindexedcolor ldf /colr/setcolor ldf /csacrd/set_csa_crd ldf /sepcs/setsepcolorspace ldf /devncs/setdevicencolorspace ldf /idxcs/setindexedcolorspace ldf /cp/closepath ldf /clp/clp_npth ldf /eclp/eoclp_npth ldf /f/fill ldf /ef/eofill ldf /@/stroke ldf /nclp/npth_clp ldf /gset/graphic_setup ldf /gcln/graphic_cleanup ldf /ct/concat ldf /cf/currentfile ldf /fl/filter ldf /rs/readstring ldf /AGMCORE_def_ht currenthalftone def /clonedict Adobe_AGM_Utils begin/clonedict load end def /clonearray Adobe_AGM_Utils begin/clonearray load end def currentdict{ dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ bind }if def }forall /getrampcolor { /indx exch def 0 1 NumComp 1 sub { dup Samples exch get dup type/stringtype eq{indx get}if exch Scaling exch get aload pop 3 1 roll mul add }for ColorSpaceFamily/Separation eq {sep} { ColorSpaceFamily/DeviceN eq {devn}{setcolor}ifelse }ifelse }bdf /sssetbackground{ aload pop ColorSpaceFamily/Separation eq {sep} { ColorSpaceFamily/DeviceN eq {devn}{setcolor}ifelse }ifelse }bdf /RadialShade { 40 dict begin /ColorSpaceFamily xdf /background xdf /ext1 xdf /ext0 xdf /BBox xdf /r2 xdf /c2y xdf /c2x xdf /r1 xdf /c1y xdf /c1x xdf /rampdict xdf /setinkoverprint where{pop/setinkoverprint{pop}def}if gsave BBox length 0 gt { np BBox 0 get BBox 1 get moveto BBox 2 get BBox 0 get sub 0 rlineto 0 BBox 3 get BBox 1 get sub rlineto BBox 2 get BBox 0 get sub neg 0 rlineto closepath clip np }if c1x c2x eq { c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse }{ /slope c2y c1y sub c2x c1x sub div def /theta slope 1 atan def c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if }ifelse gsave clippath c1x c1y translate theta rotate -90 rotate {pathbbox}stopped {0 0 0 0}if /yMax xdf /xMax xdf /yMin xdf /xMin xdf grestore xMax xMin eq yMax yMin eq or { grestore end }{ /max{2 copy gt{pop}{exch pop}ifelse}bdf /min{2 copy lt{pop}{exch pop}ifelse}bdf rampdict begin 40 dict begin background length 0 gt{background sssetbackground gsave clippath fill grestore}if gsave c1x c1y translate theta rotate -90 rotate /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def /c1y 0 def /c1x 0 def /c2x 0 def ext0 { 0 getrampcolor c2y r2 add r1 sub 0.0001 lt { c1x c1y r1 360 0 arcn pathbbox /aymax exch def /axmax exch def /aymin exch def /axmin exch def /bxMin xMin axmin min def /byMin yMin aymin min def /bxMax xMax axmax max def /byMax yMax aymax max def bxMin byMin moveto bxMax byMin lineto bxMax byMax lineto bxMin byMax lineto bxMin byMin lineto eofill }{ c2y r1 add r2 le { c1x c1y r1 0 360 arc fill } { c2x c2y r2 0 360 arc fill r1 r2 eq { /p1x r1 neg def /p1y c1y def /p2x r1 def /p2y c1y def p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto fill }{ /AA r2 r1 sub c2y div def AA -1 eq {/theta 89.99 def} {/theta AA 1 AA dup mul sub sqrt div 1 atan def} ifelse /SS1 90 theta add dup sin exch cos div def /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def /p1y p1x SS1 div neg def /SS2 90 theta sub dup sin exch cos div def /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def /p2y p2x SS2 div neg def r1 r2 gt { /L1maxX p1x yMin p1y sub SS1 div add def /L2maxX p2x yMin p2y sub SS2 div add def }{ /L1maxX 0 def /L2maxX 0 def }ifelse p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto L1maxX L1maxX p1x sub SS1 mul p1y add lineto fill }ifelse }ifelse }ifelse }if c1x c2x sub dup mul c1y c2y sub dup mul add 0.5 exp 0 dtransform dup mul exch dup mul add 0.5 exp 72 div 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 1 index 1 index lt{exch}if pop /hires xdf hires mul /numpix xdf /numsteps NumSamples def /rampIndxInc 1 def /subsampling false def numpix 0 ne { NumSamples numpix div 0.5 gt { /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def /rampIndxInc NumSamples 1 sub numsteps div def /subsampling true def }if }if /xInc c2x c1x sub numsteps div def /yInc c2y c1y sub numsteps div def /rInc r2 r1 sub numsteps div def /cx c1x def /cy c1y def /radius r1 def np xInc 0 eq yInc 0 eq rInc 0 eq and and { 0 getrampcolor cx cy radius 0 360 arc stroke NumSamples 1 sub getrampcolor cx cy radius 72 hires div add 0 360 arc 0 setlinewidth stroke }{ 0 numsteps { dup subsampling{round cvi}if getrampcolor cx cy radius 0 360 arc /cx cx xInc add def /cy cy yInc add def /radius radius rInc add def cx cy radius 360 0 arcn eofill rampIndxInc add }repeat pop }ifelse ext1 { c2y r2 add r1 lt { c2x c2y r2 0 360 arc fill }{ c2y r1 add r2 sub 0.0001 le { c2x c2y r2 360 0 arcn pathbbox /aymax exch def /axmax exch def /aymin exch def /axmin exch def /bxMin xMin axmin min def /byMin yMin aymin min def /bxMax xMax axmax max def /byMax yMax aymax max def bxMin byMin moveto bxMax byMin lineto bxMax byMax lineto bxMin byMax lineto bxMin byMin lineto eofill }{ c2x c2y r2 0 360 arc fill r1 r2 eq { /p1x r2 neg def /p1y c2y def /p2x r2 def /p2y c2y def p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto fill }{ /AA r2 r1 sub c2y div def AA -1 eq {/theta 89.99 def} {/theta AA 1 AA dup mul sub sqrt div 1 atan def} ifelse /SS1 90 theta add dup sin exch cos div def /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def /p1y c2y p1x SS1 div sub def /SS2 90 theta sub dup sin exch cos div def /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def /p2y c2y p2x SS2 div sub def r1 r2 lt { /L1maxX p1x yMax p1y sub SS1 div add def /L2maxX p2x yMax p2y sub SS2 div add def }{ /L1maxX 0 def /L2maxX 0 def }ifelse p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto L1maxX L1maxX p1x sub SS1 mul p1y add lineto fill }ifelse }ifelse }ifelse }if grestore grestore end end end }ifelse }bdf /GenStrips { 40 dict begin /ColorSpaceFamily xdf /background xdf /ext1 xdf /ext0 xdf /BBox xdf /y2 xdf /x2 xdf /y1 xdf /x1 xdf /rampdict xdf /setinkoverprint where{pop/setinkoverprint{pop}def}if gsave BBox length 0 gt { np BBox 0 get BBox 1 get moveto BBox 2 get BBox 0 get sub 0 rlineto 0 BBox 3 get BBox 1 get sub rlineto BBox 2 get BBox 0 get sub neg 0 rlineto closepath clip np }if x1 x2 eq { y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse }{ /slope y2 y1 sub x2 x1 sub div def /theta slope 1 atan def x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if } ifelse gsave clippath x1 y1 translate theta rotate {pathbbox}stopped {0 0 0 0}if /yMax exch def /xMax exch def /yMin exch def /xMin exch def grestore xMax xMin eq yMax yMin eq or { grestore end }{ rampdict begin 20 dict begin background length 0 gt{background sssetbackground gsave clippath fill grestore}if gsave x1 y1 translate theta rotate /xStart 0 def /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def /ySpan yMax yMin sub def /numsteps NumSamples def /rampIndxInc 1 def /subsampling false def xStart 0 transform xEnd 0 transform 3 -1 roll sub dup mul 3 1 roll sub dup mul add 0.5 exp 72 div 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt 1 index 1 index lt{exch}if pop mul /numpix xdf numpix 0 ne { NumSamples numpix div 0.5 gt { /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def /rampIndxInc NumSamples 1 sub numsteps div def /subsampling true def }if }if ext0 { 0 getrampcolor xMin xStart lt { xMin yMin xMin neg ySpan rectfill }if }if /xInc xEnd xStart sub numsteps div def /x xStart def 0 numsteps { dup subsampling{round cvi}if getrampcolor x yMin xInc ySpan rectfill /x x xInc add def rampIndxInc add }repeat pop ext1{ xMax xEnd gt { xEnd yMin xMax xEnd sub ySpan rectfill }if }if grestore grestore end end end }ifelse }bdf }def /pt { end }def /dt{ }def /pgsv{ //Adobe_AGM_Core/AGMCORE_save save put }def /pgrs{ //Adobe_AGM_Core/AGMCORE_save get restore }def systemdict/findcolorrendering known{ /findcolorrendering systemdict/findcolorrendering get def }if systemdict/setcolorrendering known{ /setcolorrendering systemdict/setcolorrendering get def }if /test_cmyk_color_plate { gsave setcmykcolor currentgray 1 ne grestore }def /inRip_spot_has_ink { dup//Adobe_AGM_Core/AGMCORE_name xddf convert_spot_to_process not }def /map255_to_range { 1 index sub 3 -1 roll 255 div mul add }def /set_csa_crd { /sep_colorspace_dict null AGMCORE_gput begin CSA get_csa_by_name setcolorspace_opt set_crd end } def /map_csa { currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse {pop}{get_csa_by_name/MappedCSA xdf}ifelse }def /setsepcolor { /sep_colorspace_dict AGMCORE_gget begin dup/sep_tint exch AGMCORE_gput TintProc end }def /setdevicencolor { /devicen_colorspace_dict AGMCORE_gget begin Names length copy Names length 1 sub -1 0 { /devicen_tints AGMCORE_gget 3 1 roll xpt }for TintProc end }def /sep_colorspace_proc { /AGMCORE_tmp exch store /sep_colorspace_dict AGMCORE_gget begin currentdict/Components known{ Components aload pop TintMethod/Lab eq{ 2{AGMCORE_tmp mul NComponents 1 roll}repeat LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll }{ TintMethod/Subtractive eq{ NComponents{ AGMCORE_tmp mul NComponents 1 roll }repeat }{ NComponents{ 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll }repeat }ifelse }ifelse }{ ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get aload pop }ifelse end }def /sep_colorspace_gray_proc { /AGMCORE_tmp exch store /sep_colorspace_dict AGMCORE_gget begin GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get end }def /sep_proc_name { dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ pop[/DeviceGray] /sep_colorspace_gray_proc }{ /sep_colorspace_proc }ifelse }def /setsepcolorspace { current_spot_alias{ dup begin Name map_alias{ exch pop }if end }if dup/sep_colorspace_dict exch AGMCORE_gput begin CSA map_csa /AGMCORE_sep_special Name dup()eq exch(All)eq or store AGMCORE_avoid_L2_sep_space{ [/Indexed MappedCSA sep_proc_name 255 exch {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx ]setcolorspace_opt /TintProc{ 255 mul round cvi setcolor }bdf }{ MappedCSA 0 get/DeviceCMYK eq currentdict/Components known and AGMCORE_sep_special not and{ /TintProc[ Components aload pop Name findcmykcustomcolor /exch cvx/setcustomcolor cvx ]cvx bdf }{ AGMCORE_host_sep Name(All)eq and{ /TintProc{ 1 exch sub setseparationgray }bdf }{ AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and AGMCORE_host_sep or Name()eq and{ /TintProc[ MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ cvx/setcmykcolor cvx }{ cvx/setgray cvx }ifelse ]cvx bdf }{ AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ /TintProc[ /dup cvx MappedCSA sep_proc_name cvx exch 0 get/DeviceGray eq{ 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx }if /Name cvx/findcmykcustomcolor cvx/exch cvx AGMCORE_host_sep{ AGMCORE_is_cmyk_sep /Name cvx /AGMCORE_IsSeparationAProcessColor load/exec cvx /not cvx/and cvx }{ Name inRip_spot_has_ink not }ifelse [ /pop cvx 1 ]cvx/if cvx /setcustomcolor cvx ]cvx bdf }{ /TintProc{setcolor}bdf [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt }ifelse }ifelse }ifelse }ifelse }ifelse set_crd setsepcolor end }def /additive_blend { 3 dict begin /numarrays xdf /numcolors xdf 0 1 numcolors 1 sub { /c1 xdf 1 0 1 numarrays 1 sub { 1 exch add/index cvx c1/get cvx/mul cvx }for numarrays 1 add 1/roll cvx }for numarrays[/pop cvx]cvx/repeat cvx end }def /subtractive_blend { 3 dict begin /numarrays xdf /numcolors xdf 0 1 numcolors 1 sub { /c1 xdf 1 1 0 1 numarrays 1 sub { 1 3 3 -1 roll add/index cvx c1/get cvx/sub cvx/mul cvx }for /sub cvx numarrays 1 add 1/roll cvx }for numarrays[/pop cvx]cvx/repeat cvx end }def /exec_tint_transform { /TintProc[ /TintTransform cvx/setcolor cvx ]cvx bdf MappedCSA setcolorspace_opt }bdf /devn_makecustomcolor { 2 dict begin /names_index xdf /Names xdf 1 1 1 1 Names names_index get findcmykcustomcolor /devicen_tints AGMCORE_gget names_index get setcustomcolor Names length{pop}repeat end }bdf /setdevicencolorspace { dup/AliasedColorants known{false}{true}ifelse current_spot_alias and{ 7 dict begin /names_index 0 def dup/names_len exch/Names get length def /new_names names_len array def /new_LookupTables names_len array def /alias_cnt 0 def dup/Names get { dup map_alias{ exch pop dup/ColorLookup known{ dup begin new_LookupTables names_index ColorLookup put end }{ dup/Components known{ dup begin new_LookupTables names_index Components put end }{ dup begin new_LookupTables names_index[null null null null]put end }ifelse }ifelse new_names names_index 3 -1 roll/Name get put /alias_cnt alias_cnt 1 add def }{ /name xdf new_names names_index name put dup/LookupTables known{ dup begin new_LookupTables names_index LookupTables names_index get put end }{ dup begin new_LookupTables names_index[null null null null]put end }ifelse }ifelse /names_index names_index 1 add def }forall alias_cnt 0 gt{ /AliasedColorants true def /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def 0 1 names_len 1 sub{ /names_index xdf new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ /AliasedColorants false def exit }{ new_LookupTables names_index get 0 get null eq{ dup/Names get names_index get/name xdf name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq or or or not{ /AliasedColorants false def exit }if }if }ifelse }for lut_entry_len 1 eq{ /AliasedColorants false def }if AliasedColorants{ dup begin /Names new_names def /LookupTables new_LookupTables def /AliasedColorants true def /NComponents lut_entry_len def /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def currentdict/TTTablesIdx known not{ /TTTablesIdx -1 def }if end }if }if end }if dup/devicen_colorspace_dict exch AGMCORE_gput begin currentdict/AliasedColorants known{ AliasedColorants }{ false }ifelse dup not{ CSA map_csa }if /TintTransform load type/nulltype eq or{ /TintTransform[ 0 1 Names length 1 sub { /TTTablesIdx TTTablesIdx 1 add def dup LookupTables exch get dup 0 get null eq { 1 index Names exch get dup(Cyan)eq { pop exch LookupTables length exch sub /index cvx 0 0 0 } { dup(Magenta)eq { pop exch LookupTables length exch sub /index cvx 0/exch cvx 0 0 }{ (Yellow)eq { exch LookupTables length exch sub /index cvx 0 0 3 -1/roll cvx 0 }{ exch LookupTables length exch sub /index cvx 0 0 0 4 -1/roll cvx }ifelse }ifelse }ifelse 5 -1/roll cvx/astore cvx }{ dup length 1 sub LookupTables length 4 -1 roll sub 1 add /index cvx/mul cvx/round cvx/cvi cvx/get cvx }ifelse Names length TTTablesIdx add 1 add 1/roll cvx }for Names length[/pop cvx]cvx/repeat cvx NComponents Names length TintMethod/Subtractive eq { subtractive_blend }{ additive_blend }ifelse ]cvx bdf }if AGMCORE_host_sep{ Names convert_to_process{ exec_tint_transform } { currentdict/AliasedColorants known{ AliasedColorants not }{ false }ifelse 5 dict begin /AvoidAliasedColorants xdf /painted? false def /names_index 0 def /names_len Names length def AvoidAliasedColorants{ /currentspotalias current_spot_alias def false set_spot_alias }if Names{ AGMCORE_is_cmyk_sep{ dup(Cyan)eq AGMCORE_cyan_plate and exch dup(Magenta)eq AGMCORE_magenta_plate and exch dup(Yellow)eq AGMCORE_yellow_plate and exch (Black)eq AGMCORE_black_plate and or or or{ /devicen_colorspace_dict AGMCORE_gget/TintProc[ Names names_index/devn_makecustomcolor cvx ]cvx ddf /painted? true def }if painted?{exit}if }{ 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ /devicen_colorspace_dict AGMCORE_gget/TintProc[ Names names_index/devn_makecustomcolor cvx ]cvx ddf /painted? true def exit }if }ifelse /names_index names_index 1 add def }forall AvoidAliasedColorants{ currentspotalias set_spot_alias }if painted?{ /devicen_colorspace_dict AGMCORE_gget/names_index names_index put }{ /devicen_colorspace_dict AGMCORE_gget/TintProc[ names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx 0 0 0 0/setcmykcolor cvx ]cvx ddf }ifelse end }ifelse } { AGMCORE_in_rip_sep{ Names convert_to_process not }{ level3 }ifelse { [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt /TintProc level3 not AGMCORE_in_rip_sep and{ [ Names/length cvx[/pop cvx]cvx/repeat cvx ]cvx bdf }{ {setcolor}bdf }ifelse }{ exec_tint_transform }ifelse }ifelse set_crd /AliasedColorants false def end }def /setindexedcolorspace { dup/indexed_colorspace_dict exch AGMCORE_gput begin currentdict/CSDBase known{ CSDBase/CSD get_res begin currentdict/Names known{ currentdict devncs }{ 1 currentdict sepcs }ifelse AGMCORE_host_sep{ 4 dict begin /compCnt/Names where{pop Names length}{1}ifelse def /NewLookup HiVal 1 add string def 0 1 HiVal{ /tableIndex xdf Lookup dup type/stringtype eq{ compCnt tableIndex map_index }{ exec }ifelse /Names where{ pop setdevicencolor }{ setsepcolor }ifelse currentgray tableIndex exch 255 mul cvi NewLookup 3 1 roll put }for [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt end }{ level3 { currentdict/Names known{ [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt }{ [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt }ifelse }{ [/Indexed MappedCSA HiVal [ currentdict/Names known{ Lookup dup type/stringtype eq {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} {/exec cvx}ifelse /TintTransform load/exec cvx }{ Lookup dup type/stringtype eq {/exch cvx/get cvx 255/div cvx} {/exec cvx}ifelse CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx }ifelse ]cvx ]setcolorspace_opt }ifelse }ifelse end set_crd } { CSA map_csa AGMCORE_host_sep level2 not and{ 0 0 0 0 setcmykcolor }{ [/Indexed MappedCSA level2 not has_color not and{ dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ pop[/DeviceGray] }if HiVal GrayLookup }{ HiVal currentdict/RangeArray known{ { /indexed_colorspace_dict AGMCORE_gget begin Lookup exch dup HiVal gt{ pop HiVal }if NComponents mul NComponents getinterval{}forall NComponents 1 sub -1 0{ RangeArray exch 2 mul 2 getinterval aload pop map255_to_range NComponents 1 roll }for end }bind }{ Lookup }ifelse }ifelse ]setcolorspace_opt set_crd }ifelse }ifelse end }def /setindexedcolor { AGMCORE_host_sep{ /indexed_colorspace_dict AGMCORE_gget begin currentdict/CSDBase known{ CSDBase/CSD get_res begin currentdict/Names known{ map_indexed_devn devn } { Lookup 1 3 -1 roll map_index sep }ifelse end }{ Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll map_index MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse }ifelse end }{ level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin map_indexed_devn devn end } { setcolor }ifelse }ifelse }def /ignoreimagedata { currentoverprint not{ gsave dup clonedict begin 1 setgray /Decode[0 1]def /DataSourcedef /MultipleDataSources false def /BitsPerComponent 8 def currentdict end systemdict/image gx grestore }if consumeimagedata }def /add_res { dup/CSD eq{ pop //Adobe_AGM_Core begin /AGMCORE_CSD_cache load 3 1 roll put end }{ defineresource pop }ifelse }def /del_res { { aload pop exch dup/CSD eq{ pop {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall }{ exch {1 index undefineresource}forall pop }ifelse }forall }def /get_res { dup/CSD eq{ pop dup type dup/nametype eq exch/stringtype eq or{ AGMCORE_CSD_cache exch get }if }{ findresource }ifelse }def /get_csa_by_name { dup type dup/nametype eq exch/stringtype eq or{ /CSA get_res }if }def /paintproc_buf_init { /count get 0 0 put }def /paintproc_buf_next { dup/count get dup 0 get dup 3 1 roll 1 add 0 xpt get }def /cachepaintproc_compress { 5 dict begin currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def /ppdict 20 dict def /string_size 16000 def /readbuffer string_size string def currentglobal true setglobal ppdict 1 array dup 0 1 put/count xpt setglobal /LZWFilter { exch dup length 0 eq{ pop }{ ppdict dup length 1 sub 3 -1 roll put }ifelse {string_size}{0}ifelse string }/LZWEncode filter def { ReadFilter readbuffer readstring exch LZWFilter exch writestring not{exit}if }loop LZWFilter closefile ppdict end }def /cachepaintproc { 2 dict begin currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def /ppdict 20 dict def currentglobal true setglobal ppdict 1 array dup 0 1 put/count xpt setglobal { ReadFilter 16000 string readstring exch ppdict dup length 1 sub 3 -1 roll put not{exit}if }loop ppdict dup dup length 1 sub()put end }def /make_pattern { exch clonedict exch dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub matrix translate exch matrix concatmatrix 1 index begin BBox 0 get XStep div cvi XStep mul/xshift exch neg def BBox 1 get YStep div cvi YStep mul/yshift exch neg def BBox 0 get xshift add BBox 1 get yshift add BBox 2 get xshift add BBox 3 get yshift add 4 array astore /BBox exch def [xshift yshift/translate load null/exec load]dup 3/PaintProc load put cvx/PaintProc exch def end gsave 0 setgray makepattern grestore }def /set_pattern { dup/PatternType get 1 eq{ dup/PaintType get 1 eq{ currentoverprint sop[/DeviceGray]setcolorspace 0 setgray }if }if setpattern }def /setcolorspace_opt { dup currentcolorspace eq{pop}{setcolorspace}ifelse }def /updatecolorrendering { currentcolorrendering/RenderingIntent known{ currentcolorrendering/RenderingIntent get } { Intent/AbsoluteColorimetric eq { /absolute_colorimetric_crd AGMCORE_gget dup null eq } { Intent/RelativeColorimetric eq { /relative_colorimetric_crd AGMCORE_gget dup null eq } { Intent/Saturation eq { /saturation_crd AGMCORE_gget dup null eq } { /perceptual_crd AGMCORE_gget dup null eq }ifelse }ifelse }ifelse { pop null } { /RenderingIntent known{null}{Intent}ifelse }ifelse }ifelse Intent ne{ Intent/ColorRendering{findresource}stopped { pop pop systemdict/findcolorrendering known { Intent findcolorrendering { /ColorRendering findresource true exch } { /ColorRendering findresource product(Xerox Phaser 5400)ne exch }ifelse dup Intent/AbsoluteColorimetric eq { /absolute_colorimetric_crd exch AGMCORE_gput } { Intent/RelativeColorimetric eq { /relative_colorimetric_crd exch AGMCORE_gput } { Intent/Saturation eq { /saturation_crd exch AGMCORE_gput } { Intent/Perceptual eq { /perceptual_crd exch AGMCORE_gput } { pop }ifelse }ifelse }ifelse }ifelse 1 index{exch}{pop}ifelse } {false}ifelse } {true}ifelse { dup begin currentdict/TransformPQR known{ currentdict/TransformPQR get aload pop 3{{}eq 3 1 roll}repeat or or } {true}ifelse currentdict/MatrixPQR known{ currentdict/MatrixPQR get aload pop 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq and and and and and and and and } {true}ifelse end or { clonedict begin /TransformPQR[ {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind ]def /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def currentdict end }if setcolorrendering_opt }if }if }def /set_crd { AGMCORE_host_sep not level2 and{ currentdict/ColorRendering known{ ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if }{ currentdict/Intent known{ updatecolorrendering }if }ifelse currentcolorspace dup type/arraytype eq {0 get}if /DeviceRGB eq { currentdict/UCR known {/UCR}{/AGMCORE_currentucr}ifelse load setundercolorremoval currentdict/BG known {/BG}{/AGMCORE_currentbg}ifelse load setblackgeneration }if }if }def /set_ucrbg { dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse dup currentblackgeneration eq {pop}{setblackgeneration}ifelse dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse }def /setcolorrendering_opt { dup currentcolorrendering eq{ pop }{ product(HP Color LaserJet 2605)anchorsearch{ pop pop pop }{ pop clonedict begin /Intent Intent def currentdict end setcolorrendering }ifelse }ifelse }def /cpaint_gcomp { convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not { (%end_cpaint_gcomp)flushinput }if }def /cpaint_gsep { //Adobe_AGM_Core/AGMCORE_ConvertToProcess get { (%end_cpaint_gsep)flushinput }if }def /cpaint_gend {np}def /T1_path { currentfile token pop currentfile token pop mo { currentfile token pop dup type/stringtype eq {pop exit}if 0 exch rlineto currentfile token pop dup type/stringtype eq {pop exit}if 0 rlineto }loop }def /T1_gsave level3 {/clipsave} {/gsave}ifelse load def /T1_grestore level3 {/cliprestore} {/grestore}ifelse load def /set_spot_alias_ary { dup inherit_aliases //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf }def /set_spot_normalization_ary { dup inherit_aliases dup length /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if array //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf /AGMCORE_SpotAliasAry where{ pop AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval AGMCORE_SpotAliasAry length }{0}ifelse AGMCORE_SpotAliasAry2 3 1 roll exch putinterval true set_spot_alias }def /inherit_aliases { {dup/Name get map_alias{/CSD put}{pop}ifelse}forall }def /set_spot_alias { /AGMCORE_SpotAliasAry2 where{ /AGMCORE_current_spot_alias 3 -1 roll put }{ pop }ifelse }def /current_spot_alias { /AGMCORE_SpotAliasAry2 where{ /AGMCORE_current_spot_alias get }{ false }ifelse }def /map_alias { /AGMCORE_SpotAliasAry2 where{ begin /AGMCORE_name xdf false AGMCORE_SpotAliasAry2{ dup/Name get AGMCORE_name eq{ /CSD get/CSD get_res exch pop true exit }{ pop }ifelse }forall end }{ pop false }ifelse }bdf /spot_alias { true set_spot_alias /AGMCORE_&setcustomcolor AGMCORE_key_known not{ //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put }if /customcolor_tint 1 AGMCORE_gput //Adobe_AGM_Core begin /setcustomcolor { //Adobe_AGM_Core begin dup/customcolor_tint exch AGMCORE_gput 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not current_spot_alias and{1 index 4 get map_alias}{false}ifelse { false set_spot_alias /sep_colorspace_dict AGMCORE_gget null ne {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse 3 1 roll 2 index{ exch pop/sep_tint AGMCORE_gget exch }if mark 3 1 roll setsepcolorspace counttomark 0 ne{ setsepcolor }if pop not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if pop true set_spot_alias }{ AGMCORE_&setcustomcolor }ifelse end }bdf end }def /begin_feature { Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if }def /end_feature { 2 dict begin /spd/setpagedevice load def /setpagedevice{get_gstate spd set_gstate}def stopped{$error/newerror false put}if end count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if }def /set_negative { //Adobe_AGM_Core begin /AGMCORE_inverting exch def level2{ currentpagedevice/NegativePrint known AGMCORE_distilling not and{ currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ true begin_feature true{ <>setpagedevice }end_feature }if /AGMCORE_inverting false def }if }if AGMCORE_inverting{ [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer AGMCORE_distilling{ erasepage }{ gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore }ifelse }if end }def /lw_save_restore_override{ /md where{ pop md begin initializepage /initializepage{}def /pmSVsetup{}def /endp{}def /pse{}def /psb{}def /orig_showpage where {pop} {/orig_showpage/showpage load def} ifelse /showpage{orig_showpage gR}def end }if }def /pscript_showpage_override{ /NTPSOct95 where { begin showpage save /showpage/restore load def /restore{exch pop}def end }if }def /driver_media_override { /md where{ pop md/initializepage known{ md/initializepage{}put }if md/rC known{ md/rC{4{pop}repeat}put }if }if /mysetup where{ /mysetup[1 0 0 1 0 0]put }if Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put level2 {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if }def /capture_mysetup { /Pscript_Win_Data where{ pop Pscript_Win_Data/mysetup known{ Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put }if }if }def /restore_mysetup { /Pscript_Win_Data where{ pop Pscript_Win_Data/mysetup known{ Adobe_AGM_Core/save_mysetup known{ Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put Adobe_AGM_Core/save_mysetup undef }if }if }if }def /driver_check_media_override { /PrepsDict where {pop} { Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq { Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and }if { Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix }if }ifelse }def AGMCORE_err_strings begin /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def /AGMCORE_invalid_color_space(This job contains an invalid color space. )def end /set_def_ht {AGMCORE_def_ht sethalftone}def /set_def_flat {AGMCORE_Default_flatness setflat}def end systemdict/setpacking known {setpacking}if %%EndResource %%BeginResource: procset Adobe_CoolType_Core 2.31 0 %%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. %%Version: 2.31 0 10 dict begin /Adobe_CoolType_Passthru currentdict def /Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def Adobe_CoolType_Core_Defined {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} if userdict/Adobe_CoolType_Core 70 dict dup begin put /Adobe_CoolType_Version 2.31 def /Level2? systemdict/languagelevel known dup {pop systemdict/languagelevel get 2 ge} if def Level2? not { /currentglobal false def /setglobal/pop load def /gcheck{pop false}bind def /currentpacking false def /setpacking/pop load def /SharedFontDirectory 0 dict def } if currentpacking true setpacking currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def end setglobal currentglobal true setglobal userdict/Adobe_CoolType_GVMFonts known not {userdict/Adobe_CoolType_GVMFonts 10 dict put} if setglobal currentglobal false setglobal userdict/Adobe_CoolType_LVMFonts known not {userdict/Adobe_CoolType_LVMFonts 10 dict put} if setglobal /ct_VMDictPut { dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse 3 1 roll put }bind def /ct_VMDictUndef { dup Adobe_CoolType_GVMFonts exch known {Adobe_CoolType_GVMFonts exch undef} { dup Adobe_CoolType_LVMFonts exch known {Adobe_CoolType_LVMFonts exch undef} {pop} ifelse }ifelse }bind def /ct_str1 1 string def /ct_xshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_yshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { _ct_x _ct_y moveto 0 exch rmoveto } ifelse /_ct_i _ct_i 1 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /ct_xyshow { /_ct_na exch def /_ct_i 0 def currentpoint /_ct_y exch def /_ct_x exch def { pop pop ct_str1 exch 0 exch put ct_str1 show {_ct_na _ct_i get}stopped {pop pop} { {_ct_na _ct_i 1 add get}stopped {pop pop pop} { _ct_x _ct_y moveto rmoveto } ifelse } ifelse /_ct_i _ct_i 2 add def currentpoint /_ct_y exch def /_ct_x exch def } exch @cshow }bind def /xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def /ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def /xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def currentglobal true setglobal /ct_T3Defs { /BuildChar { 1 index/Encoding get exch get 1 index/BuildGlyph get exec }bind def /BuildGlyph { exch begin GlyphProcs exch get exec end }bind def }bind def setglobal /@_SaveStackLevels { Adobe_CoolType_Data begin /@vmState currentglobal def false setglobal @opStackCountByLevel @opStackLevel 2 copy known not { 2 copy 3 dict dup/args 7 index 5 add array put put get } { get dup/args get dup length 3 index lt { dup length 5 add array exch 1 index exch 0 exch putinterval 1 index exch/args exch put } {pop} ifelse } ifelse begin count 1 sub 1 index lt {pop count} if dup/argCount exch def dup 0 gt { args exch 0 exch getinterval astore pop } {pop} ifelse count /restCount exch def end /@opStackLevel @opStackLevel 1 add def countdictstack 1 sub @dictStackCountByLevel exch @dictStackLevel exch put /@dictStackLevel @dictStackLevel 1 add def @vmState setglobal end }bind def /@_RestoreStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def @opStackCountByLevel @opStackLevel get begin count restCount sub dup 0 gt {{pop}repeat} {pop} ifelse args 0 argCount getinterval{}forall end /@dictStackLevel @dictStackLevel 1 sub def @dictStackCountByLevel @dictStackLevel get end countdictstack exch sub dup 0 gt {{end}repeat} {pop} ifelse }bind def /@_PopStackLevels { Adobe_CoolType_Data begin /@opStackLevel @opStackLevel 1 sub def /@dictStackLevel @dictStackLevel 1 sub def end }bind def /@Raise { exch cvx exch errordict exch get exec stop }bind def /@ReRaise { cvx $error/errorname get errordict exch get exec stop }bind def /@Stopped { 0 @#Stopped }bind def /@#Stopped { @_SaveStackLevels stopped {@_RestoreStackLevels true} {@_PopStackLevels false} ifelse }bind def /@Arg { Adobe_CoolType_Data begin @opStackCountByLevel @opStackLevel 1 sub get begin args exch argCount 1 sub exch sub get end end }bind def currentglobal true setglobal /CTHasResourceForAllBug Level2? { 1 dict dup /@shouldNotDisappearDictValue true def Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put begin count @_SaveStackLevels {(*){pop stop}128 string/Category resourceforall} stopped pop @_RestoreStackLevels currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll { /@shouldNotDisappearDictValue known { { end currentdict 1 index eq {pop exit} if } loop } if } { pop end } ifelse } {false} ifelse def true setglobal /CTHasResourceStatusBug Level2? { mark {/steveamerige/Category resourcestatus} stopped {cleartomark true} {cleartomark currentglobal not} ifelse } {false} ifelse def setglobal /CTResourceStatus { mark 3 1 roll /Category findresource begin ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse end }bind def /CTWorkAroundBugs { Level2? { /cid_PreLoad/ProcSet resourcestatus { pop pop currentglobal mark { (*) { dup/CMap CTHasResourceStatusBug {CTResourceStatus} {resourcestatus} ifelse { pop dup 0 eq exch 1 eq or { dup/CMap findresource gcheck setglobal /CMap undefineresource } { pop CTHasResourceForAllBug {exit} {stop} ifelse } ifelse } {pop} ifelse } 128 string/CMap resourceforall } stopped {cleartomark} stopped pop setglobal } if } if }bind def /ds { Adobe_CoolType_Core begin CTWorkAroundBugs /mo/moveto load def /nf/newencodedfont load def /msf{makefont setfont}bind def /uf{dup undefinefont ct_VMDictUndef}bind def /ur/undefineresource load def /chp/charpath load def /awsh/awidthshow load def /wsh/widthshow load def /ash/ashow load def /@xshow/xshow load def /@yshow/yshow load def /@xyshow/xyshow load def /@cshow/cshow load def /sh/show load def /rp/repeat load def /.n/.notdef def end currentglobal false setglobal userdict/Adobe_CoolType_Data 2 copy known not {2 copy 10 dict put} if get begin /AddWidths? false def /CC 0 def /charcode 2 string def /@opStackCountByLevel 32 dict def /@opStackLevel 0 def /@dictStackCountByLevel 32 dict def /@dictStackLevel 0 def /InVMFontsByCMap 10 dict def /InVMDeepCopiedFonts 10 dict def end setglobal }bind def /dt { currentdict Adobe_CoolType_Core eq {end} if }bind def /ps { Adobe_CoolType_Core begin Adobe_CoolType_GVMFonts begin Adobe_CoolType_LVMFonts begin SharedFontDirectory begin }bind def /pt { end end end end }bind def /unload { systemdict/languagelevel known { systemdict/languagelevel get 2 ge { userdict/Adobe_CoolType_Core 2 copy known {undef} {pop pop} ifelse } if } if }bind def /ndf { 1 index where {pop pop pop} {dup xcheck{bind}if def} ifelse }def /findfont systemdict begin userdict begin /globaldict where{/globaldict get begin}if dup where pop exch get /globaldict where{pop end}if end end Adobe_CoolType_Core_Defined {/systemfindfont exch def} { /findfont 1 index def /systemfindfont exch def } ifelse /undefinefont {pop}ndf /copyfont { currentglobal 3 1 roll 1 index gcheck setglobal dup null eq{0}{dup length}ifelse 2 index length add 1 add dict begin exch { 1 index/FID eq {pop pop} {def} ifelse } forall dup null eq {pop} {{def}forall} ifelse currentdict end exch setglobal }bind def /copyarray { currentglobal exch dup gcheck setglobal dup length array copy exch setglobal }bind def /newencodedfont { currentglobal { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } { FontDirectory 3 index known {FontDirectory 3 index get/FontReferenced known} { SharedFontDirectory 3 index known {SharedFontDirectory 3 index get/FontReferenced known} {false} ifelse } ifelse } ifelse dup { 3 index findfont/FontReferenced get 2 index dup type/nametype eq {findfont} if ne {pop false} if } if dup { 1 index dup type/nametype eq {findfont} if dup/CharStrings known { /CharStrings get length 4 index findfont/CharStrings get length ne { pop false } if } {pop} ifelse } if { pop 1 index findfont /Encoding get exch 0 1 255 {2 copy get 3 index 3 1 roll put} for pop pop pop } { currentglobal 4 1 roll dup type/nametype eq {findfont} if dup gcheck setglobal dup dup maxlength 2 add dict begin exch { 1 index/FID ne 2 index/Encoding ne and {def} {pop pop} ifelse } forall /FontReferenced exch def /Encoding exch dup length array copy def /FontName 1 index dup type/stringtype eq{cvn}if def dup currentdict end definefont ct_VMDictPut setglobal } ifelse }bind def /SetSubstituteStrategy { $SubstituteFont begin dup type/dicttype ne {0 dict} if currentdict/$Strategies known { exch $Strategies exch 2 copy known { get 2 copy maxlength exch maxlength add dict begin {def}forall {def}forall currentdict dup/$Init known {dup/$Init get exec} if end /$Strategy exch def } {pop pop pop} ifelse } {pop pop} ifelse end }bind def /scff { $SubstituteFont begin dup type/stringtype eq {dup length exch} {null} ifelse /$sname exch def /$slen exch def /$inVMIndex $sname null eq { 1 index $str cvs dup length $slen sub $slen getinterval cvn } {$sname} ifelse def end {findfont} @Stopped { dup length 8 add string exch 1 index 0(BadFont:)putinterval 1 index exch 8 exch dup length string cvs putinterval cvn {findfont} @Stopped {pop/Courier findfont} if } if $SubstituteFont begin /$sname null def /$slen 0 def /$inVMIndex null def end }bind def /isWidthsOnlyFont { dup/WidthsOnly known {pop pop true} { dup/FDepVector known {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} { dup/FDArray known {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} {pop} ifelse } ifelse } ifelse }bind def /ct_StyleDicts 4 dict dup begin /Adobe-Japan1 4 dict dup begin Level2? { /Serif /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMin-W3} { /CIDFont/Category resourcestatus { pop pop /HeiseiMin-W3/CIDFont resourcestatus {pop pop/HeiseiMin-W3} {/Ryumin-Light} ifelse } {/Ryumin-Light} ifelse } ifelse def /SansSerif /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiKakuGo-W5} { /CIDFont/Category resourcestatus { pop pop /HeiseiKakuGo-W5/CIDFont resourcestatus {pop pop/HeiseiKakuGo-W5} {/GothicBBB-Medium} ifelse } {/GothicBBB-Medium} ifelse } ifelse def /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus {pop pop/HeiseiMaruGo-W4} { /CIDFont/Category resourcestatus { pop pop /HeiseiMaruGo-W4/CIDFont resourcestatus {pop pop/HeiseiMaruGo-W4} { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } { /Jun101-Light-RKSJ-H/Font resourcestatus {pop pop/Jun101-Light} {SansSerif} ifelse } ifelse } ifelse /RoundSansSerif exch def /Default Serif def } { /Serif/Ryumin-Light def /SansSerif/GothicBBB-Medium def { (fonts/Jun101-Light-83pv-RKSJ-H)status }stopped {pop}{ {pop pop pop pop/Jun101-Light} {SansSerif} ifelse /RoundSansSerif exch def }ifelse /Default Serif def } ifelse end def /Adobe-Korea1 4 dict dup begin /Serif/HYSMyeongJo-Medium def /SansSerif/HYGoThic-Medium def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-GB1 4 dict dup begin /Serif/STSong-Light def /SansSerif/STHeiti-Regular def /RoundSansSerif SansSerif def /Default Serif def end def /Adobe-CNS1 4 dict dup begin /Serif/MKai-Medium def /SansSerif/MHei-Medium def /RoundSansSerif SansSerif def /Default Serif def end def end def Level2?{currentglobal true setglobal}if /ct_BoldRomanWidthProc { stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth 0 0 }bind def /ct_Type0WidthProc { dup stringwidth 0 0 moveto 2 index true charpath pathbbox 0 -1 7 index 2 div .88 setcachedevice2 pop 0 0 }bind def /ct_Type0WMode1WidthProc { dup stringwidth pop 2 div neg -0.88 2 copy moveto 0 -1 5 -1 roll true charpath pathbbox setcachedevice }bind def /cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_BoldBaseFont 11 dict begin /FontType 3 def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /Encoding cHexEncoding def /_setwidthProc/ct_BoldRomanWidthProc load def /_bcstr1 1 string def /BuildChar { exch begin _basefont setfont _bcstr1 dup 0 4 -1 roll put dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def systemdict/composefont known { /ct_DefineIdentity-H { /Identity-H/CMap resourcestatus { pop pop } { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse } def /ct_BoldBaseCIDFont 11 dict begin /CIDFontType 1 def /CIDFontName/ct_BoldBaseCIDFont def /FontMatrix[1 0 0 1 0 0]def /FontBBox[0 0 1 1]def /_setwidthProc/ct_Type0WidthProc load def /_bcstr2 2 string def /BuildGlyph { exch begin _basefont setfont _bcstr2 1 2 index 256 mod put _bcstr2 0 3 -1 roll 256 idiv put _bcstr2 dup _setwidthProc 3 copy moveto show _basefonto setfont moveto show end }bind def currentdict end def }if Level2?{setglobal}if /ct_CopyFont{ { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall }bind def /ct_Type0CopyFont { exch dup length dict begin ct_CopyFont [ exch FDepVector { dup/FontType get 0 eq { 1 index ct_Type0CopyFont /_ctType0 exch definefont } { /_ctBaseFont exch 2 index exec } ifelse exch } forall pop ] /FDepVector exch def currentdict end }bind def /ct_MakeBoldFont { dup/ct_SyntheticBold known { dup length 3 add dict begin ct_CopyFont /ct_StrokeWidth .03 0 FontMatrix idtransform pop def /ct_SyntheticBold true def currentdict end definefont } { dup dup length 3 add dict begin ct_CopyFont /PaintType 2 def /StrokeWidth .03 0 FontMatrix idtransform pop def /dummybold currentdict end definefont dup/FontType get dup 9 ge exch 11 le and { ct_BoldBaseCIDFont dup length 3 add dict copy begin dup/CIDSystemInfo get/CIDSystemInfo exch def ct_DefineIdentity-H /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefont exch def /_Type0Identity/Identity-H 3 -1 roll[exch]composefont /_basefonto exch def currentdict end /CIDFont defineresource } { ct_BoldBaseFont dup length 3 add dict copy begin /_basefont exch def /_basefonto exch def currentdict end definefont } ifelse } ifelse }bind def /ct_MakeBold{ 1 index 1 index findfont currentglobal 5 1 roll dup gcheck setglobal dup /FontType get 0 eq { dup/WMode known{dup/WMode get 1 eq}{false}ifelse version length 4 ge and {version 0 4 getinterval cvi 2015 ge} {true} ifelse {/ct_Type0WidthProc} {/ct_Type0WMode1WidthProc} ifelse ct_BoldBaseFont/_setwidthProc 3 -1 roll load put {ct_MakeBoldFont}ct_Type0CopyFont definefont } { dup/_fauxfont known not 1 index/SubstMaster known not and { ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put ct_MakeBoldFont } { 2 index 2 index eq {exch pop } { dup length dict begin ct_CopyFont currentdict end definefont } ifelse } ifelse } ifelse pop pop pop setglobal }bind def /?str1 256 string def /?set { $SubstituteFont begin /$substituteFound false def /$fontname 1 index def /$doSmartSub false def end dup findfont $SubstituteFont begin $substituteFound {false} { dup/FontName known { dup/FontName get $fontname eq 1 index/DistillerFauxFont known not and /currentdistillerparams where {pop false 2 index isWidthsOnlyFont not and} if } {false} ifelse } ifelse exch pop /$doSmartSub true def end { 5 1 roll pop pop pop pop findfont } { 1 index findfont dup/FontType get 3 eq { 6 1 roll pop pop pop pop pop false } {pop true} ifelse { $SubstituteFont begin pop pop /$styleArray 1 index def /$regOrdering 2 index def pop pop 0 1 $styleArray length 1 sub { $styleArray exch get ct_StyleDicts $regOrdering 2 copy known { get exch 2 copy known not {pop/Default} if get dup type/nametype eq { ?str1 cvs length dup 1 add exch ?str1 exch(-)putinterval exch dup length exch ?str1 exch 3 index exch putinterval add ?str1 exch 0 exch getinterval cvn } { pop pop/Unknown } ifelse } { pop pop pop pop/Unknown } ifelse } for end findfont }if } ifelse currentglobal false setglobal 3 1 roll null copyfont definefont pop setglobal }bind def setpacking userdict/$SubstituteFont 25 dict put 1 dict begin /SubstituteFont dup $error exch 2 copy known {get} {pop pop{pop/Courier}bind} ifelse def /currentdistillerparams where dup { pop pop currentdistillerparams/CannotEmbedFontPolicy 2 copy known {get/Error eq} {pop pop false} ifelse } if not { countdictstack array dictstack 0 get begin userdict begin $SubstituteFont begin /$str 128 string def /$fontpat 128 string def /$slen 0 def /$sname null def /$match false def /$fontname null def /$substituteFound false def /$inVMIndex null def /$doSmartSub true def /$depth 0 def /$fontname null def /$italicangle 26.5 def /$dstack null def /$Strategies 10 dict dup begin /$Type3Underprint { currentglobal exch false setglobal 11 dict begin /UseFont exch $WMode 0 ne { dup length dict copy dup/WMode $WMode put /UseFont exch definefont } if def /FontName $fontname dup type/stringtype eq{cvn}if def /FontType 3 def /FontMatrix[.001 0 0 .001 0 0]def /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def /FontBBox[0 0 0 0]def /CCInfo 7 dict dup begin /cc null def /x 0 def /y 0 def end def /BuildChar { exch begin CCInfo begin 1 string dup 0 3 index put exch pop /cc exch def UseFont 1000 scalefont setfont cc stringwidth/y exch def/x exch def x y setcharwidth $SubstituteFont/$Strategy get/$Underprint get exec 0 0 moveto cc show x y moveto end end }bind def currentdict end exch setglobal }bind def /$GetaTint 2 dict dup begin /$BuildFont { dup/WMode known {dup/WMode get} {0} ifelse /$WMode exch def $fontname exch dup/FontName known { dup/FontName get dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse exch Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index/FontName get known { pop Adobe_CoolType_Data/InVMDeepCopiedFonts get 1 index get null copyfont } {$deepcopyfont} ifelse exch 1 index exch/FontBasedOn exch put dup/FontName $fontname dup type/stringtype eq{cvn}if put definefont Adobe_CoolType_Data/InVMDeepCopiedFonts get begin dup/FontBasedOn get 1 index def end }bind def /$Underprint { gsave x abs y abs gt {/y 1000 def} {/x -1000 def 500 120 translate} ifelse Level2? { [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] setcolorspace } {0 setgray} ifelse 10 setlinewidth x .8 mul [7 3] { y mul 8 div 120 sub x 10 div exch moveto 0 y 4 div neg rlineto dup 0 rlineto 0 y 4 div rlineto closepath gsave Level2? {.2 setcolor} {.8 setgray} ifelse fill grestore stroke } forall pop grestore }bind def end def /$Oblique 1 dict dup begin /$BuildFont { currentglobal exch dup gcheck setglobal null copyfont begin /FontBasedOn currentdict/FontName known { FontName dup type/stringtype eq{cvn}if } {/unnamedfont} ifelse def /FontName $fontname dup type/stringtype eq{cvn}if def /currentdistillerparams where {pop} { /FontInfo currentdict/FontInfo known {FontInfo null copyfont} {2 dict} ifelse dup begin /ItalicAngle $italicangle def /FontMatrix FontMatrix [1 0 ItalicAngle dup sin exch cos div 1 0 0] matrix concatmatrix readonly end 4 2 roll def def } ifelse FontName currentdict end definefont exch setglobal }bind def end def /$None 1 dict dup begin /$BuildFont{}bind def end def end def /$Oblique SetSubstituteStrategy /$findfontByEnum { dup type/stringtype eq{cvn}if dup/$fontname exch def $sname null eq {$str cvs dup length $slen sub $slen getinterval} {pop $sname} ifelse $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval /$match false def $SubstituteFont/$dstack countdictstack array dictstack put mark { $fontpat 0 $slen 7 add getinterval {/$match exch def exit} $str filenameforall } stopped { cleardictstack currentdict true $SubstituteFont/$dstack get { exch { 1 index eq {pop false} {true} ifelse } {begin false} ifelse } forall pop } if cleartomark /$slen 0 def $match false ne {$match(fonts/)anchorsearch pop pop cvn} {/Courier} ifelse }bind def /$ROS 1 dict dup begin /Adobe 4 dict dup begin /Japan1 [/Ryumin-Light/HeiseiMin-W3 /GothicBBB-Medium/HeiseiKakuGo-W5 /HeiseiMaruGo-W4/Jun101-Light]def /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def /GB1 [/STSong-Light/STHeiti-Regular]def /CNS1 [/MKai-Medium/MHei-Medium]def end def end def /$cmapname null def /$deepcopyfont { dup/FontType get 0 eq { 1 dict dup/FontName/copied put copyfont begin /FDepVector FDepVector copyarray 0 1 2 index length 1 sub { 2 copy get $deepcopyfont dup/FontName/copied put /copied exch definefont 3 copy put pop pop } for def currentdict end } {$Strategies/$Type3Underprint get exec} ifelse }bind def /$buildfontname { dup/CIDFont findresource/CIDSystemInfo get begin Registry length Ordering length Supplement 8 string cvs 3 copy length 2 add add add string dup 5 1 roll dup 0 Registry putinterval dup 4 index(-)putinterval dup 4 index 1 add Ordering putinterval 4 2 roll add 1 add 2 copy(-)putinterval end 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch anchorsearch {pop pop 3 2 roll putinterval cvn/$cmapname exch def} {pop pop pop pop pop} ifelse length $str 1 index(-)putinterval 1 add $str 1 index $cmapname $fontpat cvs putinterval $cmapname length add $str exch 0 exch getinterval cvn }bind def /$findfontByROS { /$fontname exch def $ROS Registry 2 copy known { get Ordering 2 copy known {get} {pop pop[]} ifelse } {pop pop[]} ifelse false exch { dup/CIDFont resourcestatus { pop pop save 1 index/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get} {false} ifelse exch pop exch restore {pop} {exch pop true exit} ifelse } {pop} ifelse } forall {$str cvs $buildfontname} { false(*) { save exch dup/CIDFont findresource dup/WidthsOnly known {dup/WidthsOnly get not} {true} ifelse exch/CIDSystemInfo get dup/Registry get Registry eq exch/Ordering get Ordering eq and and {exch restore exch pop true exit} {pop restore} ifelse } $str/CIDFont resourceforall {$buildfontname} {$fontname $findfontByEnum} ifelse } ifelse }bind def end end currentdict/$error known currentdict/languagelevel known and dup {pop $error/SubstituteFont known} if dup {$error} {Adobe_CoolType_Core} ifelse begin { /SubstituteFont /CMap/Category resourcestatus { pop pop { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and { $sname null eq {dup $str cvs dup length $slen sub $slen getinterval cvn} {$sname} ifelse Adobe_CoolType_Data/InVMFontsByCMap get 1 index 2 copy known { get false exch { pop currentglobal { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } { FontDirectory 1 index known {exch pop true exit} { GlobalFontDirectory 1 index known {exch pop true exit} {pop} ifelse } ifelse } ifelse } forall } {pop pop false} ifelse { exch pop exch pop } { dup/CMap resourcestatus { pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS } { 128 string cvs dup(-)search { 3 1 roll search { 3 1 roll pop {dup cvi} stopped {pop pop pop pop pop $findfontByEnum} { 4 2 roll pop pop exch length exch 2 index length 2 index sub exch 1 sub -1 0 { $str cvs dup length 4 index 0 4 index 4 3 roll add getinterval exch 1 index exch 3 index exch putinterval dup/CMap resourcestatus { pop pop 4 1 roll pop pop pop dup/$cmapname exch def /CMap findresource/CIDSystemInfo get{def}forall $findfontByROS true exit } {pop} ifelse } for dup type/booleantype eq {pop} {pop pop pop $findfontByEnum} ifelse } ifelse } {pop pop pop $findfontByEnum} ifelse } {pop pop $findfontByEnum} ifelse } ifelse } ifelse } {//SubstituteFont exec} ifelse /$slen 0 def end } } { { $SubstituteFont begin /$substituteFound true def dup length $slen gt $sname null ne or $slen 0 gt and {$findfontByEnum} {//SubstituteFont exec} ifelse end } } ifelse bind readonly def Adobe_CoolType_Core/scfindfont/systemfindfont load put } { /scfindfont { $SubstituteFont begin dup systemfindfont dup/FontName known {dup/FontName get dup 3 index ne} {/noname true} ifelse dup { /$origfontnamefound 2 index def /$origfontname 4 index def/$substituteFound true def } if exch pop { $slen 0 gt $sname null ne 3 index length $slen gt or and { pop dup $findfontByEnum findfont dup maxlength 1 add dict begin {1 index/FID eq{pop pop}{def}ifelse} forall currentdict end definefont dup/FontName known{dup/FontName get}{null}ifelse $origfontnamefound ne { $origfontname $str cvs print ( substitution revised, using )print dup/FontName known {dup/FontName get}{(unspecified font)} ifelse $str cvs print(.\n)print } if } {exch pop} ifelse } {exch pop} ifelse end }bind def } ifelse end end Adobe_CoolType_Core_Defined not { Adobe_CoolType_Core/findfont { $SubstituteFont begin $depth 0 eq { /$fontname 1 index dup type/stringtype ne{$str cvs}if def /$substituteFound false def } if /$depth $depth 1 add def end scfindfont $SubstituteFont begin /$depth $depth 1 sub def $substituteFound $depth 0 eq and { $inVMIndex null ne {dup $inVMIndex $AddInVMFont} if $doSmartSub { currentdict/$Strategy known {$Strategy/$BuildFont get exec} if } if } if end }bind put } if } if end /$AddInVMFont { exch/FontName 2 copy known { get 1 dict dup begin exch 1 index gcheck def end exch Adobe_CoolType_Data/InVMFontsByCMap get exch $DictAdd } {pop pop pop} ifelse }bind def /$DictAdd { 2 copy known not {2 copy 4 index length dict put} if Level2? not { 2 copy get dup maxlength exch length 4 index length add lt 2 copy get dup length 4 index length add exch maxlength 1 index lt { 2 mul dict begin 2 copy get{forall}def 2 copy currentdict put end } {pop} ifelse } if get begin {def} forall end }bind def end end %%EndResource currentglobal true setglobal %%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 %%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. %%Version: 1.23 0 systemdict/languagelevel known dup {currentglobal false setglobal} {false} ifelse exch userdict/Adobe_CoolType_Utility 2 copy known {2 copy get dup maxlength 27 add dict copy} {27 dict} ifelse put Adobe_CoolType_Utility begin /@eexecStartData def /@recognizeCIDFont null def /ct_Level2? exch def /ct_Clone? 1183615869 internaldict dup /CCRun known not exch/eCCRun known not ct_Level2? and or def ct_Level2? {globaldict begin currentglobal true setglobal} if /ct_AddStdCIDMap ct_Level2? {{ mark Adobe_CoolType_Utility/@recognizeCIDFont currentdict put { ((Hex)57 StartData 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec } stopped { cleartomark Adobe_CoolType_Utility/@recognizeCIDFont get countdictstack dup array dictstack exch 1 sub -1 0 { 2 copy get 3 index eq {1 index length exch sub 1 sub{end}repeat exit} {pop} ifelse } for pop pop Adobe_CoolType_Utility/@eexecStartData get eexec } {cleartomark} ifelse }} {{ Adobe_CoolType_Utility/@eexecStartData get eexec }} ifelse bind def userdict/cid_extensions known dup{cid_extensions/cid_UpdateDB known and}if { cid_extensions begin /cid_GetCIDSystemInfo { 1 index type/stringtype eq {exch cvn exch} if cid_extensions begin dup load 2 index known { 2 copy cid_GetStatusInfo dup null ne { 1 index load 3 index get dup null eq {pop pop cid_UpdateDB} { exch 1 index/Created get eq {exch pop exch pop} {pop cid_UpdateDB} ifelse } ifelse } {pop cid_UpdateDB} ifelse } {cid_UpdateDB} ifelse end }bind def end } if ct_Level2? {end setglobal} if /ct_UseNativeCapability? systemdict/composefont known def /ct_MakeOCF 35 dict def /ct_Vars 25 dict def /ct_GlyphDirProcs 6 dict def /ct_BuildCharDict 15 dict dup begin /charcode 2 string def /dst_string 1500 string def /nullstring()def /usewidths? true def end def ct_Level2?{setglobal}{pop}ifelse ct_GlyphDirProcs begin /GetGlyphDirectory { systemdict/languagelevel known {pop/CIDFont findresource/GlyphDirectory get} { 1 index/CIDFont findresource/GlyphDirectory get dup type/dicttype eq { dup dup maxlength exch length sub 2 index lt { dup length 2 index add dict copy 2 index /CIDFont findresource/GlyphDirectory 2 index put } if } if exch pop exch pop } ifelse + }def /+ { systemdict/languagelevel known { currentglobal false setglobal 3 dict begin /vm exch def } {1 dict begin} ifelse /$ exch def systemdict/languagelevel known { vm setglobal /gvm currentglobal def $ gcheck setglobal } if ?{$ begin}if }def /?{$ type/dicttype eq}def /|{ userdict/Adobe_CoolType_Data known { Adobe_CoolType_Data/AddWidths? known { currentdict Adobe_CoolType_Data begin begin AddWidths? { Adobe_CoolType_Data/CC 3 index put ?{def}{$ 3 1 roll put}ifelse CC charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore currentfont/Widths get exch CC exch put } {?{def}{$ 3 1 roll put}ifelse} ifelse end end } {?{def}{$ 3 1 roll put}ifelse} ifelse } {?{def}{$ 3 1 roll put}ifelse} ifelse }def /! { ?{end}if systemdict/languagelevel known {gvm setglobal} if end }def /:{string currentfile exch readstring pop}executeonly def end ct_MakeOCF begin /ct_cHexEncoding [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def /ct_CID_STR_SIZE 8000 def /ct_mkocfStr100 100 string def /ct_defaultFontMtx[.001 0 0 .001 0 0]def /ct_1000Mtx[1000 0 0 1000 0 0]def /ct_raise{exch cvx exch errordict exch get exec stop}bind def /ct_reraise {cvx $error/errorname get(Error: )print dup( )cvs print errordict exch get exec stop }bind def /ct_cvnsi { 1 index add 1 sub 1 exch 0 4 1 roll { 2 index exch get exch 8 bitshift add } for exch pop }bind def /ct_GetInterval { Adobe_CoolType_Utility/ct_BuildCharDict get begin /dst_index 0 def dup dst_string length gt {dup string/dst_string exch def} if 1 index ct_CID_STR_SIZE idiv /arrayIndex exch def 2 index arrayIndex get 2 index arrayIndex ct_CID_STR_SIZE mul sub { dup 3 index add 2 index length le { 2 index getinterval dst_string dst_index 2 index putinterval length dst_index add/dst_index exch def exit } { 1 index length 1 index sub dup 4 1 roll getinterval dst_string dst_index 2 index putinterval pop dup dst_index add/dst_index exch def sub /arrayIndex arrayIndex 1 add def 2 index dup length arrayIndex gt {arrayIndex get} { pop exit } ifelse 0 } ifelse } loop pop pop pop dst_string 0 dst_index getinterval end }bind def ct_Level2? { /ct_resourcestatus currentglobal mark true setglobal {/unknowninstancename/Category resourcestatus} stopped {cleartomark setglobal true} {cleartomark currentglobal not exch setglobal} ifelse { { mark 3 1 roll/Category findresource begin ct_Vars/vm currentglobal put ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec {cleartomark false} {{3 2 roll pop true}{cleartomark false}ifelse} ifelse ct_Vars/vm get setglobal end } } {{resourcestatus}} ifelse bind def /CIDFont/Category ct_resourcestatus {pop pop} { currentglobal true setglobal /Generic/Category findresource dup length dict copy dup/InstanceType/dicttype put /CIDFont exch/Category defineresource pop setglobal } ifelse ct_UseNativeCapability? { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering(Identity)def /Supplement 0 def end def /CMapName/Identity-H def /CMapVersion 1.000 def /CMapType 1 def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } if } { /ct_Category 2 dict begin /CIDFont 10 dict def /ProcSet 2 dict def currentdict end def /defineresource { ct_Category 1 index 2 copy known { get dup dup maxlength exch length eq { dup length 10 add dict copy ct_Category 2 index 2 index put } if 3 index 3 index put pop exch pop } {pop pop/defineresource/undefined ct_raise} ifelse }bind def /findresource { ct_Category 1 index 2 copy known { get 2 index 2 copy known {get 3 1 roll pop pop} {pop pop/findresource/undefinedresource ct_raise} ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /resourcestatus { ct_Category 1 index 2 copy known { get 2 index known exch pop exch pop { 0 -1 true } { false } ifelse } {pop pop/findresource/undefined ct_raise} ifelse }bind def /ct_resourcestatus/resourcestatus load def } ifelse /ct_CIDInit 2 dict begin /ct_cidfont_stream_init { { dup(Binary)eq { pop null currentfile ct_Level2? { {cid_BYTE_COUNT()/SubFileDecode filter} stopped {pop pop pop} if } if /readstring load exit } if dup(Hex)eq { pop currentfile ct_Level2? { {null exch/ASCIIHexDecode filter/readstring} stopped {pop exch pop(>)exch/readhexstring} if } {(>)exch/readhexstring} ifelse load exit } if /StartData/typecheck ct_raise } loop cid_BYTE_COUNT ct_CID_STR_SIZE le { 2 copy cid_BYTE_COUNT string exch exec pop 1 array dup 3 -1 roll 0 exch put } { cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi dup array exch 2 sub 0 exch 1 exch { 2 copy 5 index ct_CID_STR_SIZE string 6 index exec pop put pop } for 2 index cid_BYTE_COUNT ct_CID_STR_SIZE mod string 3 index exec pop 1 index exch 1 index length 1 sub exch put } ifelse cid_CIDFONT exch/GlyphData exch put 2 index null eq { pop pop pop } { pop/readstring load 1 string exch { 3 copy exec pop dup length 0 eq { pop pop pop pop pop true exit } if 4 index eq { pop pop pop pop false exit } if } loop pop } ifelse }bind def /StartData { mark { currentdict dup/FDArray get 0 get/FontMatrix get 0 get 0.001 eq { dup/CDevProc known not { /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known {get} { pop pop {pop pop pop pop pop 0 -1000 7 index 2 div 880} } ifelse def } if } { /CDevProc { pop pop pop pop pop 0 1 cid_temp/cid_CIDFONT get /FDArray get 0 get /FontMatrix get 0 get div 7 index 2 div 1 index 0.88 mul }def } ifelse /cid_temp 15 dict def cid_temp begin /cid_CIDFONT exch def 3 copy pop dup/cid_BYTE_COUNT exch def 0 gt { ct_cidfont_stream_init FDArray { /Private get dup/SubrMapOffset known { begin /Subrs SubrCount array def Subrs SubrMapOffset SubrCount SDBytes ct_Level2? { currentdict dup/SubrMapOffset undef dup/SubrCount undef /SDBytes undef } if end /cid_SD_BYTES exch def /cid_SUBR_COUNT exch def /cid_SUBR_MAP_OFFSET exch def /cid_SUBRS exch def cid_SUBR_COUNT 0 gt { GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi 0 1 cid_SUBR_COUNT 1 sub { exch 1 index 1 add cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add GlyphData exch cid_SD_BYTES ct_GetInterval 0 cid_SD_BYTES ct_cvnsi cid_SUBRS 4 2 roll GlyphData exch 4 index 1 index sub ct_GetInterval dup length string copy put } for pop } if } {pop} ifelse } forall } if cleartomark pop pop end CIDFontName currentdict/CIDFont defineresource pop end end } stopped {cleartomark/StartData ct_reraise} if }bind def currentdict end def /ct_saveCIDInit { /CIDInit/ProcSet ct_resourcestatus {true} {/CIDInitC/ProcSet ct_resourcestatus} ifelse { pop pop /CIDInit/ProcSet findresource ct_UseNativeCapability? {pop null} {/CIDInit ct_CIDInit/ProcSet defineresource pop} ifelse } {/CIDInit ct_CIDInit/ProcSet defineresource pop null} ifelse ct_Vars exch/ct_oldCIDInit exch put }bind def /ct_restoreCIDInit { ct_Vars/ct_oldCIDInit get dup null ne {/CIDInit exch/ProcSet defineresource pop} {pop} ifelse }bind def /ct_BuildCharSetUp { 1 index begin CIDFont begin Adobe_CoolType_Utility/ct_BuildCharDict get begin /ct_dfCharCode exch def /ct_dfDict exch def CIDFirstByte ct_dfCharCode add dup CIDCount ge {pop 0} if /cid exch def { GlyphDirectory cid 2 copy known {get} {pop pop nullstring} ifelse dup length FDBytes sub 0 gt { dup FDBytes 0 ne {0 FDBytes ct_cvnsi} {pop 0} ifelse /fdIndex exch def dup length FDBytes sub FDBytes exch getinterval /charstring exch def exit } { pop cid 0 eq {/charstring nullstring def exit} if /cid 0 def } ifelse } loop }def /ct_SetCacheDevice { 0 0 moveto dup stringwidth 3 -1 roll true charpath pathbbox 0 -1000 7 index 2 div 880 setcachedevice2 0 0 moveto }def /ct_CloneSetCacheProc { 1 eq { stringwidth pop -2 div -880 0 -1000 setcharwidth moveto } { usewidths? { currentfont/Widths get cid 2 copy known {get exch pop aload pop} {pop pop stringwidth} ifelse } {stringwidth} ifelse setcharwidth 0 0 moveto } ifelse }def /ct_Type3ShowCharString { ct_FDDict fdIndex 2 copy known {get} { currentglobal 3 1 roll 1 index gcheck setglobal ct_Type1FontTemplate dup maxlength dict copy begin FDArray fdIndex get dup/FontMatrix 2 copy known {get} {pop pop ct_defaultFontMtx} ifelse /FontMatrix exch dup length array copy def /Private get /Private exch def /Widths rootfont/Widths get def /CharStrings 1 dict dup/.notdef dup length string copy put def currentdict end /ct_Type1Font exch definefont dup 5 1 roll put setglobal } ifelse dup/CharStrings get 1 index/Encoding get ct_dfCharCode get charstring put rootfont/WMode 2 copy known {get} {pop pop 0} ifelse exch 1000 scalefont setfont ct_str1 0 ct_dfCharCode put ct_str1 exch ct_dfSetCacheProc ct_SyntheticBold { currentpoint ct_str1 show newpath moveto ct_str1 true charpath ct_StrokeWidth setlinewidth stroke } {ct_str1 show} ifelse }def /ct_Type4ShowCharString { ct_dfDict ct_dfCharCode charstring FDArray fdIndex get dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not {ct_1000Mtx matrix concatmatrix concat} {pop} ifelse /Private get Adobe_CoolType_Utility/ct_Level2? get not { ct_dfDict/Private 3 -1 roll {put} 1183615869 internaldict/superexec get exec } if 1183615869 internaldict Adobe_CoolType_Utility/ct_Level2? get {1 index} {3 index/Private get mark 6 1 roll} ifelse dup/RunInt known {/RunInt get} {pop/CCRun} ifelse get exec Adobe_CoolType_Utility/ct_Level2? get not {cleartomark} if }bind def /ct_BuildCharIncremental { { Adobe_CoolType_Utility/ct_MakeOCF get begin ct_BuildCharSetUp ct_ShowCharString } stopped {stop} if end end end end }bind def /BaseFontNameStr(BF00)def /ct_Type1FontTemplate 14 dict begin /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /PaintType 0 def currentdict end def /BaseFontTemplate 11 dict begin /FontMatrix [0.001 0 0 0.001 0 0]def /FontBBox [-250 -250 1250 1250]def /Encoding ct_cHexEncoding def /BuildChar/ct_BuildCharIncremental load def ct_Clone? { /FontType 3 def /ct_ShowCharString/ct_Type3ShowCharString load def /ct_dfSetCacheProc/ct_CloneSetCacheProc load def /ct_SyntheticBold false def /ct_StrokeWidth 1 def } { /FontType 4 def /Private 1 dict dup/lenIV 4 put def /CharStrings 1 dict dup/.notdefput def /PaintType 0 def /ct_ShowCharString/ct_Type4ShowCharString load def } ifelse /ct_str1 1 string def currentdict end def /BaseFontDictSize BaseFontTemplate length 5 add def /ct_matrixeq { true 0 1 5 { dup 4 index exch get exch 3 index exch get eq and dup not {exit} if } for exch pop exch pop }bind def /ct_makeocf { 15 dict begin exch/WMode exch def exch/FontName exch def /FontType 0 def /FMapType 2 def dup/FontMatrix known {dup/FontMatrix get/FontMatrix exch def} {/FontMatrix matrix def} ifelse /bfCount 1 index/CIDCount get 256 idiv 1 add dup 256 gt{pop 256}if def /Encoding 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for bfCount 1 255{2 copy bfCount put pop}for def /FDepVector bfCount dup 256 lt{1 add}if array def BaseFontTemplate BaseFontDictSize dict copy begin /CIDFont exch def CIDFont/FontBBox known {CIDFont/FontBBox get/FontBBox exch def} if CIDFont/CDevProc known {CIDFont/CDevProc get/CDevProc exch def} if currentdict end BaseFontNameStr 3(0)putinterval 0 1 bfCount dup 256 eq{1 sub}if { FDepVector exch 2 index BaseFontDictSize dict copy begin dup/CIDFirstByte exch 256 mul def FontType 3 eq {/ct_FDDict 2 dict def} if currentdict end 1 index 16 BaseFontNameStr 2 2 getinterval cvrs pop BaseFontNameStr exch definefont put } for ct_Clone? {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} if FontName currentdict end definefont ct_Clone? { gsave dup 1000 scalefont setfont ct_BuildCharDict begin /usewidths? false def currentfont/Widths get begin exch/CIDFont get/GlyphDirectory get { pop dup charcode exch 1 index 0 2 index 256 idiv put 1 index exch 1 exch 256 mod put stringwidth 2 array astore def } forall end /usewidths? true def end grestore } {exch pop} ifelse }bind def currentglobal true setglobal /ct_ComposeFont { ct_UseNativeCapability? { 2 index/CMap ct_resourcestatus {pop pop exch pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 3 index def /CMapVersion 1.000 def /CMapType 1 def exch/WMode exch def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search { dup length string copy exch pop exch pop } {pop(Identity)} ifelse } {pop (Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { 3 2 roll pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def setglobal /ct_MakeIdentity { ct_UseNativeCapability? { 1 index/CMap ct_resourcestatus {pop pop} { /CIDInit/ProcSet findresource begin 12 dict begin begincmap /CMapName 2 index def /CMapVersion 1.000 def /CMapType 1 def /CIDSystemInfo 3 dict dup begin /Registry(Adobe)def /Ordering CMapName ct_mkocfStr100 cvs (Adobe-)search { pop pop (-)search {dup length string copy exch pop exch pop} {pop(Identity)} ifelse } {pop(Identity)} ifelse def /Supplement 0 def end def 1 begincodespacerange <0000> endcodespacerange 1 begincidrange <0000>0 endcidrange endcmap CMapName currentdict/CMap defineresource pop end end } ifelse composefont } { exch pop 0 get/CIDFont findresource ct_makeocf } ifelse }bind def currentdict readonly pop end end %%EndResource setglobal %%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 %%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. %%Version: 1.0 0 userdict/ct_T42Dict 15 dict put ct_T42Dict begin /Is2015? { version cvi 2015 ge }bind def /AllocGlyphStorage { Is2015? { pop } { {string}forall }ifelse }bind def /Type42DictBegin { 25 dict begin /FontName exch def /CharStrings 256 dict begin /.notdef 0 def currentdict end def /Encoding exch def /PaintType 0 def /FontType 42 def /FontMatrix[1 0 0 1 0 0]def 4 array astore cvx/FontBBox exch def /sfnts }bind def /Type42DictEnd { currentdict dup/FontName get exch definefont end ct_T42Dict exch dup/FontName get exch put }bind def /RD{string currentfile exch readstring pop}executeonly def /PrepFor2015 { Is2015? { /GlyphDirectory 16 dict def sfnts 0 get dup 2 index (glyx) putinterval 2 index (locx) putinterval pop pop } { pop pop }ifelse }bind def /AddT42Char { Is2015? { /GlyphDirectory get begin def end pop pop } { /sfnts get 4 index get 3 index 2 index putinterval pop pop pop pop }ifelse }bind def /T0AddT42Mtx2 { /CIDFont findresource/Metrics2 get begin def end }bind def end %%EndResource currentglobal true setglobal %%BeginFile: MMFauxFont.prc %%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. %%All Rights Reserved. userdict /ct_EuroDict 10 dict put ct_EuroDict begin /ct_CopyFont { { 1 index /FID ne {def} {pop pop} ifelse} forall } def /ct_GetGlyphOutline { gsave initmatrix newpath exch findfont dup length 1 add dict begin ct_CopyFont /Encoding Encoding dup length array copy dup 4 -1 roll 0 exch put def currentdict end /ct_EuroFont exch definefont 1000 scalefont setfont 0 0 moveto [ <00> stringwidth <00> false charpath pathbbox [ {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall grestore counttomark 8 add } def /ct_MakeGlyphProc { ] cvx /ct_PSBuildGlyph cvx ] cvx } def /ct_PSBuildGlyph { gsave 8 -1 roll pop 7 1 roll 6 -2 roll ct_FontMatrix transform 6 2 roll 4 -2 roll ct_FontMatrix transform 4 2 roll ct_FontMatrix transform currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse dup 9 1 roll { currentdict /StrokeWidth 2 copy known { get 2 div 0 ct_FontMatrix dtransform pop 5 1 roll 4 -1 roll 4 index sub 4 1 roll 3 -1 roll 4 index sub 3 1 roll exch 4 index add exch 4 index add 5 -1 roll pop } { pop pop } ifelse } if setcachedevice ct_FontMatrix concat ct_PSPathOps begin exec end { currentdict /StrokeWidth 2 copy known { get } { pop pop 0 } ifelse setlinewidth stroke } { fill } ifelse grestore } def /ct_PSPathOps 4 dict dup begin /m {moveto} def /l {lineto} def /c {curveto} def /cp {closepath} def end def /ct_matrix1000 [1000 0 0 1000 0 0] def /ct_AddGlyphProc { 2 index findfont dup length 4 add dict begin ct_CopyFont /CharStrings CharStrings dup length 1 add dict copy begin 3 1 roll def currentdict end def /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def /ct_PSBuildGlyph /ct_PSBuildGlyph load def /ct_PSPathOps /ct_PSPathOps load def currentdict end definefont pop } def systemdict /languagelevel known { /ct_AddGlyphToPrinterFont { 2 copy ct_GetGlyphOutline 3 add -1 roll restore ct_MakeGlyphProc ct_AddGlyphProc } def } { /ct_AddGlyphToPrinterFont { pop pop restore Adobe_CTFauxDict /$$$FONTNAME get /Euro Adobe_CTFauxDict /$$$SUBSTITUTEBASE get ct_EuroDict exch get ct_AddGlyphProc } def } ifelse /AdobeSansMM { 556 0 24 -19 541 703 { 541 628 m 510 669 442 703 354 703 c 201 703 117 607 101 444 c 50 444 l 25 372 l 97 372 l 97 301 l 49 301 l 24 229 l 103 229 l 124 67 209 -19 350 -19 c 435 -19 501 25 509 32 c 509 131 l 492 105 417 60 343 60 c 267 60 204 127 197 229 c 406 229 l 430 301 l 191 301 l 191 372 l 455 372 l 479 444 l 194 444 l 201 531 245 624 348 624 c 433 624 484 583 509 534 c cp 556 0 m } ct_PSBuildGlyph } def /AdobeSerifMM { 500 0 10 -12 484 692 { 347 298 m 171 298 l 170 310 170 322 170 335 c 170 362 l 362 362 l 374 403 l 172 403 l 184 580 244 642 308 642 c 380 642 434 574 457 457 c 481 462 l 474 691 l 449 691 l 433 670 429 657 410 657 c 394 657 360 692 299 692 c 204 692 94 604 73 403 c 22 403 l 10 362 l 70 362 l 69 352 69 341 69 330 c 69 319 69 308 70 298 c 22 298 l 10 257 l 73 257 l 97 57 216 -12 295 -12 c 364 -12 427 25 484 123 c 458 142 l 425 101 384 37 316 37 c 256 37 189 84 173 257 c 335 257 l cp 500 0 m } ct_PSBuildGlyph } def end %%EndFile setglobal Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end %%BeginResource: procset Adobe_AGM_Image 1.0 0 %%Version: 1.0 0 %%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. systemdict/setpacking known { currentpacking true setpacking }if userdict/Adobe_AGM_Image 71 dict dup begin put /Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def /nd{ null def }bind def /AGMIMG_&image nd /AGMIMG_&colorimage nd /AGMIMG_&imagemask nd /AGMIMG_mbuf()def /AGMIMG_ybuf()def /AGMIMG_kbuf()def /AGMIMG_c 0 def /AGMIMG_m 0 def /AGMIMG_y 0 def /AGMIMG_k 0 def /AGMIMG_tmp nd /AGMIMG_imagestring0 nd /AGMIMG_imagestring1 nd /AGMIMG_imagestring2 nd /AGMIMG_imagestring3 nd /AGMIMG_imagestring4 nd /AGMIMG_imagestring5 nd /AGMIMG_cnt nd /AGMIMG_fsave nd /AGMIMG_colorAry nd /AGMIMG_override nd /AGMIMG_name nd /AGMIMG_maskSource nd /AGMIMG_flushfilters nd /invert_image_samples nd /knockout_image_samples nd /img nd /sepimg nd /devnimg nd /idximg nd /ds { Adobe_AGM_Core begin Adobe_AGM_Image begin /AGMIMG_&image systemdict/image get def /AGMIMG_&imagemask systemdict/imagemask get def /colorimage where{ pop /AGMIMG_&colorimage/colorimage ldf }if end end }def /ps { Adobe_AGM_Image begin /AGMIMG_ccimage_exists{/customcolorimage where { pop /Adobe_AGM_OnHost_Seps where { pop false }{ /Adobe_AGM_InRip_Seps where { pop false }{ true }ifelse }ifelse }{ false }ifelse }bdf level2{ /invert_image_samples { Adobe_AGM_Image/AGMIMG_tmp Decode length ddf /Decode[Decode 1 get Decode 0 get]def }def /knockout_image_samples { Operator/imagemask ne{ /Decode[1 1]def }if }def }{ /invert_image_samples { {1 exch sub}currenttransfer addprocs settransfer }def /knockout_image_samples { {pop 1}currenttransfer addprocs settransfer }def }ifelse /img/imageormask ldf /sepimg/sep_imageormask ldf /devnimg/devn_imageormask ldf /idximg/indexed_imageormask ldf /_ctype 7 def currentdict{ dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ bind }if def }forall }def /pt { end }def /dt { }def /AGMIMG_flushfilters { dup type/arraytype ne {1 array astore}if dup 0 get currentfile ne {dup 0 get flushfile}if { dup type/filetype eq { dup status 1 index currentfile ne and {closefile} {pop} ifelse }{pop}ifelse }forall }def /AGMIMG_init_common { currentdict/T known{/ImageType/T ldf currentdict/T undef}if currentdict/W known{/Width/W ldf currentdict/W undef}if currentdict/H known{/Height/H ldf currentdict/H undef}if currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if currentdict/D known{/Decode/D ldf currentdict/D undef}if currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if currentdict/O known{ /Operator/O load 1 eq{ /imagemask }{ /O load 2 eq{ /image }{ /colorimage }ifelse }ifelse def currentdict/O undef }if currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if currentdict/I known{/Interpolate/I ldf currentdict/I undef}if currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if /DataSource load xcheck not{ DataSource type/arraytype eq{ DataSource 0 get type/filetype eq{ /_Filters DataSource def currentdict/MultipleDataSources known not{ /DataSource DataSource dup length 1 sub get def }if }if }if currentdict/MultipleDataSources known not{ /MultipleDataSources DataSource type/arraytype eq{ DataSource length 1 gt } {false}ifelse def }if }if /NComponents Decode length 2 div def currentdict/SkipImageProc known not{/SkipImageProc{false}def}if }bdf /imageormask_sys { begin AGMIMG_init_common save mark level2{ currentdict Operator/imagemask eq{ AGMIMG_&imagemask }{ use_mask{ process_mask AGMIMG_&image }{ AGMIMG_&image }ifelse }ifelse }{ Width Height Operator/imagemask eq{ Decode 0 get 1 eq Decode 1 get 0 eq and ImageMatrix/DataSource load AGMIMG_&imagemask }{ BitsPerComponent ImageMatrix/DataSource load AGMIMG_&image }ifelse }ifelse currentdict/_Filters known{_Filters AGMIMG_flushfilters}if cleartomark restore end }def /overprint_plate { currentoverprint{ 0 get dup type/nametype eq{ dup/DeviceGray eq{ pop AGMCORE_black_plate not }{ /DeviceCMYK eq{ AGMCORE_is_cmyk_sep not }if }ifelse }{ false exch { AGMOHS_sepink eq or }forall not }ifelse }{ pop false }ifelse }def /process_mask { level3{ dup begin /ImageType 1 def end 4 dict begin /DataDict exch def /ImageType 3 def /InterleaveType 3 def /MaskDict 9 dict begin /ImageType 1 def /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def /ImageMatrix[Width 0 0 Height neg 0 Height]def /NComponents 1 def /BitsPerComponent 1 def /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def currentdict end def currentdict end }if }def /use_mask { dup/Mask known {dup/Mask get}{false}ifelse }def /imageormask { begin AGMIMG_init_common SkipImageProc{ currentdict consumeimagedata } { save mark level2 AGMCORE_host_sep not and{ currentdict Operator/imagemask eq DeviceN_PS2 not and{ imagemask }{ AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ [/Separation/Black/DeviceGray{}]setcolorspace /Decode[Decode 1 get Decode 0 get]def }if use_mask{ process_mask image }{ DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and { Names convert_to_process not{ 2 dict begin /imageDict xdf /names_index 0 def gsave imageDict write_image_file{ Names{ dup(None)ne{ [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace Operator imageDict read_image_file names_index 0 eq{true setoverprint}if /names_index names_index 1 add def }{ pop }ifelse }forall close_image_file }if grestore end }{ Operator/imagemask eq{ imagemask }{ image }ifelse }ifelse }{ Operator/imagemask eq{ imagemask }{ image }ifelse }ifelse }ifelse }ifelse }{ Width Height Operator/imagemask eq{ Decode 0 get 1 eq Decode 1 get 0 eq and ImageMatrix/DataSource load /Adobe_AGM_OnHost_Seps where{ pop imagemask }{ currentgray 1 ne{ currentdict imageormask_sys }{ currentoverprint not{ 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentdict ignoreimagedata }ifelse }ifelse }ifelse }{ BitsPerComponent ImageMatrix MultipleDataSources{ 0 1 NComponents 1 sub{ DataSource exch get }for }{ /DataSource load }ifelse Operator/colorimage eq{ AGMCORE_host_sep{ MultipleDataSources level2 or NComponents 4 eq and{ AGMCORE_is_cmyk_sep{ MultipleDataSources{ /DataSource DataSource 0 get xcheck { [ DataSource 0 get/exec cvx DataSource 1 get/exec cvx DataSource 2 get/exec cvx DataSource 3 get/exec cvx /AGMCORE_get_ink_data cvx ]cvx }{ DataSource aload pop AGMCORE_get_ink_data }ifelse def }{ /DataSource Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul /DataSource load filter_cmyk 0()/SubFileDecode filter def }ifelse /Decode[Decode 0 get Decode 1 get]def /MultipleDataSources false def /NComponents 1 def /Operator/image def invert_image_samples 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentoverprint not Operator/imagemask eq and{ 1 AGMCORE_&setgray currentdict imageormask_sys }{ currentdict ignoreimagedata }ifelse }ifelse }{ MultipleDataSources NComponents AGMIMG_&colorimage }ifelse }{ true NComponents colorimage }ifelse }{ Operator/image eq{ AGMCORE_host_sep{ /DoImage true def currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse { AGMCORE_black_plate not Operator/imagemask ne and{ /DoImage false def currentdict ignoreimagedata }if }if 1 AGMCORE_&setgray DoImage {currentdict imageormask_sys}if }{ use_mask{ process_mask image }{ image }ifelse }ifelse }{ Operator/knockout eq{ pop pop pop pop pop currentcolorspace overprint_plate not{ knockout_unitsq }if }if }ifelse }ifelse }ifelse }ifelse cleartomark restore }ifelse currentdict/_Filters known{_Filters AGMIMG_flushfilters}if end }def /sep_imageormask { /sep_colorspace_dict AGMCORE_gget begin CSA map_csa begin AGMIMG_init_common SkipImageProc{ currentdict consumeimagedata }{ save mark AGMCORE_avoid_L2_sep_space{ /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def }if AGMIMG_ccimage_exists MappedCSA 0 get/DeviceCMYK eq and currentdict/Components known and Name()ne and Name(All)ne and Operator/image eq and AGMCORE_producing_seps not and level2 not and { Width Height BitsPerComponent ImageMatrix [ /DataSource load/exec cvx { 0 1 2 index length 1 sub{ 1 index exch 2 copy get 255 xor put }for }/exec cvx ]cvx bind MappedCSA 0 get/DeviceCMYK eq{ Components aload pop }{ 0 0 0 Components aload pop 1 exch sub }ifelse Name findcmykcustomcolor customcolorimage }{ AGMCORE_producing_seps not{ level2{ //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt /sep_tint AGMCORE_gget setcolor }if currentdict imageormask }{ currentdict Operator/imagemask eq{ imageormask }{ sep_imageormask_lev1 }ifelse }ifelse }{ AGMCORE_host_sep{ Operator/knockout eq{ currentdict/ImageMatrix get concat knockout_unitsq }{ currentgray 1 ne{ AGMCORE_is_cmyk_sep Name(All)ne and{ level2{ Name AGMCORE_IsSeparationAProcessColor { Operator/imagemask eq{ //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor }if }{ invert_image_samples }ifelse }{ //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ [/Separation Name[/DeviceGray] { sep_colorspace_proc AGMCORE_get_ink_data 1 exch sub }bind ]AGMCORE_&setcolorspace /sep_tint AGMCORE_gget AGMCORE_&setcolor }if }ifelse currentdict imageormask_sys }{ currentdict Operator/imagemask eq{ imageormask_sys }{ sep_image_lev1_sep }ifelse }ifelse }{ Operator/imagemask ne{ invert_image_samples }if currentdict imageormask_sys }ifelse }{ currentoverprint not Name(All)eq or Operator/imagemask eq and{ currentdict imageormask_sys }{ currentoverprint not { gsave knockout_unitsq grestore }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ currentcolorspace 0 get/Separation ne{ [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt /sep_tint AGMCORE_gget setcolor }if }if currentoverprint MappedCSA 0 get/DeviceCMYK eq and Name AGMCORE_IsSeparationAProcessColor not and //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse Name(All)ne and{ imageormask_l2_overprint }{ currentdict imageormask }ifelse }ifelse }ifelse }ifelse cleartomark restore }ifelse currentdict/_Filters known{_Filters AGMIMG_flushfilters}if end end }def /colorSpaceElemCnt { mark currentcolor counttomark dup 2 add 1 roll cleartomark }bdf /devn_sep_datasource { 1 dict begin /dataSource xdf [ 0 1 dataSource length 1 sub{ dup currentdict/dataSource get/exch cvx/get cvx/exec cvx /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx }for ]cvx bind end }bdf /devn_alt_datasource { 11 dict begin /convProc xdf /origcolorSpaceElemCnt xdf /origMultipleDataSources xdf /origBitsPerComponent xdf /origDecode xdf /origDataSource xdf /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def /DataSource origMultipleDataSources { [ BitsPerComponent 8 idiv origDecode length 2 idiv mul string 0 1 origDecode length 2 idiv 1 sub { dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch origDataSource exch get 0()/SubFileDecode filter BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx }for ]bind cvx }{origDataSource}ifelse 0()/SubFileDecode filter def [ origcolorSpaceElemCnt string 0 2 origDecode length 2 sub { dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx }for /convProc load/exec cvx origcolorSpaceElemCnt 1 sub -1 0 { /dup cvx 2/add cvx/index cvx 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx }for ]bind cvx 0()/SubFileDecode filter end }bdf /devn_imageormask { /devicen_colorspace_dict AGMCORE_gget begin CSA map_csa 2 dict begin dup /srcDataStrs[3 -1 roll begin AGMIMG_init_common currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse { Width Decode length 2 div mul cvi { dup 65535 gt{1 add 2 div cvi}{exit}ifelse }loop string }repeat end]def /dstDataStr srcDataStrs 0 get length string def begin AGMIMG_init_common SkipImageProc{ currentdict consumeimagedata }{ save mark AGMCORE_producing_seps not{ level3 not{ Operator/imagemask ne{ /DataSource[[ DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def /MultipleDataSources true def /Decode colorSpaceElemCnt[exch{0 1}repeat]def }if }if currentdict imageormask }{ AGMCORE_host_sep{ Names convert_to_process{ CSA get_csa_by_name 0 get/DeviceCMYK eq{ /DataSource Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get devn_alt_datasource filter_cmyk 0()/SubFileDecode filter def /MultipleDataSources false def /Decode[1 0]def /DeviceGray setcolorspace currentdict imageormask_sys }{ AGMCORE_report_unsupported_color_space AGMCORE_black_plate{ /DataSource DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get devn_alt_datasource /MultipleDataSources false def /Decode colorSpaceElemCnt[exch{0 1}repeat]def currentdict imageormask_sys }{ gsave knockout_unitsq grestore currentdict consumeimagedata }ifelse }ifelse } { /devicen_colorspace_dict AGMCORE_gget/names_index known{ Operator/imagemask ne{ MultipleDataSources{ /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def /MultipleDataSources false def }{ /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def }ifelse invert_image_samples }if currentdict imageormask_sys }{ currentoverprint not Operator/imagemask eq and{ currentdict imageormask_sys }{ currentoverprint not { gsave knockout_unitsq grestore }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ currentdict imageormask }ifelse }ifelse cleartomark restore }ifelse currentdict/_Filters known{_Filters AGMIMG_flushfilters}if end end end }def /imageormask_l2_overprint { currentdict currentcmykcolor add add add 0 eq{ currentdict consumeimagedata }{ level3{ currentcmykcolor /AGMIMG_k xdf /AGMIMG_y xdf /AGMIMG_m xdf /AGMIMG_c xdf Operator/imagemask eq{ [/DeviceN[ AGMIMG_c 0 ne{/Cyan}if AGMIMG_m 0 ne{/Magenta}if AGMIMG_y 0 ne{/Yellow}if AGMIMG_k 0 ne{/Black}if ]/DeviceCMYK{}]setcolorspace AGMIMG_c 0 ne{AGMIMG_c}if AGMIMG_m 0 ne{AGMIMG_m}if AGMIMG_y 0 ne{AGMIMG_y}if AGMIMG_k 0 ne{AGMIMG_k}if setcolor }{ /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def [/Indexed [ /DeviceN[ AGMIMG_c 0 ne{/Cyan}if AGMIMG_m 0 ne{/Magenta}if AGMIMG_y 0 ne{/Yellow}if AGMIMG_k 0 ne{/Black}if ] /DeviceCMYK{ AGMIMG_k 0 eq{0}if AGMIMG_y 0 eq{0 exch}if AGMIMG_m 0 eq{0 3 1 roll}if AGMIMG_c 0 eq{0 4 1 roll}if } ] 255 { 255 div mark exch dup dup dup AGMIMG_k 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_y 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_m 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop counttomark 1 roll }{ pop }ifelse AGMIMG_c 0 ne{ /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop counttomark 1 roll }{ pop }ifelse counttomark 1 add -1 roll pop } ]setcolorspace }ifelse imageormask_sys }{ write_image_file{ currentcmykcolor 0 ne{ [/Separation/Black/DeviceGray{}]setcolorspace gsave /Black [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation/Yellow/DeviceGray{}]setcolorspace gsave /Yellow [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation/Magenta/DeviceGray{}]setcolorspace gsave /Magenta [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if 0 ne{ [/Separation/Cyan/DeviceGray{}]setcolorspace gsave /Cyan [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] cvx modify_halftone_xfer Operator currentdict read_image_file grestore }if close_image_file }{ imageormask }ifelse }ifelse }ifelse }def /indexed_imageormask { begin AGMIMG_init_common save mark currentdict AGMCORE_host_sep{ Operator/knockout eq{ /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ /CSA get get_csa_by_name }{ /Names get }ifelse overprint_plate not{ knockout_unitsq }if }{ Indexed_DeviceN{ /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ indexed_image_lev2_sep }{ currentoverprint not{ knockout_unitsq }if currentdict consumeimagedata }ifelse }{ AGMCORE_is_cmyk_sep{ Operator/imagemask eq{ imageormask_sys }{ level2{ indexed_image_lev2_sep }{ indexed_image_lev1_sep }ifelse }ifelse }{ currentoverprint not{ knockout_unitsq }if currentdict consumeimagedata }ifelse }ifelse }ifelse }{ level2{ Indexed_DeviceN{ /indexed_colorspace_dict AGMCORE_gget begin }{ /indexed_colorspace_dict AGMCORE_gget dup null ne { begin currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and AGMCORE_in_rip_sep and{ [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] setcolorspace }if end } {pop}ifelse }ifelse imageormask Indexed_DeviceN{ end }if }{ Operator/imagemask eq{ imageormask }{ indexed_imageormask_lev1 }ifelse }ifelse }ifelse cleartomark restore currentdict/_Filters known{_Filters AGMIMG_flushfilters}if end }def /indexed_image_lev2_sep { /indexed_colorspace_dict AGMCORE_gget begin begin Indexed_DeviceN not{ currentcolorspace dup 1/DeviceGray put dup 3 currentcolorspace 2 get 1 add string 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub { dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put }for put setcolorspace }if currentdict Operator/imagemask eq{ AGMIMG_&imagemask }{ use_mask{ process_mask AGMIMG_&image }{ AGMIMG_&image }ifelse }ifelse end end }def /OPIimage { dup type/dicttype ne{ 10 dict begin /DataSource xdf /ImageMatrix xdf /BitsPerComponent xdf /Height xdf /Width xdf /ImageType 1 def /Decode[0 1 def] currentdict end }if dup begin /NComponents 1 cdndf /MultipleDataSources false cdndf /SkipImageProc{false}cdndf /Decode[ 0 currentcolorspace 0 get/Indexed eq{ 2 BitsPerComponent exp 1 sub }{ 1 }ifelse ]cdndf /Operator/image cdndf end /sep_colorspace_dict AGMCORE_gget null eq{ imageormask }{ gsave dup begin invert_image_samples end sep_imageormask grestore }ifelse }def /cachemask_level2 { 3 dict begin /LZWEncode filter/WriteFilter xdf /readBuffer 256 string def /ReadFilter currentfile 0(%EndMask)/SubFileDecode filter /ASCII85Decode filter /RunLengthDecode filter def { ReadFilter readBuffer readstring exch WriteFilter exch writestring not{exit}if }loop WriteFilter closefile end }def /spot_alias { /mapto_sep_imageormask { dup type/dicttype ne{ 12 dict begin /ImageType 1 def /DataSource xdf /ImageMatrix xdf /BitsPerComponent xdf /Height xdf /Width xdf /MultipleDataSources false def }{ begin }ifelse /Decode[/customcolor_tint AGMCORE_gget 0]def /Operator/image def /SkipImageProc{false}def currentdict end sep_imageormask }bdf /customcolorimage { Adobe_AGM_Image/AGMIMG_colorAry xddf /customcolor_tint AGMCORE_gget << /Name AGMIMG_colorAry 4 get /CSA[/DeviceCMYK] /TintMethod/Subtractive /TintProc null /MappedCSA null /NComponents 4 /Components[AGMIMG_colorAry aload pop pop] >> setsepcolorspace mapto_sep_imageormask }ndf Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put /customcolorimage { Adobe_AGM_Image/AGMIMG_override false put current_spot_alias{dup 4 get map_alias}{false}ifelse { false set_spot_alias /customcolor_tint AGMCORE_gget exch setsepcolorspace pop mapto_sep_imageormask true set_spot_alias }{ //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec }ifelse }bdf }def /snap_to_device { 6 dict begin matrix currentmatrix dup 0 get 0 eq 1 index 3 get 0 eq and 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop { 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def 0 0 transform AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch itransform/AGMIMG_llY exch def/AGMIMG_llX exch def 1 1 transform AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch itransform/AGMIMG_urY exch def/AGMIMG_urX exch def [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat }{ }ifelse end }def level2 not{ /colorbuf { 0 1 2 index length 1 sub{ dup 2 index exch get 255 exch sub 2 index 3 1 roll put }for }def /tint_image_to_color { begin Width Height BitsPerComponent ImageMatrix /DataSource load end Adobe_AGM_Image begin /AGMIMG_mbuf 0 string def /AGMIMG_ybuf 0 string def /AGMIMG_kbuf 0 string def { colorbuf dup length AGMIMG_mbuf length ne { dup length dup dup /AGMIMG_mbuf exch string def /AGMIMG_ybuf exch string def /AGMIMG_kbuf exch string def }if dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop } addprocs {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage end }def /sep_imageormask_lev1 { begin MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ { 255 mul round cvi GrayLookup exch get }currenttransfer addprocs settransfer currentdict imageormask }{ /sep_colorspace_dict AGMCORE_gget/Components known{ MappedCSA 0 get/DeviceCMYK eq{ Components aload pop }{ 0 0 0 Components aload pop 1 exch sub }ifelse Adobe_AGM_Image/AGMIMG_k xddf Adobe_AGM_Image/AGMIMG_y xddf Adobe_AGM_Image/AGMIMG_m xddf Adobe_AGM_Image/AGMIMG_c xddf AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer currentdict imageormask }{ currentcolortransfer {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }ifelse }{ MappedCSA 0 get/DeviceGray eq{ {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer currentdict imageormask }{ MappedCSA 0 get/DeviceCMYK eq{ currentcolortransfer {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }{ currentcolortransfer {pop 1}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll setcolortransfer currentdict tint_image_to_color }ifelse }ifelse }ifelse }ifelse end }def /sep_image_lev1_sep { begin /sep_colorspace_dict AGMCORE_gget/Components known{ Components aload pop Adobe_AGM_Image/AGMIMG_k xddf Adobe_AGM_Image/AGMIMG_y xddf Adobe_AGM_Image/AGMIMG_m xddf Adobe_AGM_Image/AGMIMG_c xddf {AGMIMG_c mul 1 exch sub} {AGMIMG_m mul 1 exch sub} {AGMIMG_y mul 1 exch sub} {AGMIMG_k mul 1 exch sub} }{ {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} }ifelse AGMCORE_get_ink_data currenttransfer addprocs settransfer currentdict imageormask_sys end }def /indexed_imageormask_lev1 { /indexed_colorspace_dict AGMCORE_gget begin begin currentdict MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer imageormask }{ MappedCSA 0 get/DeviceGray eq{ {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer imageormask }{ MappedCSA 0 get/DeviceCMYK eq{ currentcolortransfer {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll setcolortransfer tint_image_to_color }{ currentcolortransfer {pop 1}exch addprocs 4 1 roll {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll setcolortransfer tint_image_to_color }ifelse }ifelse }ifelse end end }def /indexed_image_lev1_sep { /indexed_colorspace_dict AGMCORE_gget begin begin {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} AGMCORE_get_ink_data currenttransfer addprocs settransfer currentdict imageormask_sys end end }def }if end systemdict/setpacking known {setpacking}if %%EndResource currentdict Adobe_AGM_Utils eq {end} if %%EndProlog %%BeginSetup Adobe_AGM_Utils begin 2 2010 Adobe_AGM_Core/ds gx Adobe_CoolType_Core/ds get exec Adobe_AGM_Image/ds gx currentdict Adobe_AGM_Utils eq {end} if %%EndSetup %%Page: 1 1 %%EndPageComments %%BeginPageSetup %ADOBeginClientInjection: PageSetup Start "AI11EPS" %AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 %ADOEndClientInjection: PageSetup Start "AI11EPS" Adobe_AGM_Utils begin Adobe_AGM_Core/ps gx Adobe_AGM_Utils/capture_cpd gx Adobe_CoolType_Core/ps get exec Adobe_AGM_Image/ps gx %ADOBeginClientInjection: PageSetup End "AI11EPS" /currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 application/postscript Fusiondirectory 2011-06-07T10:15:03+02:00 2011-06-07T10:15:03+02:00 2011-06-07T10:15:02+02:00 Adobe Illustrator CS5 256 168 JPEG /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAqAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FWL+YfM4t5ZLKMAXCupt6kpydKSIr8uOzSJQ9jGSwaiPxVSXVfPFkt+ZdOuUD O0gMsqsRCpjjLzmLYt6aW7inX4lAryoVWTeXtYvL+RjOI4IXjEtpbu3K6aI0AkcA7L703J22UM6q eYq7FXAgio3BxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVp3SNGd2CooLMzGgAG5JJxV QkvreO6itS1Z5TQKOwKu1T7fuziqIxV2KuxV2KuxV2KuxVbLEssbRsWCsKEozI30MpDD6Diryj8y vKXm+4t5jp1/NwXkYpp2hlBL8eMUanjcbkbqr7lQQpPVV4H5IufPja6TrcNzR+cUdyIo5QG4+vUc +Y4sI+SFUYfCSB8HJFX1j5HuFfSolW2MQkX1jcEyyNM7H4pHkkDVJqKcpCx8ABiqJ80eYYNHtkZq mV6uI+NVaNB+85EbqAD1G9aUDH4Sq8Xv/wA3dJlvH09riV1ll9OW2ZlSR44SgUGTkxDzC3jBdSR+ 8J6KTir3PQ9Stb+xSSC6W7ZdpZFQxjl12QgFV/lr27nriqYYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYqh7idSXtYZ0ivmjLwq3xGnQMUqCyhutD9IxVjOp6gzW94xBt/rUbQ6hb1qY7mBPUZVNAf 39sGCvtsqdziqjDrJWa51l41jnjtYx8ZPptJeRW31f34+oHUmmwxVl1tGtvDDbNKZZEQDm5q78aB nPuSd/niqtirsVdirTMqirEAVAqdtyaDFUu/TMRuBGKKonSJnJqGjliLxyIR2Z/gqe4OKoS1836W 9qks8npsBCkxAPEXEqF2hXuWRRVh2+eKp4jc0VqFeQBowoRXxGKpfrMjyLFp8DFbm9LKJF2aKFR+ +lBG4IVuKn+Zl7YqlknlG1GrRyQwqtg0PpSRqfT4cJZJ0dOHEh1lkX02H2Ry7nFU7tNOtrUtJGo9 eQD6xMAEMrd3dUCqWJ70xVLvNPl+fW7BrWO8e2BBBQBSp671pyVvA128K4q8Lu/+cZNNtPMdzf21 xNffVooLl7ZpXEzF5HV2V6O1WEZK8hJ04kMTXFXvHlnQ7fR9LitIUMSAVEPJ+KV34hGlnVT48GoT iqbYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqx/zJfIsQEtsz+k/wRtFccmckKjw3FssvptVq D4amtNq4q8883ecRp0b6s1ybiL0YzMrekZRDG3qRylYzxZkk+JVNCTtwTk5dVgGg/mtpGo3kNla3 ZBtpQ0aMS5rbR+jaekSOTFFZyopQPwbcVxV6zpOvzCJrn0LuaKRHERiqrXEtqpdIvXY8FjCRv8CO vEq3IyFiSqy6TzZYqlUjd5DObRIQVLG4UGqfCWH2uKcq8asKkYqmjX1msQmMyeiY2mEgNV9NKFn5 Dag5DFVfFUj82Xy2+nOssNwYmK0lgSKUFq7KyM6vTavw0PgwOKvn3zZ+c1lol7NZTvdUZ2aQGOa3 klAq6g81jNPUfnuBuzmtTirKPyv8xx+YXtLyeRIS5kmW/lYNHG8jlpPq6HmpmaRdvU+FFCqPUK7K vcoAqwIAzMoUUdyeRFOrV3riqA0cG6aXVn/4+wBaA/s2q/3f/IwkyHvuFP2cVTPFXYq7FUFbc31a 9k+L01jghANKcl5yMR36SriqNxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVRu7gQQlucayN8M IlbgrSH7K8t+p8Afliryn8wfME9hKTJaKJIxKlzLexgCCK6AX1HmpweOGTg8boSeNVbiy/Eq8xvI 7XzDaT297KkEMq2pkjiiS3VYntojTiArltiigyD4gxPw1cKpz5A/KA6Csl1pfC7vbuIVtXiWRGjl XkFSZ2tpKMglAKyqp9OhPJtlUw1jzpaeX4jNdQz2i2s8bz20ks/pv6VC8fFxDxZbdfTHKJSyfDuF 5SqpNoX5lNqN2X066MvoSXHqXVuPUkit5HKy3EUTVZHaDgiEninBmegKHFWYR/mNo6WaQ24RYYIp VhthICJZLm5gl9BqtsJHjkjUvQ8WHILvirKvKmsapetblrxngkVJDJHGWuLxzRTNwI/dQfBwR3VR xFftsCirPpYlljMbFgrdSjMjfQykEYq8x/MX8o9B85X0VpLH+/tkE5lAUMFkb01E0jBpJi5V2qWP EJQCpqVVLyD+XOlWVjC+nxNHHyVjDKfVihcKsixyQMy8oyG9SMq3IcwGrSuKs717QbnVdCXSI7kW UczxLfSQAqWt1cNPFGK/B6ygp12VjiqdYq7FXYq7FUu0qyvre+1ia5dHhvLxJrJUFGSEWlvCVfbd vVikPyIxVMcVdirsVYz+Yup+YtN8rXd3oNm95eRLy4wmsyhfiqkdDzrSlK/f0xV4R+V/5y+a/NPm 2PTIpUspfjEizlARXiv2ZGAP92E4ruNjQ0oyr6dHTx98VdirsVdirsVdirsVdiqTa1e3VvKLmzPr C02uoUYsVD0b97EvI8SNwyjmvWjKWGKoGPzRZ2UqS/HLpuouxt2XixhueBkeBqGn73ZoqFuRY0PH jiqQ+YPNM0MVzZ26m5nvrU20d0OLcFhmnQzOFWYkekRJutKb+OKvAPPHmVLuGW000TLfSymO3iSR AYUdGDxkQBUHGVVP2P3gblSjVxVBflnBd+X7q5vtVtpb6+hYxRkSxSW0RJEPIxPbzLLX4WrG32Rv Trir3q189eW9XtbWSW+Yy6pbMiLJO8To9uSGeeKIqpR5JtlO3EUC8vhKrybXIvKXnO4e2nuU4yPK I7txFFJ6Qhjljd5F4hmKrJT4RSSiGoOKp9o3/OP2jaVObKd+TOJXt53VmiuF5NEqMQRJFLy2R0Uq QVDLzYclWFaz+Tvne282lNPMs2nRNEohuLj1vUkWE8oQwDDdFlRQCxqpWvIjFXv35cxalp8iQS2s dm91SWYGRXkvNiRKkrL++KqeTHmW8TXFXo088UEEk8ziOGJS8jtsFVRUk/IYqg9GglW2e6uEKXV8 5uJkbqnIBY4z2rHGqqadwT3xVHJHGgoihQSSQooKncnbFW8VdirsVdirsVdirsVdirsVSzVJ5J5R pNq3GedOV1KKEwW7EqXoduclCsde9WoQpGKpTp/5a+U7HV5tUis09aSRZYhQfumREQBW+1T93yoT SrN44qynFXYq7FXYq7FXYq7FXYqxrX7K7nMV3Oq2c0JKQ3VrcKJTXcKfWSAcCRVlEor74q8x85at qenWN9M3C4AWtzLaGNZFZW5xzSRRmWCOZH+NGjc/F1j+JqqvPPJf5kW/mG/b1VW3ECPHbwxR1nkb 4nPpsJA8KKlGkdP3mxKg/EUVYr5k8ueZtW81rp+ixObqGN31BkaOJUjSkprIOXPb4+Z3pxNAoGKs o1/8uvNkujaXo+iwxrMzC0kvvUmVE9SRUf1mI2b1GPIAGgJLqpoMVTTyT+RvmaKwgtr+QxXt7cSW 8108qv6ZELTcTE6lhX00YN9o0/l41VROj/8AONi+XdeW4luH1a3mvIrIR83ik4ygPI7rEyF1EXIu okFOvL4TVV9DXirYWdrb2qB75v8ARrFpCzlSwqzlnZn4Iql2BbelOtMVW3Xly1lsrS1jdk+puJUm O8jSKjhZHP7TCST1DXq3XriqZRWtvFzEaBRI5lZe3M7lgOgqdzTvv1JxVJ9Y1GOfXbDy4sbSG6je 9vXA+BLa3ZQquf8Ai6V1Xj+0ofFU9xV2KuxV2KuxV2KuxV2KuxV2KuxVD2un2lrLcywJxlvJfXuX LMxeTgsYPxE0oiKABsKYqiMVdirsVdirsVdirsVdirsVY7qstppMTXC2NrYWkT7XckXqvzJ5Vjt7 dSz16/bU96Yq8j8/ahoVxpd3Hd8Z5aOIhK0c/wBYQV5fvoSY6/aT4mZlYAM5HRViP5S6V5S07R5J l4/pG1jafWg8hRPqoWMRTJyqW/fzKeJHxAceJYDFWP8AnfX9U8lahHe2MxupL/1AzzR+k0hdaSeo EMkU8bxzuqMGIIpXlxSir2/8qbm+vfKYu3imvYrmBY9diZkLSkx8C8aKfVMgjoBVUrGFUJVVJVQ3 nH87PJflFli1O9a+1KQ20721iqSyM9vIv+kE8ljUXdqUZRy2AxVjekf85X+RLzXlOp2d9YWP1pri G4Mccoj/ANGW3USLGxem8jHirHp9Cr23yzqen+YYx5lsbhbrT7lGh0yRDUeir0kfxDSyJuP5VWoD chiqjq/njS9NvLqzl+K5tGgMkfJQTFN+2tf2lO3H3X+YYqm+n6raX4YwNXj8VKH7LE8GJ6DmvxKO vEg98VRfFeRag5EAE96Dp+vFW8VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs VQGvWaXuk3FrJI8cUy8ZWjRpXKE/EqqtW+IbVXcdQQdwq+ZfzC0TU9PttQtvT+qib0o4YEtrr1Vg BrDCvCa5jYfB6nGdRuDQjFXk3kHWbvTPO0cV5J6QnnUussayo0ob936ity5IC1WFTUdOTccVfSeh +QNFu/Nem38+p2Wo3Fmy3f1GUqpNwWagRAZD+74hhUD7X2VoFVVkn5jS3flfypqvmy2tbeCTTrcm MR3MzmQuQkT8hFG6PzZS3xFXGz12KqvhW+vru/vZ728lae7uZGmuJnNWeRzyZifEk4FUMVe8/wDO J/n/AFTTPNk3lOjXVhrEUktra8wojuoEMhdeRoA0SNzp1oPDCqff85Jad5pk8x22paXEkTWaLDqD 2krOwa8YGOORgsIAIj5DkAduRP2Tir078obbXorSzur63mYTRD0xJwUJGaDmvqW6mjKQzBLliabi vVV6virzrVf+chfyf0rU7zS7/X/RvrCeS2u4fql63CWFyki8kgZTRlIqDTFUL/0Mx+SP/Uyf9OV/ /wBk+Ksq8ofmP5M84WF3f+XdR+vWlg3C7k9GeHgePOlJo42Pw+AxVb5J/MzyR53+u/4X1L9Ifo/0 vrn7m4h4etz9P+/ji5cvSb7NemKsnxVLPM3mbRPLGiXOua5c/VNLtOH1i44SS8fVkWJPgiV3NXcD YYqs8rea9A81aNDrWg3X1zTJ2dYrj05IqmNijfBKqOKMO4xVCecvzB8n+TLJLvzJqUdiktRBEQzy yEdfTijDO1K7kCg74qxfyx/zkP8AlR5i1FNOtNXNteTNwgjvInt1kJ6BZGHp1PQAsCcVek4qxi+/ MzyRYeb7fyfd6l6fmO74fV7H0bhuXqAlf3qxmIVA7virJ8VUL/ULDT7SW9v7mK0s4RymuJ3WONF8 WdiAMVeZ6t/zk1+TunTmEaw966mjG0t5pEHycqqN/sScVVdE/wCckvye1adYF1sWMzfZF9FLAn0y svpL9LYq9LguILiFJ7eRZoJVDxyxsGRlO4KsKgg4qvxVhvlf84vy380a2+h6HrK3Wqorv9VaG4gJ ERo/EzRxqxHWikmlT0BxVmWKuxVjHnb8zPJHkj6l/ijUv0f+kPV+p/ubibn6PD1P7iOXjx9VftU6 4qyZlDKVNaMKGhIO/gRuMVeVefPLKW9lLBaxxJO7qbG0tI/SLyMCRzno001zKQUUBx8NWPH7QVeJ 3fkKLStasPMFqqejHVzPJyYSFpIntpmbhRQ8LeoJHQV35KKYqhNc85ebofzGtbU1S11F/qxjmaLd LgmMyyyOsaer6UjNVlG5qa4q94/MnyjFqv5aajottZafZXtzZE6dFEjSXVxNCEkSONGSKRWcxhSf iPjir4adHjdkdSjoSrKwoQRsQQcCrcVex/8AOLeiXMv5jx+Y3glOl6FDK11dRrySOS6ieCPnTelH YmgNKVNFBIKvrTzfdeUrDQpbvVlT6lO6tyiUOZJCrMpC/Zeo5Gh2OKpnoE+ltp8dvYenGtuoEltG a+kzfEVNQpO9dyN8VTLFXx55F8l+WfOH/ORvnPSfMdn9e09bvV5xD6ksP7xL6ityheNtgx74q90/ 6Fn/ACR/6lv/AKfb/wD7KMVZH5f/AC98n+StC1S18s6f9Qgu0eW4T1p5uTrGVBrO8hG3hirw3/nC j/psv+3b/wBjeKvp7FXmH/OTH/kkfMn/AEZf9R9viqG/5xc/8kzpP/Ga8/6iXxV475f8vwfm7/zk N5hi80zvJpuktdNHYq5Uvb2lwLeGBSCCq/Hycr1NehauKvSvzP8A+cYPKOs6CP8AB1lDo2vW5T0G 5yC3lTkAyzA+pSi1YMq1rscVeoeQNF1/Q/J+maRr1+up6pZRejNeoGo6qTwqX+JiqUUsdzSuKvAv PX/rXfl75Wf/ACbfFX0N5t806R5V8u32v6vL6VjYxl3puzsTRI0HdnYhV9zir5X03SvzJ/5yH8yS 3+oXJ0nyfYSlUUcmgh7iKFPhE0/E/G7dPYcVxV7doH/ONX5Q6RbJHJo51OcAB7q+lkkdtqbopSIf QgxVD+Zv+cYfym1m1dbTTn0a7I+C6spXFD2rFIXiI/2IPvirxu01H8xf+cefNsOn6jI2q+S75yyh a+jLHX4nhDV9G4StWStD7ijYq+stH1bTtY0u01XTZluLC9iWe2mXoyOKg77g+IPTFX55aevmWy1m /wDM2hepHLoF0txLdRbmHnMVR2HdC3wtXbeh64q+4vyj/M3TfzC8pw6rBxh1GGkOq2QO8M4HUA78 H+0h8NuoOKs2xV8w/wDOa/8A0xv/AG8v+xTFX05LLFEhkldY0Xq7EACu3U4q85/MjzRafoFkYxP6 lVEtve2zRlGIG6ySQMfiFCwWsf2lPcKvBPLv5ntNrdt5W1iH6zDBfxNbzwcSTFxullDsGU0LXKse JBKqQCoIIVZT+ZmhXj21zqnqWbmyeOdbO0Us7N+8ijrxCiNIxB4AhT1Lb4qjPya/NmLX5rnQ7C2j 0m8aK1E95PPGrcIIEhZVd35sOSM3wIWo1Bx+2iqK87f841+XfM9nN5itL2XS9VvJE9AJEjW8wkKx RPJCODI0rENy51Cn4wz8mKrD7f8A5xCvk0+91C88yQvFaJclIba3Zmke3LrxLs9Eqyb/AAt8sVe+ +VvK2j+SfLdv/hK3MejywrNcQS8mlLsgIu2IHNnpQSr/ACj4BVeLKvnb86ZvN+q+ZHtbOcroERhv LuCABLZGJkeN1QsHaqMzUKpu24qwLKvdfya1KK500wW3rlIFH1mSXdWkKgj/AHW3HryH734g3MVD bKvS8VfJX5W65omi/wDOTHnS81jULbTbQ3OsRi4vJo4I+bX4IXnIVWpodsVfR3/K0vyy/wCpu0X/ ALiNp/1UxVGQ+ZPLuu6PqEuiapaapFDE6TSWU8VwqMUJAYxMwBp44q+fP+cKP+my/wC3b/2N4q+n sVeYf85Mf+SR8yf9GX/Ufb4qhv8AnFz/AMkzpP8AxmvP+ol8VYD+a/5R+ffKvnqb8yvy35zvNI1z fWEC85kkk3mpDT99FKd2UVYE9O4VTXyT/wA5baHdXEemeddNk0O/Wkc15EGkt/UGx5xEetCK9vjp 3OKvfLS7tby1iu7SZLi1nUSQzxMHR0YVDKy1BB9sVfM/nr/1rvy98rP/AJNviqI/5zG1y+kXyz5W tSeF5JJdzINg7qVhgH0c3xV715K8qaf5T8rab5fsFCwWEKxs4FPUk6yyn3kclj88VTvFXYqwr85P J1n5s/LnWdNnjDXEVu93p703S5t0LxkHtypwPsTirzn/AJw98xXN95F1LRZ2Lro95W2J6LDdLz4D 5SI7f7LFWF/84rafZaj5r872F9CtzZXdqYbmCQVR43nZWVh4EHFUov7bzB/zj3+a6XVqJLrynqZP BSdriz5DnEx6evbk7H5HoxGKvrnRdZ03WtJtNW0ydbiwvYlmtpl6MjCv0HsR2OKvm7/nNf8A6Y3/ ALeX/Ypir6ddQ6lW6MCDQkbH3GKvLvOOi2txJNHHDdgAemkNnZy2iyyzKf3cbRoJZ/gHKTk5RQCS H3QKvnfzz5Qj0aWS7MSWt6oNxDK6rCJVjkaHhElEoKqdlPKnxmtK4qmnkPzLL56na11iWSd1lQur zAzt6nEOI5Lhgq+pJ8PXlQ8fslsVeq6X+SemDX7eBbFLMLEXv5YmBljX1DQxswJpO6MArhl486dm xVnH5ieetP8ALcFiLmeKURTxzahCWVJDBCGfmpqFQiVEPxUB6DFWK6B+enlHWNMutP0aOS+unluJ p4GjmZRDPOXfl6ac9zKVG2w+I+GKsAtP+cmNXluIfL2iWJSdpgTeuRMArcpJqRojsx5vt8qGm+Kp P+Y35qT6JH+iNMtY3kuUYSTzcUkhk+sJcB0jjlf0uEkfNFcnjyY8t6BV6Z+SdnPFpMAjmk4QcZLl RHJHOHnBJZ0WB0PJCeNQrKPhVgK1Ve2qwZQwrQioqCDv7HFXxh5c/LvRPP8A/wA5B+ctC1ie5t7R b7VrkPZtGknOO9KgVkSVafGe2KvWv+hOfyy/6uetf8j7T/slxVnPkb8qPLv5deXdYstEuLu4ivg0 0zXrxOwZYioC+lHCKU8Rirx7/nCj/psv+3b/ANjeKvp7FXmH/OTH/kkfMn/Rl/1H2+Kob/nFz/yT Ok/8Zrz/AKiXxV6xirDPzH/KXyf5902SDVrVY9RC0tNWiUC5hYD4fi25p4o23yO+KvGP+ca/MXmD yx591r8q9bn9aC1M7WI5VWOe3eriKu4jmjJkp7dNziqzz1/6135e+Vn/AMm3xVT/AOcvra40/wA0 eUPMaR8o41kj5/5dtKkyqfnzNPpxV9MabqNpqWnWuo2Ugls72FLi3lHRo5VDofpBxVE4q7FUh8+6 7baD5L1vWLlwkdnZTSCvd+BEaD3dyFHzxV4j/wA4YaVNF5d8x6qyUhvLuC3jf+Y20bO33fWBiqSf 84i/8p15v/4wr/1ENir3z8zfy80nz75UudCvwI5T+9sLylWt7hQeEg8RvRh3Uke+Kvnr8h/zD1b8 ufOV1+WnnIm3spLkxW7yGqW125+Eqx/3TcVBr0qQ2wLHFUy/5zX/AOmN/wC3l/2KYq+nJRKYyIWV JP2WdSyj5qCtfvxVh2vJeKGm1O+mjYKxt7ezp9aYMQD6YQAIrMFHGRpQ2w+1SqrznzF5HT6i0i2K xGNhBb6fCZJCJ2XlErsscr3MiBVkKuPTWgVV5MeKrxnzJcW/lK8tNTsLMIylJY5Y2I5vxR2WZCwd VkD9UOxoVKkEFV6h+X35qaXd6BMHuI7V3j5u0UoiljkDiKP1IyUhpxK/HBGWWgdgT1VU/wAwfOfl DzzA9hdvHNq9lGY/q5k/ccj6TO8fF2ZhIycUMR+JXrvTFUl8sflnaabY3ge0k/Rztyk1BkMkIQEg ys8aSFFIKHgRyHFgGDNsqpW9p5Kj1c3GltarHE0s3pTyJ6RSaUmESun2aUUyUUmgIG5GKp1p/kg6 3NJdiM6gRKIFmihSCKNpWMIFYw8EXpq3MRxjjVvt1FMVemfl35XvYbRYLgx8bNmjKhSpgkV6SwRt y9RKV5JJG3cq/LiMVemAUFMVfLH5Lf8ArUfnT/jNrP8A1Hrir6nxVqSNJI2jcckcFWU9wdiMVfIf 5U+Y1/Jb82Nc8reaOVvpGoMsH15geIETs1pcmnWN0kYNTpXfocVfXFpd2l5bR3VpNHc20yh4Z4mD xup6FWUkEfLFXzp/zlF+bGj3eiHyBoMy6lqV/NEdSNufVWNYpA8cIKV5SvKq/COgG+5GKsnHkrzp 5U/5xuGj6DcTWfmmytTezfVz++5ySm4uIUIr8SxuyDh3G2KqX/OM35saf5h8qQeW9Uvy3mfTmkBF zIWluoXdpFkVnNXZeXFh12r3xV655j8yaH5b0mfVtavI7Kwt1LPLIaVIFeKL1Zj2Vdzir5r/ACGN 956/PfzB+YAgaHTLcTPGW7NcD0beIkbFhACWp4e+Konz1/6135e+Vn/ybfFXtP5u/lxa/mB5LutE d1hvkIudMuW6R3MYIXlTfi4Yo3sa9Rirwn8l/wA6b38vLqT8vfzEhmsrazlZLS7lUs1oSamOQCpa Fj8SOtaV7rTiq+oNM1XTNVs473TLuG9s5RWO4t5FljbvsyEjFVHXPMGh6DYvf6zfwafZp1muJFjW vgOR+I+w3xV8sfmj+ZmufnP5htPInkS3lbRfWDzTuGT1yhp6821Y7eKvIBtydyOXEBV9Lfl/5L07 yX5R0/y7YHnHZx/vpyKGWZzyllI3+05NB2FB2xV88/8AOIv/ACnXm/8A4wr/ANRDYq+p8VeK/wDO SX5NjzhoZ8xaNDXzLpMRLRoPiu7Vas0Xu6btH47r3FFXzN56/M7UvOPlTytpWrB5NU8ufXIJL1jU zwTCAQlyd/UX0WVj32PUnFX6B4qoXcM7wyC1dYbmQBBOVDFVr1AIIJUElQdq4qxfzA/6Esrq8hd7 SGwt3iskRRJNIzgTzShnJWrvxDPIDuGPVq4q8kv/AMr01DVkiv7dHtoT/pcaNJIUdrZ1RC0jN6ki JEJJZDWjcVFKEFVLde/KpdNs1iNtC95xaO4KoUESqQs8zsgPCNeYkqidHVeLcmKqsT0r8nVsbtdW CKIYJmBaVyeIlhEsRMSBv7v0pVbiSK1H7NCqzO5stSFhwghi05IomCXcUISQQsnqCf4vVWNuCsVb jQrUxuwDEKsK8tflPe6f5k/SN3JLcXlqkdzcxzOUdZJOZlLOKtyiMZZ+tBWp2xV9F6I18bdbZJZp OKHlA5JZYwaF/q0clseAJ4/u5Jd9jRqjFWZaRbPBbUYL+8Pq8x6qli4BJZJS7Ia9RyP34qjcVeV+ S/yN/wAM/mjrXnv9N/W/0w96/wCjvqvp+l9duBPT1vWflwpx+wK+2KvVMVdirDPzJ/KXyf8AmDYp DrcDR3luCLTUrchLiKu/HkQQyV/ZYEeFDvirxOX/AJw61yF3gsPOQWwkJ5I1tIhoegZEmKt4Hp/D FXov5X/843+TfI97Hq08r63rkW8F3cIscULfzQwAvxb/ACmZiO1MVetYq8O/MX/nFbyx5j1SXWPL 983l7UJmMk8KR+ravITUuqBo2iYnrxNP8nFWMWX/ADiFrN9dxP5n84SXVrEf7uGN5JCvdVkncrH/ AMA3yxV7/wCUfJ/l7yjokOi6DaLaWMPxEDd5HP2pJHO7u1Nyfl0xVhWu/kp+lfzd078xP0z6P1D0 f9xf1blz9FWX+/8AVWleX++8VenYqxD8wfyo8lefbVItfsuVzEpW21CA+lcxA9lehBH+S4ZfbFXi l1/zh9q9jcvL5c84vbox2WWF4pAN+skMnxdf5Riqpp3/ADh1cXV4tz5n82y3Q6SJbQkysK9p53en /Is4q9y8kfl35R8k6abDy7YLaq9PrFwxLzzMO8srfE3sOg7AYqyTFXln5Rfkb/yrzXdY1X9N/pT9 KoE9H6r9X9Okhkry9abl1p0GKvU8VdirwT8wP+cTdG8zeaLvW9K1r9Bx3p9W4sRaC4T12JMjoRND xDnfjTrX5BV7drOs2Ojae9/fet9WjKhvq8E91JViFFIrdJZDuey7Yqxv/lbXkz/taf8AcF1f/skx V3/K2vJn/a0/7gur/wDZJiqDm/MXyDISQNUjJjnj+DRdWA/0llaRqfVPtFlrXFUu1rzp5I1GVlT9 Ix291JHLqX+4bWec3olVRD/on2eHLoRRuLDvVVDx+bvJyTevy1FriWZb6V/0HqwC3SShxwY2ZYBk eSOtOhOKqd75o/LkJZ2MC6p9Xa6+sXQfR9VZjCtJJEq1pyZJJo4+Q+Q+yqriqV2/n7yy89lqAk1A 310ty80h0nUuEcqyI8YHC2+INN8D8K/CxU9cVT+x/MbyOUW0lh1MWP8Ae6fIukaqs1rJ0ktw0dtW q78WQn4eSt0HJVOrf81vKEcKpJLqszqKGVtE1UM3uQtmq18aAYqqf8ra8mf9rT/uC6v/ANkmKu/5 W15M/wC1p/3BdX/7JMVd/wAra8mf9rT/ALgur/8AZJirv+VteTP+1p/3BdX/AOyTFXf8ra8mf9rT /uC6v/2SYq7/AJW15M/7Wn/cF1f/ALJMVd/ytryZ/wBrT/uC6v8A9kmKu/5W15M/7Wn/AHBdX/7J MVd/ytryZ/2tP+4Lq/8A2SYq7/lbXkz/ALWn/cF1f/skxV3/ACtryZ/2tP8AuC6v/wBkmKu/5W15 M/7Wn/cF1f8A7JMVd/ytryZ/2tP+4Lq//ZJirv8AlbXkz/taf9wXV/8AskxV3/K2vJn/AGtP+4Lq /wD2SYq7/lbXkz/taf8AcF1f/skxV3/K2vJn/a0/7gur/wDZJirv+VteTP8Ataf9wXV/+yTFXf8A K2vJn/a0/wC4Lq//AGSYq7/lbXkz/taf9wXV/wDskxV3/K2vJn/a0/7gur/9kmKu/wCVteTP+1p/ 3BdX/wCyTFWY4q7FXYq7FXYq7FUJqVl9Ys7xIVVbm4geFZD8J3VuILDegLHFXQaZBCsQUAejLLKn FQo/eszFab7fHX5gHFVeC2hgDiJeIkdpGWpI5OasQD0qdzTvv1OKqmKuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KsT/NfXNU0H8udf1jSZ/q2o2Vq0ttPxR+DggV4yBkPX uMVfOXlDzp/zlt5w0o6t5dvPr2nrK0Bm9PRof3iAFl4zJG2wYdsVTG5/Mz/nKnyZW78y6P8ApGxj +KeSW1hkiVB1Jm04qqfNjTFXqv5S/wDOQPlXz+66a6HSfMPEt+jpnDLMFFWNvJRedBuVIDU7ECuK vU8VeBf846fmh5684ea/Mdh5i1P69aWEQa0j9C3h4EzFOsMcbH4R3OKpb+ef5mfmzpP5q2HlPyVq XofpC1tvq1l6Nm/O4mkkT+8uY2pXiOrAYql0k/8AzmvboZ5EMiR/EyKuiOWA7cY6uf8AY74qyT8q f+ckrrU9eXyl5/sV0bXWf0ILrg8CPMTQQzRSVaKRuxrQnag2qq9J/OTzDrHl38s9d1rRrj6rqdnF G1tccEk4lpkQ/BIrofhY9RirwXyj5i/5y2826FDrmh6pFPp1wzpFK8WlRkmNijfC8Qb7S4qnP1P/ AJzT/wCW6D/gdH/6p4q9d/KKP8z4/Ldyv5jypNrn1xzbMgtgPqnpRcB/oqon956nXf8ADFVL81Pz k8rfl1YK+oE3mrXC8rLSYWAlkG45uTX046inIj5A4q8PtvzC/wCcnPzILXXlSyOk6K5IjlgSGGIq Nv8Aem7+OQjv6fftiqKuNB/5zD0VfrsOovqPCpeGOa0uDQf8VTKOVf8AJBOKpv5D/wCcpby31b/D v5maYdIv0YRNqCRSRBHPT6zbvV0r/Mu3+SBviqZ+drf/AJyqk816k/lS8hTy40xOmKRphIhoKbzR tJ1/mOKvNPM35l/85O+WfM1h5Z1fWUh1fU1hezhW30yRWFxK0MdXWEqKuhG5xVl/1P8A5zT/AOW6 D/gdH/6p4q9J88fnHpX5c+VdNPmV/rvmye0iLaXAUEkk4QCWRyo4Rx+oD8VP9UGmKvHrTz3/AM5Q fmUfrflm1/RGiuT6csCRW8JA2BFxdVkkp39M0r2xVEP5S/5zA0pGu7fV5L11YyGFbq2nPvRLgcCP 8n7hiqZeSv8AnKDXNL1oeXfzS0ttNuFYI+opC8Lxk9GuLc1qp/nj7fsnrir6Otrm2uraK6tZUntp 0WSGaNgyOjCqsrDYgjocVfOX58fmj+auifmnp/lXybqf1cajb2i21n6Fm/O6uZniX95cxtx5HiN2 AGKoB5v+c2IUMzqXSP4mRV0NyQOwVPiP0b4qn/5W/wDOSl/eeYF8o/mHYjSNaaQW8V5waBTOdliu IX3iZuzD4fYdcVUPzS/M/wDM38tfzTsJdR1FtQ8halJ60Vobe2UiH7M8IlSJJC8BYOnx7jjyJ3xV 9BWN7aX9lBfWcqz2l1Gk1vOhqrxyKGVlPgQa4qrEgCp2AxV83r+bn5h+ffzo/wANeQ9V+oeVbRuN 3dx29tPyggb9/c854pSPUY8IwNvsnucVeq/np/5KLzT/AMwTf8SXFWHf84if+Spl/wC2pc/8m4sV e2Yq+Y/+ckvyhg0EJ+Y/k9DptxaTxvqkNr+7VHZgI7uILTg3qUD061DfzVVe0/lB58/xz5B03XpA q3zBrfUY12C3MJ4uQOwfZwOwbFXhf/OIv/Kdeb/+MK/9RDYqivzX/wDWq/Jv/bt/6iJcVfTuKvnT /nMLyfpreXtM83wosWq210ljPKoo0sMqO6ciOpjeP4fZjiqf+eNdude/5xXl1e7Yvd3elWbXMh6v KJolkf8A2TqTiqaf84uf+SZ0n/jNef8AUS+KvWMVSvzT5hsvLnlzUtevqm1023kuJFH2m4LUIvux ooxV8v8A5KeQ7v8ANvznqn5gedq3mm29xRLV6+lNcUDLDQ/7pt0K/B3qo3HLFX1lFFFDEkUSLHFG oSONAFVVUUAAGwAGKrsVSfVPJ/lfVdWsNY1HS7e61TTG5WN3IgMkZ36HuBWoB6Hcb4qnGKvlj/nI j/1ojyT/AMYdL/7qc+KvpTzR5gsvLvl3Utdvd7XTbeS5kUEAt6akhFr+05+Ee5xV8vfkn5Duvza8 56p+YPnUfXNOguAEtXBMU9xQMsNDX9zbx8fg71UGo5Yq+so444o1iiUJGgCoigBVUCgAA6AYquxV g/5sflRoP5heX5LO7jSHVoUY6XqnH95DJ1CsRu0TH7a/SN6HFXkv/OLHnjV7HVNU/LLXy63OmmWT To5N2iaF+Nzb18OR5r/svbFUq/On/wBaj8l/8ZtG/wCo9sVfU+Kvnn/nL/ybpU3ley82xRLFq9nd R2k060VpbeVWIVu7FHUcfAFsVZPceVX/ADZ/ILSItQYHW5rCG5s7x+ovYUKB2PhLQh/ZvYYqxT/n Ff8AMW7QXf5ba/yh1PSmlbTEmqH4Ix+sWxr+1E3xKPCvZcVZD/zk9+aP+FfKX6A06Xjrmvo0fJTR obP7Msm3Qv8AYX/ZEfZxVMv+cc/yu/wT5LW7v4eHmDWwlzf8hRoo6Vht9+nANyb/ACiR2GKp5+en /kovNP8AzBN/xJcVYd/ziJ/5KmX/ALalz/ybixV7ZirGfzPtrW5/LfzTDdU9A6Tes7H9njbuwb/Y kVxV5D/zhnNOfJmvQtX6umoq8fWnN4ED07dEXFWOf84i/wDKdeb/APjCv/UQ2Kq/5uzQwf8AOU3l CaaRYoo105nkchVUC4lqSTsBir6GvPO3k2yga4u9d0+CFftSSXUKjpXqWxV8xfnX+Y0n5ueZdI8h +R43vLCO55m5Ksiz3HEp6gBFVhhjZiWI7k9AKqvYPzg0O30D/nHfU9Dt2Lw6Zp1paI52LCGWFOR9 2pXFXhn5W/mp+d/l/wAmWml+VPKH6X0SJ5mgvv0df3PNnkZnHqwSJGeLEjYYqyz/AJXp/wA5N/8A lvf+5Pqv/VbFUd5785fmB5i/5xx8yX3nDSDoWp/pG3tUtRbXFpztRLbSK/C5Z3PKRmXkDQ0p44qz z/nGGCCP8ldCeJQHme8ecjqXF5KgJ9+CKMVeqYq7FXYq7FXyx/zkR/60R5J/4w6X/wB1OfFXqn/O Tss0f5L64IqgSPaJKR/IbuI/iQBirX/OMEFvF+S2hvEAHnkvJJ6dS4u5UFf9gi4q9UxV2KuxV8rk C0/5zRK2Y4LJODIq9D62khpa/NmJPviq387pYof+cnvJ0srrHFHLo7ySOQqqq3zEkk7AAYq+kbvz r5Ns4DPd67p9vCvWSS6hVfHqWxV8y/nh+Zj/AJra7pXkHyJG9/Zi5EklyFZVnuACgK1FRDCjMzMw 369FBKr6c8oeXYPLflbStBgbnHplrFbep/O0agM/+yapxV88/wDOS3krUvKvmnTvzV8sAwSpPF+k ig+FLlNopmA/YmUenJ2J67viqT/lFomrfnD+bN5598yRD9EaXIkiW27Reqn+8tqleqxgc38T1Hx4 q+tcVYJ+en/kovNP/ME3/ElxVh3/ADiJ/wCSpl/7alz/AMm4sVe2Yq8Q/wCcpfzLsdB8mTeVbWUN revIEkjU7w2fL95I3/GTj6ajvUntirIP+ccvJFz5T/LGyivYzDqOqyNqV3EwIZPWVVjRgdwREiVH Y1xV5P8A84i/8p15v/4wr/1ENiqD/wCcg/L8PmP/AJyG0HQZ5Wgh1O2sbWSZACyCSeVSwB2qMVQ3 5r/84tnyn5Sn8waBqNxqpsTzv7aWNFZbenxSpw68OrD+Wp7Yq9L/AOcUv8BT+SnuNFsktvMkBEGv yO3qTs25jdWbdYpAKhRQcgRvSuKss/5yG/8AJNeZv+MEX/URFiqWf84uf+SZ0n/jNef9RL4q9YxV jP5l+U/8W+Q9b8vLQTX1sRbE7D14yJYKnw9VFrirw/8A5xS/MKLT/r35ca4fqeowXMsumpMeJL14 3FrQ9HR0Lgd6t4Yq+lsVdirsVdir5Y/5yI/9aI8k/wDGHS/+6nPir6D/ADH8qL5t8ja15e2El/bM tuzfZE6ESQMfYSopOKvC/wDnFP8AMBNMkv8A8uNeJs9RiuZJdMjm+A+p9m4tTWlHVk5qO/xeGKvp jFXYqlPmvzTo3lbQLvXdYnEFjZoXc7cnb9mNAacnc7KMVfN//OOOl6r51/NXXPzN1KLhBA83oGh4 /WboFRGjHqIbclT818cVSz/nI3RYtd/5yB8v6JLI0MWqRabZSTIAWRbi6eIsAdqgNXFW/wA0v+cV x5X8o3OvaBqVxqkth+9vbSaNFP1YA85E4dSn2iP5a+GKvQP+cTf8Az+UZp9IsY7fzVbkQa5K7GSd 1JJjdGb7EUgX7K0HJTWtAcVe8YqwP89lVvyh80hgCPqTGh33DqR+OKsY/wCcT0VfyigKgAtfXRYg dTyUVP0DFXseKsE/PT/yUXmn/mCb/iS4q+Zfyk/5yNb8vPKUmgL5fGps9zLdC6N36ABkVF4+n6Et acP5sVZbdf8AORf51+a0Nl5P8qNaSTfCLqCCa8kSoG4d1WFevV0piqeflX/zjfrMmvL5y/My4+va oZBcR6ZJJ9YLTDdXu5asrcaCkakjpU0+HFX0Zir5Y/5xF/5Trzf/AMYV/wCohsVRX5r/APrVfk3/ ALdv/URLir6bkjjljaKVQ8bgq6MAVZSKEEHqDir5E8zWGqfkH+b8Gt6XG8vlLVixW3FeLWzMDNak n9uFqNGfDjX9rFXtv54arp+r/kNrmqadMtxY3tnbz20y9GR54mU/2Yq8F/K3/nJv/Anky08tf4b/ AEj9VeZ/rf130OXrSNJT0/q8tKcqfaxVln/Q6/8A35v/AHMv+zTFXsf5Ofmj/wArI8sXWufoz9Ff Vr2Sy+r+v9Y5cIopefP04aV9alKduuKsL/O//nHr/FV7/irynKun+aoyrzR8jHHctHTg6uP7qZeI o3Q7Vp1xVgmmf85Ffmz5B9PSPzB8uSXxi/dpdz8rS4cDv6wSSGeg7qN+7YqmF3/zma80Xo6T5SZr 6Q8YhLdc1qenwRxBm+QIxVD+WPKv/OQX5k+a9P8ANHmLULjyvpthIJrMhDAUFfiW2s2qTzGxeaoK /wAw+HFX1EBQAE1I7nv92Kvlj/nIj/1ojyT/AMYdL/7qc+KvqfFXiP53f849L5tuz5o8qyrp/mqP i8qFvTiuWj3V+a7xzCgo/Q0FafaxVgWmf85D/m55BCaR5/8ALkl+IKIl3ccrWdhTb9+qywzUHcLU 92OKpjd/85n+rF6WmeUna8k+GL1bvktT0+BIeTfKoxVJrbyL+df526xBqHnBpNC8swtziieNoEVT 1+q2znm7kf7skPT9o9MVfTvlTytonlXQbTQtFgFvYWi8UXqzMd2d2/adzuTir5u/On/1qPyX/wAZ tG/6j2xV9TOiupRwGVgQykVBB6gjFXyN5x0rVPyH/N228yaNE7+U9WZj9WTZTA5BuLMnoGjNHir/ AJPWjYq+rdE1rTdb0i01fTJhcWF9Es9tMvdHFdx2I6EdjirEfz0/8lF5p/5gm/4kuKsY/wCcUP8A yUNt/wAxt1/xIYq9ixV//9k= xmp.iid:01801174072068118A6D8B08416892CD xmp.did:01801174072068118A6D8B08416892CD uuid:5D20892493BFDB11914A8590D31508C8 proof:pdf xmp.iid:02801174072068118C14BA044B20EA77 xmp.did:02801174072068118C14BA044B20EA77 uuid:5D20892493BFDB11914A8590D31508C8 proof:pdf saved xmp.iid:CCE3FD806A6AE011BB2BED8DCA643F7D 2011-04-19T11:50:48+02:00 Adobe Illustrator CS5 / saved xmp.iid:04801174072068118C14B032A4B837DA 2011-04-20T17:54:43+02:00 Adobe Illustrator CS5 / converted from application/postscript to application/vnd.adobe.illustrator saved xmp.iid:01801174072068118C14BA044B20EA77 2011-04-27T12:07:59+02:00 Adobe Illustrator CS5 / saved xmp.iid:02801174072068118C14BA044B20EA77 2011-04-27T13:21:31+02:00 Adobe Illustrator CS5 / converted from application/postscript to application/vnd.adobe.illustrator saved xmp.iid:01801174072068118A6D8B08416892CD 2011-06-07T10:15:03+02:00 Adobe Illustrator CS5 / Print True False 1 249.999900 169.999959 Millimeters Black Groupe de nuances par défaut 0 Blanc CMYK PROCESS 0.000000 0.000000 0.000000 0.000000 Noir CMYK PROCESS 0.000000 0.000000 0.000000 100.000000 CMJN Rouge CMYK PROCESS 0.000000 100.000000 100.000000 0.000000 CMJN Jaune CMYK PROCESS 0.000000 0.000000 100.000000 0.000000 CMJN Vert CMYK PROCESS 100.000000 0.000000 100.000000 0.000000 CMJN Cyan CMYK PROCESS 100.000000 0.000000 0.000000 0.000000 CMJN Bleu CMYK PROCESS 100.000000 100.000000 0.000000 0.000000 CMJN Magenta CMYK PROCESS 0.000000 100.000000 0.000000 0.000000 C=15 M=100 J=90 N=10 CMYK PROCESS 14.999998 100.000000 90.000000 10.000002 C=0 M=90 J=85 N=0 CMYK PROCESS 0.000000 90.000000 85.000000 0.000000 C=0 M=80 J=95 N=0 CMYK PROCESS 0.000000 80.000000 95.000000 0.000000 C=0 M=50 J=100 N=0 CMYK PROCESS 0.000000 50.000000 100.000000 0.000000 C=0 M=35 J=85 N=0 CMYK PROCESS 0.000000 35.000004 85.000000 0.000000 C=5 M=0 J=90 N=0 CMYK PROCESS 5.000001 0.000000 90.000000 0.000000 C=20 M=0 J=100 N=0 CMYK PROCESS 19.999998 0.000000 100.000000 0.000000 C=50 M=0 J=100 N=0 CMYK PROCESS 50.000000 0.000000 100.000000 0.000000 C=75 M=0 J=100 N=0 CMYK PROCESS 75.000000 0.000000 100.000000 0.000000 C=85 M=10 J=100 N=10 CMYK PROCESS 85.000000 10.000002 100.000000 10.000002 C=90 M=30 J=95 N=30 CMYK PROCESS 90.000000 30.000002 95.000000 30.000002 C=75 M=0 J=75 N=0 CMYK PROCESS 75.000000 0.000000 75.000000 0.000000 C=80 M=10 J=45 N=0 CMYK PROCESS 80.000000 10.000002 45.000000 0.000000 C=70 M=15 J=0 N=0 CMYK PROCESS 70.000000 14.999998 0.000000 0.000000 C=85 M=50 J=0 N=0 CMYK PROCESS 85.000000 50.000000 0.000000 0.000000 C=100 M=95 J=5 N=0 CMYK PROCESS 100.000000 95.000000 5.000001 0.000000 C=100 M=100 J=25 N=25 CMYK PROCESS 100.000000 100.000000 25.000000 25.000000 C=75 M=100 J=0 N=0 CMYK PROCESS 75.000000 100.000000 0.000000 0.000000 C=50 M=100 J=0 N=0 CMYK PROCESS 50.000000 100.000000 0.000000 0.000000 C=35 M=100 J=35 N=10 CMYK PROCESS 35.000004 100.000000 35.000004 10.000002 C=10 M=100 J=50 N=0 CMYK PROCESS 10.000002 100.000000 50.000000 0.000000 C=0 M=95 J=20 N=0 CMYK PROCESS 0.000000 95.000000 19.999998 0.000000 C=25 M=25 J=40 N=0 CMYK PROCESS 25.000000 25.000000 39.999996 0.000000 C=40 M=45 J=50 N=5 CMYK PROCESS 39.999996 45.000000 50.000000 5.000001 C=50 M=50 J=60 N=25 CMYK PROCESS 50.000000 50.000000 60.000004 25.000000 C=55 M=60 J=65 N=40 CMYK PROCESS 55.000000 60.000004 65.000000 39.999996 C=25 M=40 J=65 N=0 CMYK PROCESS 25.000000 39.999996 65.000000 0.000000 C=30 M=50 J=75 N=10 CMYK PROCESS 30.000002 50.000000 75.000000 10.000002 C=35 M=60 J=80 N=25 CMYK PROCESS 35.000004 60.000004 80.000000 25.000000 C=40 M=65 J=90 N=35 CMYK PROCESS 39.999996 65.000000 90.000000 35.000004 C=40 M=70 J=100 N=50 CMYK PROCESS 39.999996 70.000000 100.000000 50.000000 C=50 M=70 J=80 N=70 CMYK PROCESS 50.000000 70.000000 80.000000 70.000000 Gris 1 C=0 M=0 J=0 N=100 CMYK PROCESS 0.000000 0.000000 0.000000 100.000000 C=0 M=0 J=0 N=90 CMYK PROCESS 0.000000 0.000000 0.000000 89.999405 C=0 M=0 J=0 N=80 CMYK PROCESS 0.000000 0.000000 0.000000 79.998795 C=0 M=0 J=0 N=70 CMYK PROCESS 0.000000 0.000000 0.000000 69.999702 C=0 M=0 J=0 N=60 CMYK PROCESS 0.000000 0.000000 0.000000 59.999104 C=0 M=0 J=0 N=50 CMYK PROCESS 0.000000 0.000000 0.000000 50.000000 C=0 M=0 J=0 N=40 CMYK PROCESS 0.000000 0.000000 0.000000 39.999401 C=0 M=0 J=0 N=30 CMYK PROCESS 0.000000 0.000000 0.000000 29.998802 C=0 M=0 J=0 N=20 CMYK PROCESS 0.000000 0.000000 0.000000 19.999701 C=0 M=0 J=0 N=10 CMYK PROCESS 0.000000 0.000000 0.000000 9.999103 C=0 M=0 J=0 N=5 CMYK PROCESS 0.000000 0.000000 0.000000 4.998803 Couleurs vives 1 C=0 M=100 J=100 N=0 CMYK PROCESS 0.000000 100.000000 100.000000 0.000000 C=0 M=75 J=100 N=0 CMYK PROCESS 0.000000 75.000000 100.000000 0.000000 C=0 M=10 J=95 N=0 CMYK PROCESS 0.000000 10.000002 95.000000 0.000000 C=85 M=10 J=100 N=0 CMYK PROCESS 85.000000 10.000002 100.000000 0.000000 C=100 M=90 J=0 N=0 CMYK PROCESS 100.000000 90.000000 0.000000 0.000000 C=60 M=90 J=0 N=0 CMYK PROCESS 60.000004 90.000000 0.003099 0.003099 Adobe PDF library 9.90 % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 %ADOEndClientInjection: PageSetup End "AI11EPS" %%EndPageSetup 1 -1 scale 0 -455.552 translate pgsv [1 0 0 1 0 0 ]ct gsave np gsave 0 0 mo 0 455.552 li 693.169 455.552 li 693.169 0 li cp clp [1 0 0 1 0 0 ]ct 260.446 88.3018 mo 258.379 87.5039 li 271.899 90.5645 li 274.463 91.1426 275.927 91.4248 278.087 91.8223 cv 275.967 91.251 274.523 90.875 271.962 90.293 cv 258.517 87.249 li 258.996 87.2891 li 278.446 88.8999 li 281.434 89.1455 283.134 89.2383 285.638 89.356 cv 283.148 89.0605 281.457 88.8721 278.469 88.6221 cv 259.019 87.0112 li 257.929 86.9209 li 262.305 86.3975 li 277.449 84.5869 li 279.776 84.3066 281.09 84.1006 283.024 83.7798 cv 281.069 83.9238 279.744 84.0337 277.416 84.3101 cv 262.271 86.1206 li 258.045 86.6255 li 258.381 86.5439 258.734 86.4517 259.168 86.3262 cv 266.167 84.2856 li 273.167 82.2456 li 274.242 81.9297 274.839 81.7061 275.713 81.3584 cv 274.789 81.5352 274.166 81.667 273.089 81.978 cv 266.09 84.0186 li 259.089 86.0586 li 258.529 86.2231 258.099 86.3633 257.691 86.5093 cv 269.675 80.2944 li 272.401 78.8784 273.927 78.0337 276.165 76.7729 cv 273.845 77.876 272.275 78.6348 269.546 80.0474 cv 259.383 85.3159 li 276.39 74.5674 li 279.774 72.4268 281.669 71.1714 284.45 69.3086 cv 281.574 71.0215 279.628 72.1943 276.241 74.332 cv 257.425 86.2236 li 258.49 85.1069 li 276.473 66.2437 li 279.236 63.3428 280.769 61.665 283.013 59.1821 cv 280.64 61.542 279.037 63.1538 276.271 66.0508 cv 258.288 84.9141 li 257.86 85.3638 li 258.367 84.7397 258.882 84.0869 259.541 83.2183 cv 267.358 72.896 li 275.174 62.5737 li 276.374 60.9858 277.017 60.0576 277.95 58.6782 cv 276.875 59.9502 276.155 60.8208 274.953 62.4058 cv 267.135 72.728 li 259.319 83.0503 li 258.402 84.2646 257.808 85.0962 257.164 86.0361 cv 265.006 69.209 li 267.501 63.8496 268.874 60.7905 270.88 56.2778 cv 268.713 60.7158 267.252 63.7339 264.754 69.0913 cv 257.5 84.6548 li 257.656 84.2529 257.818 83.8271 258.005 83.313 cv 261.606 73.3477 li 265.208 63.3809 li 265.759 61.8491 266.028 60.9639 266.406 59.6543 cv 265.86 60.9038 265.501 61.7563 264.946 63.2866 cv 261.344 73.2524 li 257.743 83.2192 li 257.348 84.3159 257.099 85.0815 256.85 85.9077 cv 258.167 77.561 li 261.085 59.0815 li 261.532 56.2407 261.739 54.623 262.025 52.2363 cv 261.563 54.5947 261.261 56.1982 260.81 59.0376 cv 257.892 77.5171 li 256.588 85.7681 li 254.623 61.6489 li 254.307 57.7935 254.08 55.6108 253.729 52.3965 cv 253.903 55.6245 254.033 57.8159 254.345 61.6719 cv 256.25 85.0508 li 256.206 84.8286 256.155 84.5894 256.096 84.3218 cv 254.515 77.2983 li 252.935 70.2734 li 252.689 69.1953 252.504 68.5938 252.214 67.7114 cv 252.331 68.6328 252.421 69.2549 252.662 70.335 cv 254.243 77.3589 li 255.824 84.3828 li 255.927 84.8369 256.02 85.1987 256.114 85.54 cv 247.136 63.8096 li 245.657 60.2349 244.774 58.2256 243.458 55.2725 cv 244.609 58.293 245.403 60.3398 246.878 63.9155 cv 255.754 85.3989 li 253.924 82.4321 li 253.483 81.7197 253.192 81.3403 252.75 80.791 cv 253.041 81.4336 253.25 81.8633 253.687 82.5781 cv 253.995 83.0767 li 248.268 74.9282 li 242.141 66.21 li 241.197 64.8721 240.624 64.1392 239.764 63.0713 cv 240.478 64.2417 240.973 65.0293 241.913 66.3706 cv 248.041 75.0889 li 254.168 83.8071 li 254.82 84.7329 255.297 85.3687 255.813 86.0254 cv 255.841 86.0718 li 252.848 83.1758 li 238.477 69.271 li 236.268 67.1357 234.981 65.958 233.075 64.2368 cv 234.858 66.0859 236.077 67.3325 238.284 69.4712 cv 252.654 83.376 li 255.664 86.2886 li 254.929 85.7466 254.238 85.2588 253.212 84.5801 cv 243.979 78.4883 li 234.746 72.3965 li 233.327 71.4624 232.495 70.9722 231.261 70.2637 cv 232.397 71.1206 233.175 71.6914 234.593 72.6294 cv 243.826 78.7212 li 253.059 84.813 li 254.234 85.5869 255.017 86.061 255.949 86.6021 cv 255.915 86.5908 li 255.499 86.3628 255.091 86.1572 254.503 85.8979 cv 248.826 83.4048 li 243.148 80.9111 li 242.275 80.5298 241.761 80.3564 240.997 80.1182 cv 241.69 80.52 242.165 80.7808 243.037 81.166 cv 248.714 83.6592 li 253.783 85.8853 li 239.222 81.0674 li 236.086 80.0322 234.293 79.4893 231.646 78.7075 cv 234.238 79.6582 236 80.2925 239.135 81.332 cv 253.852 86.2021 li 253.456 86.1133 li 232.485 81.4297 li 229.262 80.7119 227.424 80.3501 224.712 79.8359 cv 227.385 80.5249 229.203 80.9795 232.424 81.7017 cv 253.395 86.3848 li 255.359 86.8237 li 254.683 86.7607 254.018 86.7134 253.096 86.6777 cv 243.741 86.3291 li 234.386 85.9805 li 232.949 85.9287 232.131 85.9468 230.927 85.9907 cv 232.125 86.1245 232.938 86.2026 234.376 86.2588 cv 243.73 86.6074 li 253.085 86.9561 li 254.1 86.9927 254.806 86.9932 255.557 86.9756 cv 241.767 89.373 li 238.875 89.8779 237.243 90.21 234.842 90.7178 cv 237.274 90.3857 238.922 90.1479 241.815 89.647 cv 255.593 87.2534 li 251.368 89.3081 li 250.615 89.6763 250.208 89.9272 249.618 90.314 cv 250.286 90.0879 250.735 89.9233 251.49 89.5591 cv 255.348 87.6816 li 249.157 92.4082 li 246.874 94.1543 245.606 95.1821 243.751 96.7104 cv 245.714 95.3237 247.04 94.373 249.327 92.6304 cv 255.832 87.6665 li 253.555 90.7153 li 252.409 92.2539 251.796 93.1553 250.908 94.4937 cv 251.939 93.2617 252.629 92.418 253.779 90.8818 cv 255.955 87.9697 li 248.504 103.954 li 232.255 138.816 li 231.753 139.894 231.306 140.86 230.881 141.782 cv 230.869 141.792 li 230.877 141.787 229.375 142.985 228.323 144.783 cv 227.222 146.546 226.651 148.752 226.515 149.48 cv 226.246 150.832 226.211 151.628 226.284 152.772 cv 227.075 151.942 227.599 151.356 228.366 150.214 cv 228.764 149.621 229.912 147.833 230.567 145.936 cv 230.899 144.994 231.109 144.038 231.169 143.281 cv 231.231 142.567 231.164 142.061 231.124 141.885 cv 231.555 140.969 232.007 140.008 232.507 138.935 cv 248.757 104.071 li 256.319 87.8472 li 255.524 96.3584 li 255.309 98.6924 255.232 100.02 255.139 101.979 cv 255.41 100.037 255.581 98.7178 255.802 96.3848 cv 256.508 88.8306 li 256.642 91.2197 li 256.707 92.3643 256.792 93.0112 256.933 93.9619 cv 256.969 93.0005 256.981 92.3491 256.92 91.2041 cv 256.754 88.2178 li 258.485 94.3813 li 261.861 106.408 li 262.381 108.255 262.722 109.291 263.241 110.811 cv 262.893 109.242 262.646 108.181 262.128 106.333 cv 258.754 94.3057 li 257.062 88.272 li 264.145 102.202 li 265.506 104.875 266.32 106.37 267.535 108.562 cv 266.478 106.289 265.75 104.75 264.393 102.076 cv 256.977 87.4878 li 257.47 87.8979 li 270.609 98.8384 li 272.629 100.518 273.805 101.434 275.549 102.771 cv 273.919 101.297 272.804 100.307 270.787 98.624 cv 258.266 88.1982 li 259.164 88.7646 li 265.471 92.7466 li 266.441 93.3569 267.017 93.6636 267.875 94.0991 cv 267.112 93.5127 266.588 93.125 265.62 92.5117 cv 259.313 88.5288 li 257.827 87.5903 li 260.346 88.5615 li 278.169 95.436 li 280.909 96.4907 282.48 97.0449 284.8 97.8442 cv 282.544 96.8789 281.008 96.2349 278.27 95.1758 cv 260.446 88.3018 li cp true sop /0 [/DeviceCMYK] /CSA add_res 0 0 0 1 nzopmsc f 352.934 37.9331 mo 355.902 38.3594 357.592 38.5542 360.085 38.8242 cv 357.619 38.3784 355.941 38.0874 352.973 37.6577 cv 333.659 34.8706 li 332.579 34.7144 li 336.977 34.457 li 352.204 33.5669 li 354.543 33.4272 355.867 33.3018 357.817 33.0986 cv 355.857 33.1245 354.527 33.1538 352.187 33.2886 cv 336.96 34.1787 li 332.712 34.4263 li 333.052 34.3647 333.409 34.2944 333.849 34.1953 cv 340.959 32.5811 li 348.069 30.9658 li 349.162 30.7163 349.771 30.5288 350.664 30.2344 cv 349.731 30.355 349.101 30.4482 348.007 30.6948 cv 340.897 32.3091 li 333.788 33.9238 li 333.219 34.0537 332.782 34.1675 332.367 34.2881 cv 344.703 28.8115 li 347.51 27.563 349.084 26.8125 351.395 25.689 cv 349.012 26.6489 347.399 27.3125 344.59 28.5571 cv 334.125 33.2021 li 351.751 23.502 li 355.259 21.5693 357.225 20.4316 360.115 18.7407 cv 357.14 20.2759 355.126 21.3286 351.617 23.2578 cv 332.114 33.9902 li 333.247 32.9375 li 352.339 15.1968 li 355.272 12.4683 356.904 10.8867 359.294 8.54395 cv 356.783 10.7563 355.085 12.2671 352.15 14.9922 cv 333.057 32.7329 li 332.603 33.1553 li 333.146 32.5645 333.7 31.9443 334.41 31.1172 cv 342.834 21.2871 li 351.26 11.4575 li 352.552 9.94531 353.25 9.05762 354.265 7.7373 cv 353.116 8.94141 352.344 9.76709 351.048 11.2759 cv 342.623 21.1064 li 334.198 30.936 li 333.213 32.0879 332.572 32.8804 331.874 33.7749 cv 340.712 17.4653 li 343.527 12.2681 345.082 9.29736 347.356 4.91357 cv 344.925 9.2124 343.285 12.1367 340.468 17.333 cv 332.269 32.4609 li 332.455 32.0601 332.647 31.6353 332.871 31.1182 cv 337.068 21.3877 li 341.266 11.6563 li 341.909 10.1602 342.23 9.29248 342.688 8.0083 cv 342.066 9.22217 341.657 10.0518 341.01 11.5459 cv 336.813 21.2764 li 332.615 31.0078 li 332.154 32.0796 331.859 32.8301 331.56 33.6406 cv 333.379 25.3892 li 337.409 7.11865 li 338.026 4.31006 338.33 2.70752 338.76 .342773 cv 338.156 2.66895 337.758 4.25146 337.137 7.05859 cv 333.107 25.3291 li 331.308 33.4844 li 330.803 9.28906 li 330.721 5.42139 330.626 3.22852 330.47 0 cv 330.449 3.23291 330.447 5.42676 330.525 9.29443 cv 331.014 32.7407 li 330.983 32.5176 330.948 32.2783 330.905 32.0098 cv 329.752 24.9028 li 328.598 17.7954 li 328.418 16.7036 328.271 16.0918 328.035 15.1938 cv 328.095 16.1201 328.148 16.7476 328.323 17.8398 cv 329.476 24.9473 li 330.629 32.0542 li 330.706 32.5142 330.776 32.8818 330.849 33.2285 cv 323.199 10.9961 li 321.938 7.33936 321.179 5.28027 320.043 2.25342 cv 321.011 5.33838 321.68 7.42822 322.936 11.0869 cv 330.498 33.063 li 328.853 29.9941 li 328.455 29.2568 328.188 28.8604 327.779 28.2856 cv 328.032 28.9448 328.213 29.3867 328.607 30.1255 cv 328.881 30.6367 li 323.659 22.1597 li 318.069 13.0869 li 317.208 11.6938 316.68 10.9287 315.887 9.81006 cv 316.529 11.022 316.975 11.8384 317.832 13.2334 cv 323.421 22.3062 li 329.011 31.3789 li 329.607 32.3433 330.045 33.0068 330.52 33.6943 cv 330.544 33.7397 li 327.731 30.6689 li 314.226 15.9214 li 312.149 13.6567 310.936 12.4038 309.137 10.5708 cv 310.805 12.5239 311.947 13.8418 314.02 16.1099 cv 327.526 30.8574 li 330.356 33.9482 li 329.655 33.3623 328.994 32.8335 328.01 32.0933 cv 319.162 25.4556 li 310.314 18.8169 li 308.953 17.7988 308.153 17.2588 306.963 16.4775 cv 308.046 17.4014 308.789 18.0181 310.147 19.04 cv 318.995 25.6777 li 327.842 32.3159 li 328.97 33.1592 329.723 33.6812 330.62 34.2769 cv 330.584 34.2622 li 330.184 34.0107 329.79 33.7808 329.22 33.4873 cv 323.703 30.6567 li 318.186 27.8271 li 317.337 27.394 316.834 27.1904 316.085 26.9063 cv 316.753 27.3486 317.212 27.6382 318.059 28.0752 cv 323.576 30.9053 li 328.493 33.4272 li 314.256 27.7437 li 311.188 26.5215 309.431 25.8721 306.836 24.9316 cv 309.366 26.0371 311.086 26.7759 314.153 28.0024 cv 328.542 33.7476 li 328.164 33.6387 li 307.515 27.6953 li 304.342 26.7842 302.529 26.312 299.853 25.6348 cv 302.48 26.4829 304.266 27.0474 307.438 27.9629 cv 328.086 33.9067 li 330.016 34.4624 li 329.347 34.3584 328.685 34.2715 327.767 34.1792 cv 318.45 33.2646 li 309.132 32.3501 li 307.701 32.2119 306.884 32.1797 305.679 32.1514 cv 306.867 32.3569 307.674 32.4849 309.105 32.6279 cv 318.423 33.5425 li 327.74 34.457 li 328.75 34.5547 329.456 34.5981 330.206 34.626 cv 316.299 36.1865 li 313.382 36.5166 311.733 36.7495 309.306 37.1113 cv 311.753 36.9268 313.413 36.7886 316.331 36.4634 cv 330.227 34.9048 li 325.883 36.7021 li 325.11 37.0244 324.689 37.251 324.077 37.6006 cv 324.757 37.415 325.215 37.2783 325.99 36.9595 cv 329.954 35.3198 li 323.487 39.6641 li 321.102 41.2686 319.775 42.2183 317.831 43.6318 cv 319.874 42.3662 321.254 41.4971 323.643 39.896 cv 330.438 35.332 li 327.983 38.2388 li 326.746 39.7065 326.08 40.5698 325.113 41.8521 cv 326.215 40.6841 326.956 39.8833 328.196 38.4189 cv 330.548 35.6362 li 322.142 51.1484 li 303.817 84.9644 li 303.254 86.0049 302.75 86.939 302.272 87.8296 cv 302.272 87.8306 li 302.249 87.8486 li 302.257 87.8442 300.686 88.9502 299.529 90.6812 cv 298.324 92.3755 297.621 94.543 297.439 95.2607 cv 297.088 96.5942 297.006 97.3857 297.009 98.5327 cv 297.849 97.7529 298.408 97.1997 299.243 96.106 cv 299.676 95.5381 300.932 93.8198 301.7 91.9653 cv 302.088 91.0439 302.354 90.1006 302.459 89.3506 cv 302.561 88.6528 302.526 88.1514 302.498 87.9678 cv 302.986 87.0771 303.496 86.1416 304.062 85.0972 cv 322.388 51.2813 li 330.914 35.5479 li 329.606 43.9893 li 329.249 46.3062 329.093 47.6274 328.881 49.5762 cv 329.269 47.6548 329.52 46.3481 329.881 44.0327 cv 331.043 36.5347 li 331.031 38.9248 li 331.027 40.0718 331.072 40.7217 331.155 41.6797 cv 331.25 40.7227 331.301 40.0728 331.31 38.9268 cv 331.327 35.9351 li 332.682 42.1958 li 335.324 54.4067 li 335.732 56.2827 336.009 57.3369 336.435 58.8853 cv 336.184 57.2988 336 56.2246 335.596 54.3472 cv 332.954 42.1372 li 331.63 36.0142 li 337.855 50.3438 li 339.052 53.0928 339.773 54.6343 340.854 56.8965 cv 339.937 54.563 339.303 52.9839 338.111 50.2319 cv 331.592 35.2231 li 332.06 35.6626 li 344.509 47.3809 li 346.424 49.1792 347.542 50.1655 349.202 51.6055 cv 347.664 50.0366 346.612 48.9795 344.7 47.1777 cv 332.833 36.0078 li 333.701 36.6313 li 339.754 40.9878 li 340.687 41.6553 341.242 41.9956 342.071 42.4824 cv 341.346 41.8511 340.846 41.4321 339.917 40.7607 cv 333.863 36.4048 li 332.434 35.3765 li 334.891 36.499 li 352.265 44.4375 li 354.936 45.6553 356.47 46.3037 358.738 47.2417 cv 356.544 46.1416 355.05 45.4058 352.381 44.1841 cv 335.007 36.2456 li 332.991 35.3242 li 346.303 39.1953 li 348.826 39.9272 350.27 40.2969 352.403 40.8242 cv 350.32 40.126 348.903 39.6636 346.38 38.9272 cv 333.147 35.0786 li 333.62 35.147 li 352.934 37.9331 li cp f 417.709 47.5884 mo 419.87 47.6118 421.095 47.5776 422.9 47.5093 cv 421.097 47.3994 419.873 47.3374 417.712 47.3101 cv 403.66 47.1484 li 402.538 47.1357 li 412.144 45.8408 li 414.058 45.5811 415.14 45.3867 416.728 45.0825 cv 415.116 45.2104 414.022 45.3086 412.107 45.5649 cv 402.58 46.8486 li 416.24 43.0156 li 418.363 42.418 419.554 42.0332 421.305 41.4492 cv 419.507 41.8618 418.289 42.1533 416.164 42.7476 cv 402.338 46.6265 li 401.912 46.7461 li 404.473 45.4272 li 414.451 40.2915 li 415.983 39.5 416.83 39.0098 418.07 38.271 cv 416.749 38.8516 415.857 39.2559 414.322 40.0435 cv 404.346 45.1797 li 402.027 46.3726 li 402.115 46.3105 402.196 46.2534 402.293 46.1816 cv 406.596 42.9761 li 410.9 39.771 li 411.559 39.2764 411.906 38.958 412.405 38.4756 cv 411.799 38.8159 411.396 39.0566 410.734 39.5469 cv 406.43 42.7524 li 402.127 45.9575 li 401.941 46.0972 401.783 46.2222 401.636 46.3403 cv 407.994 39.3223 li 409.51 37.645 410.334 36.6621 411.538 35.2026 cv 410.204 36.543 409.306 37.4609 407.787 39.1353 cv 402.719 44.729 li 411.157 33.6489 li 412.94 31.3037 413.915 29.9448 415.335 27.9321 cv 413.772 29.8364 412.722 31.1377 410.934 33.4805 cv 401.196 46.2686 li 401.526 45.4976 li 409.085 27.8755 li 410.246 25.166 410.859 23.6108 411.748 21.3135 cv 410.696 23.541 409.993 25.0576 408.829 27.7651 cv 401.399 45.0869 li 401.515 44.7373 401.633 44.3662 401.767 43.9238 cv 404.506 34.7993 li 407.247 25.6753 li 407.666 24.2729 407.858 23.4639 408.125 22.2666 cv 407.688 23.4121 407.403 24.1938 406.979 25.5957 cv 404.24 34.7202 li 401.5 43.8438 li 401.22 44.7773 401.044 45.4497 400.877 46.1465 cv 401.941 32.8516 li 402.285 28.5161 402.433 26.0532 402.634 22.4243 cv 402.255 26.0386 402.011 28.4941 401.663 32.8296 cv 400.734 44.4512 li 400.734 44.4233 400.734 44.4019 400.734 44.3726 cv 400.659 36.5752 li 400.583 28.7769 li 400.569 27.5781 400.514 26.8994 400.416 25.8989 cv 400.336 26.9009 400.294 27.5811 400.304 28.7798 cv 400.379 36.5771 li 400.455 44.3755 li 400.463 45.0386 400.484 45.5425 400.517 46.0303 cv 399.369 40.3564 li 396.637 26.8638 li 396.215 24.7905 395.931 23.624 395.493 21.9092 cv 395.756 23.6592 395.947 24.8447 396.365 26.9189 cv 399.095 40.4121 li 400.252 46.1333 li 392.835 30.2847 li 391.626 27.7065 390.898 26.2646 389.81 24.1489 cv 390.737 26.3398 391.378 27.8232 392.583 30.4023 cv 399.652 45.5088 li 396.778 41.0972 li 393.885 36.6572 li 393.439 35.9766 393.146 35.6152 392.701 35.0938 cv 392.997 35.7129 393.208 36.126 393.652 36.8096 cv 396.545 41.25 li 399.437 45.6895 li 399.511 45.8032 399.577 45.8975 399.645 45.9961 cv 388.221 33.6895 li 386.284 31.605 385.15 30.4546 383.466 28.772 cv 385.019 30.5752 386.083 31.792 388.017 33.8794 cv 399.342 46.0796 li 397.679 44.7832 li 397.191 44.4058 396.885 44.229 396.425 43.9824 cv 396.665 44.2476 396.862 44.4507 397.115 44.6738 cv 391.851 41.0586 li 385.387 36.6182 li 384.392 35.938 383.802 35.5908 382.921 35.0938 cv 383.701 35.7373 384.238 36.1641 385.229 36.8486 cv 391.693 41.2881 li 398.157 45.7285 li 398.709 46.1069 399.137 46.3809 399.56 46.6362 cv 397.117 45.5674 li 383.639 39.6685 li 381.567 38.7637 380.373 38.2939 378.607 37.6182 cv 380.301 38.4565 381.458 39.0151 383.527 39.9238 cv 397.005 45.8223 li 399.436 46.8862 li 398.934 46.7397 398.417 46.6021 397.725 46.4419 cv 389.794 44.6113 li 381.863 42.7813 li 380.644 42.502 379.941 42.3892 378.903 42.2412 cv 379.902 42.563 380.582 42.7695 381.8 43.0527 cv 389.731 44.8833 li 397.663 46.7129 li 398.301 46.8594 398.798 46.9595 399.276 47.043 cv 399.171 47.0342 399.069 47.0244 398.948 47.0171 cv 394.392 46.7559 li 389.836 46.4941 li 389.137 46.4565 388.737 46.4814 388.147 46.5366 cv 388.727 46.6592 389.121 46.73 389.821 46.7725 cv 394.376 47.0342 li 397.659 47.2222 li 387.167 47.6089 li 384.739 47.7012 383.364 47.7993 381.338 47.9634 cv 383.371 47.9771 384.75 47.9751 387.177 47.8877 cv 397.833 47.4956 li 382.61 49.5874 li 380.203 49.9199 378.844 50.1558 376.845 50.52 cv 378.869 50.3315 380.241 50.1924 382.647 49.8638 cv 398.311 47.7114 li 399.295 47.5762 li 398.958 47.6689 398.603 47.7734 398.164 47.918 cv 391.624 50.0771 li 385.083 52.2363 li 384.079 52.5698 383.524 52.8032 382.711 53.1655 cv 383.58 52.9731 384.165 52.8306 385.17 52.5005 cv 391.71 50.3413 li 398.251 48.1821 li 398.788 48.0039 399.195 47.853 399.583 47.6973 cv 391.035 52.686 li 389.171 53.7769 388.137 54.436 386.624 55.4224 cv 388.226 54.5903 389.309 54.0137 391.175 52.9268 cv 399.839 47.8711 li 397.63 50.1836 li 397.207 50.6318 397 50.918 396.708 51.3516 cv 397.128 51.0405 397.405 50.8208 397.832 50.3765 cv 399.762 48.3545 li 396.9 52.8955 li 395.773 54.6865 395.174 55.7271 394.307 57.2695 cv 395.325 55.8223 396.005 54.833 397.135 53.0439 cv 400.205 48.1768 li 399.495 50.6064 li 399.1 51.9629 398.919 52.7446 398.674 53.9023 cv 399.091 52.7949 399.362 52.0396 399.761 50.6855 cv 400.413 48.4644 li 399.407 61.041 li 397.151 89.2534 li 397.083 90.1172 397.024 90.8916 396.968 91.6313 cv 396.962 91.6431 li 396.966 91.6372 396.236 92.855 395.971 94.3706 cv 395.664 95.8755 395.836 97.5483 395.928 98.0879 cv 396.09 99.0918 396.284 99.6489 396.65 100.412 cv 397.004 99.645 397.229 99.1084 397.466 98.1221 cv 397.588 97.6094 397.922 96.0767 397.886 94.5947 cv 397.9 93.1597 397.413 91.8838 397.232 91.6479 cv 397.294 90.9106 397.359 90.1377 397.428 89.2759 cv 399.684 61.0635 li 400.717 48.146 li 402.297 54.0112 li 402.749 55.6748 403.049 56.6069 403.51 57.9751 cv 403.221 56.561 403.013 55.604 402.567 53.9385 cv 401.246 49.0308 li 401.75 50.1865 li 402.091 50.959 402.326 51.3784 402.69 51.9878 cv 402.489 51.3062 402.342 50.8486 402.006 50.0752 cv 401.261 48.3677 li 403.839 51.9048 li 409.251 59.3311 li 410.084 60.4712 410.595 61.0898 411.363 61.9912 cv 410.741 60.9854 410.306 60.3101 409.476 59.1675 cv 404.064 51.7402 li 401.568 48.3135 li 409.751 55.8467 li 411.375 57.3394 412.33 58.1514 413.746 59.335 cv 412.45 58.021 411.562 57.1377 409.94 55.6416 cv 401.215 47.6089 li 401.493 47.7065 li 413.358 51.8804 li 415.182 52.5195 416.232 52.8374 417.786 53.2896 cv 416.291 52.6704 415.272 52.2607 413.45 51.6177 cv 402.664 47.8237 li 402.891 47.8711 li 408.262 48.9971 li 409.088 49.1675 409.567 49.2188 410.275 49.2764 cv 409.603 49.0444 409.144 48.8994 408.32 48.7241 cv 402.948 47.5981 li 402.046 47.4092 li 403.657 47.4272 li 417.709 47.5884 li cp f 519.867 99.125 mo 518.201 99.6455 517.076 100.01 515.12 100.731 cv 504.752 104.561 li 504.967 104.415 li 516.171 96.7544 li 517.893 95.5757 518.842 94.8682 520.229 93.811 cv 518.742 94.7212 517.737 95.3486 516.015 96.5244 cv 505.687 103.584 li 505.699 103.576 505.705 103.57 505.715 103.562 cv 510.817 99.1538 li 515.917 94.7446 li 516.699 94.0659 517.112 93.645 517.709 93.0117 cv 516.998 93.5107 516.52 93.8579 515.736 94.5342 cv 510.635 98.9424 li 505.534 103.352 li 505.166 103.669 504.884 103.931 504.622 104.184 cv 510.03 97.0093 li 511.879 94.5493 512.893 93.126 514.369 91.0195 cv 512.75 93.0195 511.66 94.3848 509.806 96.8413 cv 505.373 102.724 li 507.85 98.7412 li 510.763 94.0557 li 511.21 93.334 511.422 92.8999 511.72 92.2515 cv 511.271 92.8062 510.976 93.189 510.526 93.9082 cv 507.613 98.5942 li 504.697 103.28 li 504.571 103.484 504.468 103.663 504.371 103.832 cv 505.648 100.502 li 509.139 91.4077 li 509.672 90.0093 509.932 89.1992 510.297 88 cv 509.764 89.1357 509.416 89.9116 508.877 91.3081 cv 505.389 100.402 li 504.03 103.94 li 505.573 91.998 li 505.83 89.9995 505.927 88.8604 506.056 87.1797 cv 505.751 88.8369 505.556 89.9644 505.296 91.9619 cv 503.857 103.093 li 503.824 99.9507 li 503.782 96.2021 li 503.773 95.626 503.72 95.2993 503.625 94.8193 cv 503.542 95.3013 503.497 95.6284 503.502 96.2051 cv 503.544 99.9531 li 503.583 103.459 li 501.524 92.2681 li 501.159 90.2876 500.905 89.1729 500.511 87.5332 cv 500.729 89.2046 500.888 90.3369 501.25 92.3188 cv 503.288 103.393 li 502.964 102.479 li 502.816 102.068 502.688 101.852 502.481 101.538 cv 502.495 101.669 502.512 101.778 502.532 101.891 cv 500.89 98.0405 li 498.714 92.9355 li 498.379 92.1523 498.145 91.7261 497.785 91.106 cv 497.98 91.7959 498.127 92.2598 498.46 93.0454 cv 500.634 98.1499 li 502.81 103.254 li 502.908 103.481 502.995 103.674 503.082 103.854 cv 502.322 102.728 li 496.508 94.0869 li 495.613 92.7598 495.066 92.0337 494.246 90.9741 cv 494.918 92.1328 495.387 92.9136 496.277 94.2422 cv 502.09 102.883 li 502.838 103.993 li 502.693 103.833 502.537 103.665 502.347 103.471 cv 498.303 99.3682 li 494.259 95.2646 li 493.637 94.6353 493.25 94.3115 492.668 93.8467 cv 493.124 94.4365 493.442 94.8276 494.061 95.46 cv 498.106 99.5635 li 502.149 103.667 li 502.289 103.807 502.412 103.928 502.532 104.043 cv 500.232 102.39 li 497.612 100.505 li 497.207 100.218 496.951 100.092 496.562 99.9224 cv 496.847 100.237 497.048 100.44 497.447 100.732 cv 500.07 102.617 li 501.261 103.474 li 495.587 100.158 li 494.103 99.292 493.236 98.8413 491.952 98.1929 cv 493.146 98.9946 493.963 99.5283 495.449 100.398 cv 501.242 103.786 li 492.114 99.6025 li 490.548 98.8887 489.644 98.5259 488.299 98.0083 cv 489.569 98.6875 490.434 99.1377 491.997 99.8564 cv 502.168 104.517 li 502.333 104.592 li 502.236 104.565 502.141 104.538 502.029 104.509 cv 497.302 103.317 li 492.577 102.125 li 491.848 101.944 491.427 101.887 490.796 101.82 cv 491.382 102.06 491.782 102.21 492.507 102.396 cv 497.235 103.587 li 501.962 104.779 li 502.149 104.826 502.317 104.865 502.475 104.896 cv 495.957 104.652 li 494.427 104.596 493.559 104.611 492.281 104.652 cv 493.553 104.789 494.418 104.87 495.945 104.93 cv 502.75 105.187 li 500.834 105.661 li 500.414 105.768 500.184 105.875 499.852 106.048 cv 500.226 106.047 500.478 106.035 500.902 105.931 cv 502.419 105.555 li 499.361 107.005 li 498.008 107.648 497.263 108.055 496.168 108.671 cv 497.338 108.216 498.125 107.896 499.478 107.257 cv 502.897 105.64 li 501.767 106.631 li 501.016 107.292 500.623 107.702 500.053 108.32 cv 500.74 107.836 501.198 107.498 501.951 106.84 cv 502.894 106.013 li 497.751 112.836 li 485.695 128.831 li 485.33 129.317 485.003 129.754 484.694 130.173 cv 484.691 130.174 li 484.697 130.172 483.792 130.625 483.055 131.435 cv 482.293 132.222 481.76 133.291 481.61 133.649 cv 481.326 134.313 481.242 134.727 481.194 135.328 cv 481.713 135.024 482.062 134.799 482.579 134.298 cv 482.849 134.039 483.63 133.248 484.174 132.345 cv 484.727 131.491 484.925 130.555 484.909 130.329 cv 485.224 129.916 485.553 129.483 485.918 128.999 cv 497.974 113.004 li 503.346 105.875 li 502.141 109.746 li 501.778 110.911 501.619 111.586 501.398 112.586 cv 501.789 111.639 502.041 110.993 502.406 109.829 cv 503.318 106.907 li 503.262 107.262 li 503.173 107.852 503.17 108.194 503.181 108.7 cv 503.346 108.221 503.447 107.894 503.539 107.304 cv 503.684 106.369 li 503.857 109.086 li 504.276 115.578 li 504.339 116.576 504.426 117.139 504.569 117.966 cv 504.602 117.127 504.616 116.559 504.551 115.56 cv 504.136 109.068 li 503.971 106.49 li 505.891 113.694 li 506.295 115.203 506.572 116.046 506.994 117.284 cv 506.745 116 506.561 115.132 506.162 113.622 cv 504.049 105.704 li 504.058 105.712 li 509.566 112.709 li 510.415 113.783 510.931 114.362 511.709 115.206 cv 511.071 114.252 510.629 113.613 509.784 112.537 cv 505.158 106.659 li 507.616 109.054 li 508.045 109.469 508.319 109.67 508.741 109.955 cv 508.445 109.543 508.235 109.273 507.808 108.854 cv 505.026 106.144 li 504.859 105.981 li 505.467 106.376 li 513.802 111.806 li 515.083 112.639 515.836 113.072 516.956 113.695 cv 515.934 112.923 515.234 112.41 513.953 111.573 cv 505.621 106.143 li 505.417 106.011 li 511.143 108.648 li 512.387 109.219 513.113 109.5 514.187 109.898 cv 513.189 109.338 512.502 108.97 511.26 108.396 cv 505.612 105.793 li 514.667 108.518 li 516.164 108.965 517.026 109.175 518.3 109.465 cv 517.079 109.004 516.244 108.703 514.749 108.251 cv 505.099 105.348 li 506.728 105.496 li 514.637 106.215 li 515.853 106.324 516.548 106.339 517.57 106.342 cv 516.562 106.162 515.878 106.051 514.662 105.938 cv 506.756 105.218 li 505.436 105.098 li 508.936 104.838 li 512.722 104.556 li 513.306 104.511 513.632 104.438 514.112 104.313 cv 513.619 104.261 513.287 104.237 512.703 104.279 cv 508.917 104.56 li 505.158 104.839 li 511.171 103.183 li 512.714 102.756 513.577 102.469 514.84 102.028 cv 513.529 102.297 512.641 102.492 511.095 102.915 cv 506.86 104.081 li 515.214 100.993 li 517.17 100.268 518.264 99.8125 519.867 99.125 cv cp f 140.093 91.3052 mo 143.804 91.6758 145.913 91.8389 149.021 92.0615 cv 145.931 91.6616 143.831 91.4023 140.121 91.0278 cv 116.221 88.6284 li 118.625 88.5522 li 129.207 88.2212 li 130.832 88.168 131.753 88.0913 133.108 87.9595 cv 131.747 87.9126 130.824 87.894 129.197 87.9429 cv 118.617 88.2739 li 115.521 88.3701 li 119.838 87.3755 li 146.256 81.2896 li 150.315 80.3516 152.607 79.7739 155.979 78.9063 cv 152.567 79.6011 150.254 80.0845 146.193 81.0181 cv 119.776 87.104 li 115.93 87.9893 li 135.006 80.5479 li 138.479 79.1899 140.432 78.3765 143.301 77.1616 cv 140.367 78.2104 138.379 78.9351 134.905 80.2881 cv 115.902 87.7021 li 117.227 86.9575 li 141.373 73.3936 li 145.082 71.3066 147.163 70.0825 150.219 68.2637 cv 147.076 69.9277 144.947 71.0684 141.236 73.1509 cv 117.09 86.7144 li 115.237 87.7549 li 120.396 83.2886 li 136.761 69.1279 li 139.275 66.9502 140.669 65.6792 142.712 63.7939 cv 140.553 65.5444 139.095 66.7427 136.578 68.9175 cv 120.214 83.0781 li 115.001 87.5889 li 115.506 87.0386 115.993 86.4858 116.644 85.7031 cv 123.249 77.7393 li 129.855 69.7739 li 130.868 68.5483 131.407 67.8237 132.187 66.7441 cv 131.27 67.71 130.657 68.373 129.64 69.5962 cv 123.035 77.561 li 116.429 85.5254 li 115.704 86.4028 115.222 87.0254 114.72 87.7036 cv 124.197 70.27 li 126.278 66.438 127.417 64.2412 129.079 60.998 cv 127.26 64.1563 126.036 66.3071 123.952 70.1367 cv 115.539 85.6113 li 127.54 58.2065 li 129.817 52.9995 131.066 50.0269 132.89 45.6406 cv 130.904 49.9551 129.566 52.8892 127.284 58.0952 cv 114.423 87.4653 li 114.866 84.835 li 121.018 48.3623 li 121.96 42.7559 122.449 39.5693 123.151 34.8721 cv 122.273 39.54 121.69 42.7109 120.743 48.3154 cv 114.592 84.7886 li 114.256 86.7769 li 114.386 85.2539 114.489 83.8462 114.601 81.7881 cv 115.587 63.4409 li 116.574 45.0933 li 116.723 42.2739 116.761 40.6714 116.798 38.3115 cv 116.583 40.6626 116.449 42.2593 116.295 45.0786 cv 115.309 63.4258 li 114.323 81.7734 li 114.197 84.1299 114.151 85.6396 114.117 87.4482 cv 109.89 60.9873 li 108.565 52.7036 107.767 48.0127 106.574 41.1069 cv 107.591 48.0405 108.294 52.7471 109.615 61.0313 cv 113.733 86.8091 li 113.495 85.7012 113.247 84.6318 112.871 83.1372 cv 109.182 68.5576 li 105.494 53.9771 li 104.924 51.7373 104.557 50.478 103.997 48.6279 cv 104.384 50.522 104.659 51.8042 105.224 54.0454 cv 108.912 68.626 li 112.601 83.2056 li 113.07 85.0547 113.405 86.2383 113.821 87.6343 cv 108.495 76.2612 li 97.2344 52.2148 li 95.502 48.52 94.4771 46.4443 92.9507 43.395 cv 94.3159 46.52 95.2539 48.6362 96.9824 52.333 cv 108.242 76.3794 li 113.475 87.5571 li 91.6821 60.3774 li 88.2461 56.0962 86.2607 53.6973 83.3223 50.1748 cv 86.1216 53.8081 88.0317 56.2681 91.4648 60.5522 cv 112.937 87.3301 li 112.508 86.8901 112.051 86.4399 111.445 85.8687 cv 104.003 78.8677 li 96.561 71.8672 li 95.4155 70.7925 94.7339 70.2178 93.7178 69.3833 cv 94.6118 70.3467 95.228 70.9922 96.3701 72.0698 cv 103.813 79.0708 li 111.254 86.0718 li 112 86.7715 112.552 87.2588 113.125 87.7446 cv 84.6143 68.8887 li 80.0342 65.8623 77.4102 64.1846 73.5356 61.729 cv 77.312 64.3335 79.8828 66.0913 84.46 69.1211 cv 112.579 87.7183 li 107.407 85.3872 li 106.322 84.9009 105.688 84.668 104.745 84.3408 cv 105.614 84.8301 106.209 85.1509 107.292 85.6411 cv 109.864 86.8008 li 109.57 86.6855 109.264 86.5669 108.929 86.4395 cv 94.7949 81.061 li 80.6597 75.6836 li 78.4873 74.8594 77.2388 74.4351 75.3921 73.8281 cv 77.1753 74.6016 78.3896 75.1152 80.561 75.9438 cv 94.6958 81.3223 li 108.829 86.6997 li 110.464 87.3198 111.576 87.7134 112.813 88.1289 cv 113.022 88.2236 li 106.745 87.1187 li 78.7974 82.1963 li 74.502 81.4414 72.0571 81.0596 68.4541 80.5156 cv 72.0269 81.2358 74.4546 81.7119 78.749 82.4702 cv 106.697 87.3931 li 113.122 88.5254 li 111.59 88.48 110.303 88.4609 108.3 88.4819 cv 92.6035 88.6621 li 76.9058 88.8413 li 74.4941 88.8711 73.126 88.9346 71.1118 89.0469 cv 73.1284 89.1133 74.4971 89.1455 76.9097 89.1201 cv 92.6064 88.9404 li 108.304 88.7612 li 110.451 88.7344 111.773 88.6807 113.458 88.5903 cv 113.263 88.645 li 112.527 88.7295 111.855 88.8252 110.876 89.0029 cv 102.22 90.5874 li 93.5635 92.1709 li 92.2339 92.4165 91.4878 92.6021 90.3926 92.8931 cv 91.52 92.7773 92.2832 92.6865 93.6138 92.4453 cv 102.271 90.8608 li 110.927 89.2773 li 111.043 89.2559 111.135 89.2368 111.242 89.2158 cv 89.0742 95.4751 li 84.5645 96.7505 82.0195 97.519 78.2759 98.668 cv 82.0679 97.6899 84.6392 97.0142 89.1499 95.7432 cv 111.44 89.4512 li 109.829 90.0845 li 81.4487 101.245 li 77.0894 102.963 74.6328 103.98 71.022 105.496 cv 74.6978 104.146 77.1899 103.217 81.5513 101.505 cv 109.931 90.3438 li 113.182 89.0654 li 112.134 89.6528 111.216 90.1885 109.859 91.0313 cv 98.5815 98.0571 li 87.3037 105.083 li 85.5718 106.165 84.6143 106.819 83.2134 107.796 cv 84.7085 106.969 85.7173 106.398 87.4507 105.32 cv 98.7295 98.2935 li 110.007 91.2676 li 111.424 90.3828 112.333 89.7769 113.379 89.0532 cv 98.6958 103.199 li 95.6973 106.09 94.0293 107.765 91.584 110.243 cv 94.1528 107.893 95.8882 106.288 98.8896 103.399 cv 113.483 89.3423 li 109.942 95.4785 li 109.35 96.5098 109.054 97.1182 108.634 98.0229 cv 109.208 97.2065 109.587 96.647 110.183 95.6182 cv 113.519 89.8374 li 109.809 100.874 li 108.512 104.743 107.82 106.951 106.818 110.211 cv 107.988 107.008 108.772 104.83 110.074 100.963 cv 113.911 89.5513 li 113.642 95.3677 li 113.517 98.0894 113.493 99.6353 113.476 101.913 cv 113.671 99.6436 113.791 98.1016 113.92 95.3804 cv 114.187 89.6519 li 118.226 114.934 li 126.836 168.838 li 127.102 170.503 127.347 172.019 127.578 173.441 cv 127.572 173.465 li 127.578 173.452 126.765 176.044 126.957 178.985 cv 127.063 181.925 128.142 184.966 128.557 185.929 cv 129.312 187.729 129.883 188.698 130.846 190.007 cv 131.08 188.399 131.21 187.294 131.203 185.344 cv 131.199 184.333 131.127 181.326 130.396 178.585 cv 130.041 177.217 129.529 175.931 129.003 174.998 cv 128.503 174.095 128.011 173.545 127.837 173.384 cv 127.614 171.965 127.376 170.454 127.111 168.794 cv 118.5 114.89 li 114.44 89.4727 li 120.429 100.403 li 122.028 103.319 122.977 104.95 124.389 107.344 cv 123.133 104.865 122.269 103.187 120.673 100.269 cv 115.125 90.1396 li 117.651 93.4658 li 118.637 94.7603 119.233 95.4658 120.126 96.4941 cv 119.375 95.3579 118.855 94.5938 117.873 93.2969 cv 114.981 89.4873 li 122.328 95.708 li 135.856 107.166 li 137.937 108.925 139.147 109.888 140.941 111.291 cv 139.262 109.751 138.114 108.716 136.036 106.953 cv 122.508 95.4951 li 115.269 89.3638 li 135.185 100.397 li 138.908 102.458 141.043 103.586 144.196 105.231 cv 141.13 103.431 139.042 102.218 135.32 100.154 cv 114.758 88.7617 li 115.95 88.8809 li 140.093 91.3052 li cp f 148.096 195.592 mo 147.193 196.047 144.542 197.467 142.424 199.354 cv 141.361 200.286 140.443 201.322 139.847 202.212 cv 139.267 203.063 138.999 203.749 138.934 203.977 cv 137.76 204.818 136.529 205.702 135.158 206.69 cv 90.8838 238.617 li 70.0151 253.664 li 77.0791 243.408 li 78.9639 240.667 79.9941 239.086 81.4976 236.748 cv 79.8477 238.986 78.7378 240.512 76.8496 243.25 cv 70.2939 252.767 li 72.127 249.015 li 72.8403 247.552 73.2021 246.701 73.7192 245.441 cv 73.0425 246.623 72.5938 247.431 71.8765 248.892 cv 69.7759 253.187 li 72.0293 243.827 li 76.1816 226.587 li 76.8179 223.937 77.1333 222.423 77.5796 220.189 cv 76.9604 222.381 76.5513 223.873 75.9111 226.522 cv 71.7588 243.762 li 69.5361 252.985 li 70.4346 230.235 li 70.6006 225.982 70.6475 223.567 70.6992 220.011 cv 70.4697 223.561 70.3267 225.971 70.1563 230.224 cv 69.2275 253.712 li 68.7993 252.597 li 60.105 229.94 li 58.7666 226.46 57.9639 224.502 56.7646 221.625 cv 57.7979 224.566 58.5107 226.558 59.8447 230.04 cv 68.4487 252.46 li 67.3022 250.349 li 62.25 241.045 li 61.4722 239.617 60.9893 238.828 60.2622 237.676 cv 60.833 238.914 61.231 239.748 62.0049 241.179 cv 67.0571 250.483 li 68.5366 253.208 li 65.7046 249.797 li 48.3906 228.937 li 45.728 225.732 44.1812 223.944 41.8901 221.323 cv 44.0444 224.058 45.5166 225.907 48.1758 229.114 cv 65.4907 249.975 li 68.0088 253.009 li 52.7866 239.316 li 50.0127 236.823 48.4082 235.443 46.0327 233.425 cv 48.2891 235.576 49.8291 237.027 52.6001 239.523 cv 67.7656 253.167 li 66.5054 252.318 li 43.5332 236.846 li 40.0015 234.47 37.9722 233.162 34.9731 231.249 cv 37.873 233.309 39.8481 234.699 43.3774 237.078 cv 66.3501 252.55 li 68.1147 253.739 li 61.8062 251.137 li 41.7954 242.884 li 38.7192 241.618 36.9565 240.943 34.3535 239.965 cv 36.8887 241.107 38.6147 241.872 41.6895 243.142 cv 61.6997 251.396 li 68.0654 254.021 li 67.3491 253.818 66.6372 253.632 65.6489 253.403 cv 55.5645 251.082 li 45.481 248.758 li 43.9307 248.404 43.0405 248.249 41.7261 248.037 cv 43.001 248.422 43.8691 248.671 45.418 249.031 cv 55.5024 251.352 li 65.5859 253.675 li 66.6953 253.927 67.4678 254.08 68.2983 254.222 cv 48.4658 253.593 li 44.1079 253.458 41.6343 253.427 37.9897 253.4 cv 41.6284 253.605 44.0986 253.732 48.457 253.873 cv 66.0674 254.431 li 36.187 256.035 li 30.5117 256.341 27.2939 256.562 22.5571 256.906 cv 27.3037 256.74 30.5264 256.615 36.2017 256.313 cv 68.2188 254.596 li 65.6748 255.381 li 30.3301 266.283 li 24.8994 267.96 21.833 268.957 17.3213 270.441 cv 21.8853 269.126 24.98 268.222 30.4126 266.55 cv 65.7568 255.647 li 67.6831 255.053 li 66.2627 255.622 64.9595 256.164 63.0703 256.99 cv 46.2383 264.357 li 29.4067 271.724 li 26.8213 272.859 25.373 273.545 23.248 274.572 cv 25.4448 273.708 26.9316 273.111 29.5181 271.98 cv 46.3501 264.612 li 63.1821 257.244 li 65.3301 256.302 66.6968 255.667 68.3154 254.89 cv 46.6099 270.542 li 39.8071 275.449 35.9761 278.271 30.3442 282.442 cv 36.0801 278.416 39.9673 275.671 46.7729 270.767 cv 68.0327 255.437 li 67.1187 256.172 66.2573 256.886 65.0537 257.927 cv 53.6909 267.775 li 42.3267 277.623 li 40.582 279.136 39.6235 280.033 38.2227 281.363 cv 39.7402 280.166 40.7622 279.344 42.5098 277.833 cv 53.8726 267.986 li 65.2363 258.138 li 66.6738 256.89 67.5874 256.052 68.6445 255.054 cv 60.8799 264.925 li 44.4653 285.792 li 41.9438 289.001 40.5508 290.849 38.5137 293.583 cv 40.6909 290.96 42.1592 289.169 44.6841 285.964 cv 61.0991 265.099 li 68.729 255.402 li 54.2515 287.087 li 51.9722 292.082 50.7222 294.933 48.897 299.142 cv 50.8843 295.007 52.2217 292.197 54.5049 287.204 cv 68.7671 255.987 li 68.5679 256.567 68.3716 257.176 68.1338 257.972 cv 65.2275 267.765 li 62.3213 277.558 li 61.877 279.064 61.6694 279.931 61.3813 281.214 cv 61.8398 279.982 62.1396 279.142 62.5884 277.638 cv 65.4946 267.844 li 68.4009 258.052 li 68.6914 257.069 68.8789 256.356 69.0552 255.623 cv 65.0322 289.569 li 64.3882 295.02 64.0693 298.118 63.6182 302.683 cv 64.2461 298.138 64.6602 295.052 65.3086 289.603 cv 69.2754 256.132 li 69.5171 261.791 li 69.5703 262.978 69.647 263.65 69.7783 264.638 cv 69.8247 263.642 69.8438 262.966 69.7954 261.779 cv 69.6748 258.945 li 69.7051 259.266 69.7378 259.599 69.7749 259.964 cv 71.3262 275.005 li 72.8779 290.047 li 73.1187 292.358 73.3018 293.664 73.5894 295.586 cv 73.4785 293.646 73.3911 292.33 73.1553 290.018 cv 71.604 274.977 li 70.0522 259.935 li 69.8711 258.197 69.7222 257.027 69.5376 255.736 cv 69.5278 255.503 li 71.3633 261.606 li 79.5361 288.781 li 80.7939 292.955 81.5522 295.31 82.6865 298.773 cv 81.7222 295.259 81.0562 292.876 79.8027 288.7 cv 71.6304 261.526 li 69.7539 255.283 li 70.4019 256.669 70.9634 257.828 71.8823 259.606 cv 79.1016 273.542 li 86.3198 287.478 li 87.4312 289.619 88.103 290.812 89.1089 292.56 cv 88.2612 290.73 87.6748 289.494 86.5674 287.351 cv 79.3481 273.415 li 72.1299 259.478 li 71.1406 257.571 70.498 256.415 69.6587 254.951 cv 69.7964 255.1 li 70.2021 255.72 70.5903 256.277 71.189 257.072 cv 76.4956 264.088 li 81.8018 271.107 li 82.6196 272.183 83.1206 272.767 83.8726 273.614 cv 83.2622 272.66 82.8379 272.017 82.0244 270.939 cv 76.7178 263.921 li 71.4111 256.904 li 71.3379 256.807 71.2788 256.732 71.2104 256.644 cv 86.7725 273.63 li 89.939 277.083 91.7705 279.011 94.48 281.837 cv 91.9019 278.89 90.1416 276.898 86.9775 273.443 cv 71.3369 256.368 li 72.6274 257.522 li 95.3564 277.849 li 98.8501 280.97 100.863 282.706 103.841 285.25 cv 100.982 282.573 99.0327 280.766 95.542 277.64 cv 72.813 257.314 li 70.2104 254.987 li 71.2056 255.658 72.0962 256.236 73.4575 257.068 cv 84.8022 263.981 li 96.1479 270.893 li 97.8921 271.954 98.9067 272.514 100.409 273.327 cv 98.9985 272.363 98.0352 271.719 96.2925 270.654 cv 84.9478 263.742 li 73.6021 256.83 li 72.1753 255.962 71.2256 255.423 70.1089 254.814 cv 89.3447 261.567 li 93.2759 262.945 95.5215 263.682 98.8354 264.751 cv 95.5811 263.513 93.3667 262.686 89.437 261.304 cv 70.3193 254.591 li 77.3921 254.995 li 78.5786 255.06 79.2549 255.05 80.251 255.019 cv 79.2646 254.873 78.5947 254.787 77.4082 254.716 cv 70.7456 254.337 li 82.2715 252.685 li 86.3096 252.105 88.5933 251.729 91.9556 251.158 cv 88.5684 251.552 86.271 251.833 82.2319 252.41 cv 70.3125 254.115 li 75.6313 251.737 li 78.1187 250.623 79.5103 249.948 81.5522 248.938 cv 79.4375 249.786 78.0063 250.373 75.5176 251.482 cv 70.2603 253.832 li 91.0469 238.842 li 135.321 206.917 li 136.695 205.925 137.925 205.035 139.096 204.185 cv 139.123 204.18 li 139.11 204.18 141.791 203.739 144.33 202.246 cv 146.907 200.829 149.138 198.498 149.811 197.693 cv 151.079 196.209 151.687 195.264 152.421 193.814 cv 150.88 194.328 149.837 194.711 148.096 195.592 cv cp f 137.759 192.32 mo 136.935 191.733 134.447 190.039 131.791 189.037 cv 130.471 188.529 129.127 188.197 128.062 188.082 cv 127.039 187.963 126.308 188.044 126.077 188.091 cv 124.788 187.442 123.435 186.764 121.924 186.008 cv 73.0967 161.605 li 50.083 150.104 li 62.4438 151.602 li 65.7456 152 67.6245 152.18 70.394 152.426 cv 67.646 152.003 65.7793 151.729 62.4775 151.326 cv 51.0024 149.934 li 55.189 149.815 li 56.8154 149.767 57.7363 149.693 59.0923 149.565 cv 57.7314 149.515 56.8076 149.492 55.1816 149.536 cv 50.3999 149.67 li 59.7358 147.323 li 76.9302 143 li 79.5723 142.333 81.0591 141.91 83.2446 141.269 cv 81.0156 141.737 79.5054 142.067 76.8618 142.729 cv 59.668 147.053 li 50.4648 149.365 li 71.0352 139.602 li 74.8794 137.775 77.04 136.696 80.2144 135.091 cv 76.9639 136.535 74.7622 137.527 70.9155 139.35 cv 49.6777 149.43 li 50.4678 148.533 li 66.5015 130.321 li 68.9634 127.521 70.3252 125.902 72.3169 123.505 cv 70.1909 125.784 68.7573 127.34 66.292 130.136 cv 50.4209 148.164 li 51.7588 146.166 li 57.6519 137.372 li 58.5552 136.019 59.0288 135.226 59.7119 134.047 cv 58.8809 135.126 58.3276 135.866 57.4204 137.216 cv 51.5273 146.011 li 49.8042 148.582 li 51.5112 144.49 li 61.9526 119.471 li 63.5552 115.625 64.4209 113.426 65.6797 110.18 cv 64.2573 113.357 63.3022 115.52 61.6953 119.364 cv 51.2539 144.383 li 49.7339 148.025 li 54.7959 128.187 li 55.7158 124.573 56.1924 122.512 56.876 119.472 cv 56.0195 122.468 55.4502 124.505 54.5259 128.118 cv 49.4819 147.881 li 49.6484 146.373 li 52.689 118.842 li 53.1533 114.612 53.3706 112.207 53.6724 108.663 cv 53.1938 112.188 52.8809 114.582 52.4121 118.812 cv 49.3716 146.343 li 49.1377 148.458 li 48.5127 141.658 li 46.5327 120.105 li 46.2266 116.793 46.0063 114.919 45.6636 112.16 cv 45.8291 114.935 45.9541 116.818 46.2559 120.13 cv 48.2354 141.684 li 48.8652 148.549 li 48.7124 147.818 48.5469 147.1 48.29 146.115 cv 45.6655 136.105 li 43.0405 126.094 li 42.6353 124.557 42.3599 123.697 41.937 122.434 cv 42.188 123.742 42.3701 124.626 42.7715 126.166 cv 45.396 136.176 li 48.021 146.187 li 48.311 147.289 48.5366 148.043 48.7954 148.846 cv 40.146 130.985 li 38.2437 127.062 37.1216 124.857 35.4536 121.616 cv 36.9614 124.934 37.9966 127.181 39.895 131.107 cv 47.5708 146.959 li 32.2856 121.241 li 29.3799 116.356 27.6919 113.609 25.1885 109.572 cv 27.5386 113.7 29.1445 116.496 32.0464 121.384 cv 48.4277 148.947 li 46.5488 147.056 li 20.4858 120.809 li 16.4785 116.777 14.1729 114.522 10.7637 111.216 cv 14.0469 114.648 16.2842 116.97 20.2876 121.005 cv 46.3506 147.251 li 47.77 148.68 li 46.6084 147.688 45.5239 146.785 43.9175 145.496 cv 29.5776 134.005 li 15.2383 122.515 li 13.0337 120.751 11.7534 119.787 9.85693 118.381 cv 11.6421 119.926 12.8623 120.965 15.064 122.732 cv 29.4038 134.223 li 43.7432 145.713 li 45.5767 147.18 46.7734 148.096 48.2134 149.169 cv 24.269 137.203 li 16.7642 133.455 12.4863 131.371 6.17822 128.318 cv 12.4067 131.53 16.6411 133.7 24.1445 137.453 cv 47.5659 149.158 li 46.5015 148.694 45.4746 148.266 44.0068 147.688 cv 30.0088 142.192 li 16.0098 136.697 li 13.8579 135.854 12.6201 135.42 10.79 134.797 cv 12.5552 135.586 13.7573 136.11 15.9082 136.956 cv 29.9067 142.452 li 43.9048 147.947 li 45.6797 148.642 46.8364 149.06 48.2119 149.534 cv 35.8662 147.238 li 9.76416 142.381 li 5.75244 141.637 3.46826 141.261 .101074 140.725 cv 3.43555 141.436 5.70215 141.907 9.71289 142.656 cv 35.8149 147.512 li 47.9497 149.771 li 13.1636 151.652 li 7.68164 151.952 4.57471 152.168 .000488281 152.504 cv 4.58447 152.345 7.69629 152.225 13.1782 151.931 cv 47.4561 150.076 li 46.8467 150.169 46.2148 150.278 45.3965 150.438 cv 35.3706 152.409 li 25.3452 154.381 li 23.8052 154.686 22.9404 154.905 21.6704 155.245 cv 22.9751 155.079 23.8584 154.955 25.3989 154.654 cv 35.4243 152.683 li 45.4502 150.711 li 46.4526 150.513 47.1699 150.349 47.8979 150.166 cv 15.9668 162.352 li 10.8389 164.312 7.94727 165.467 3.69385 167.185 cv 8.01025 165.633 10.9365 164.568 16.0659 162.613 cv 47.5537 150.595 li 42.6538 153.434 li 41.6265 154.031 41.0674 154.411 40.2529 154.986 cv 41.1567 154.565 41.7637 154.269 42.7935 153.675 cv 45.2974 152.224 li 45.0073 152.414 44.7246 152.596 44.3931 152.815 cv 31.7886 161.17 li 19.1836 169.526 li 17.2476 170.812 16.1753 171.58 14.6064 172.727 cv 16.2734 171.728 17.3989 171.04 19.3369 169.758 cv 31.9424 161.402 li 44.5474 153.047 li 46.0054 152.079 46.9746 151.404 48.0342 150.639 cv 48.2329 150.524 li 43.6753 154.986 li 23.3965 174.837 li 20.2817 177.889 18.5474 179.654 16.0063 182.266 cv 18.6719 179.781 20.4731 178.085 23.5913 175.037 cv 43.8701 155.185 li 48.5317 150.623 li 47.603 151.841 46.8379 152.876 45.688 154.516 cv 36.6899 167.378 li 27.6919 180.242 li 26.3105 182.219 25.5654 183.368 24.4834 185.07 cv 25.7119 183.47 26.5352 182.376 27.9199 180.401 cv 36.918 167.538 li 45.916 154.676 li 47.1436 152.918 47.8784 151.798 48.7837 150.38 cv 48.7129 150.574 li 48.353 151.223 48.0386 151.825 47.6123 152.725 cv 43.8574 160.682 li 40.103 168.638 li 39.5273 169.862 39.2441 170.576 38.8423 171.635 cv 39.4043 170.652 39.7754 169.979 40.3545 168.757 cv 44.1094 160.8 li 47.8638 152.844 li 47.917 152.731 47.9565 152.642 48.0044 152.538 cv 40.1753 174.214 li 38.5854 178.623 37.7275 181.139 36.4814 184.852 cv 37.8945 181.2 38.8428 178.716 40.437 174.31 cv 48.3047 152.526 li 47.8809 154.209 li 40.4214 183.776 li 39.2773 188.32 38.6738 190.909 37.8027 194.727 cv 38.8462 190.953 39.5435 188.387 40.6914 183.845 cv 48.1509 154.277 li 49.0044 150.892 li 48.8721 152.085 48.7739 153.14 48.6689 154.732 cv 47.811 167.99 li 46.9536 181.246 li 46.8237 183.283 46.7974 184.442 46.7759 186.15 cv 46.9746 184.454 47.0972 183.301 47.2314 181.264 cv 48.0894 168.007 li 48.9468 154.75 li 49.0527 153.082 49.0898 151.999 49.1113 150.725 cv 52.0547 170.893 li 52.6582 175.015 53.0469 177.346 53.6377 180.778 cv 53.2231 177.321 52.9297 174.976 52.3301 170.853 cv 49.4053 150.803 li 52.3315 157.255 li 52.8242 158.337 53.1465 158.931 53.6377 159.799 cv 53.3086 158.857 53.0737 158.224 52.585 157.141 cv 49.8306 151.065 li 56.6377 160.504 li 59.0254 163.812 60.418 165.661 62.4839 168.374 cv 60.5625 165.557 59.2476 163.652 56.8638 160.341 cv 49.8237 150.577 li 54.3945 154.183 li 56.5342 155.87 57.7773 156.789 59.6191 158.129 cv 57.8877 156.649 56.7046 155.654 54.5669 153.964 cv 50.0532 150.401 li 72.9722 161.854 li 121.8 186.257 li 123.314 187.013 124.672 187.689 125.967 188.331 cv 125.985 188.353 li 125.979 188.342 127.614 190.51 130.117 192.066 cv 132.569 193.691 135.668 194.587 136.693 194.81 cv 138.597 195.246 139.717 195.347 141.342 195.327 cv 140.171 194.2 139.349 193.451 137.759 192.32 cv cp f 176.917 114.291 mo 179.877 114.676 181.562 114.849 184.046 115.084 cv 181.585 114.672 179.913 114.404 176.953 114.014 cv 157.691 111.49 li 155.433 111.194 li 169.555 110.981 li 172.226 110.938 173.741 110.867 175.971 110.744 cv 173.738 110.689 172.222 110.664 169.551 110.702 cv 155.501 110.914 li 156.019 110.833 li 175.625 107.768 li 178.637 107.294 180.339 106.979 182.842 106.498 cv 180.311 106.803 178.595 107.023 175.582 107.492 cv 155.976 110.557 li 154.857 110.732 li 159.071 109.162 li 173.603 103.75 li 175.835 102.916 177.084 102.4 178.919 101.621 cv 177.022 102.232 175.739 102.659 173.505 103.489 cv 158.973 108.901 li 154.884 110.423 li 155.207 110.257 155.543 110.077 155.956 109.84 cv 162.385 106.147 li 168.813 102.453 li 169.8 101.884 170.336 101.52 171.118 100.968 cv 170.248 101.365 169.664 101.646 168.674 102.211 cv 162.246 105.905 li 155.817 109.599 li 155.29 109.903 154.892 110.149 154.517 110.396 cv 164.893 101.366 li 167.248 99.3135 168.553 98.1138 170.464 96.333 cv 168.436 97.9795 167.068 99.1069 164.709 101.156 cv 155.889 108.832 li 170.159 94.0981 li 172.991 91.1714 174.563 89.478 176.867 86.9722 cv 174.436 89.3545 172.793 90.98 169.959 93.9038 cv 154.199 110.175 li 154.994 108.797 li 168.25 85.8491 li 170.285 82.3213 171.399 80.2964 173.023 77.3057 cv 171.245 80.2075 170.047 82.1836 168.008 85.7095 cv 154.752 108.658 li 154.412 109.248 li 154.77 108.497 155.128 107.719 155.58 106.682 cv 160.833 94.6113 li 166.085 82.541 li 166.89 80.6851 167.304 79.6138 167.896 78.0288 cv 167.14 79.5425 166.639 80.5757 165.83 82.4302 cv 160.577 94.5005 li 155.325 106.571 li 154.705 107.999 154.316 108.965 153.901 110.055 cv 157.625 91.5313 li 158.807 85.6382 159.432 82.2861 160.334 77.3462 cv 159.257 82.2515 158.539 85.584 157.352 91.4771 cv 153.896 108.666 li 153.958 108.21 154.019 107.729 154.084 107.145 cv 155.257 96.4351 li 156.43 85.7256 li 156.608 84.0791 156.663 83.1406 156.725 81.7559 cv 156.485 83.1211 156.335 84.0498 156.153 85.6948 cv 154.98 96.4043 li 153.807 107.114 li 153.679 108.305 153.615 109.126 153.566 110.012 cv 152.867 101.424 li 151.324 82.4648 li 151.085 79.5508 150.903 77.9023 150.616 75.4751 cv 150.726 77.9165 150.812 79.5732 151.046 82.4873 cv 152.589 101.448 li 153.278 109.929 li 145.552 86.5435 li 144.316 82.8086 143.571 80.7056 142.455 77.6133 cv 143.401 80.7612 144.056 82.8945 145.288 86.6304 cv 152.783 109.32 li 152.682 109.099 152.57 108.864 152.44 108.599 cv 149.196 102.039 li 145.951 95.4785 li 145.451 94.4712 145.125 93.9209 144.628 93.1177 cv 144.965 93.9995 145.205 94.5928 145.701 95.6021 cv 148.945 102.163 li 152.19 108.723 li 152.407 109.159 152.59 109.503 152.769 109.826 cv 138.674 90.48 li 136.356 87.3027 135.004 85.5283 132.997 82.9248 cv 134.86 85.6328 136.135 87.4648 138.449 90.6445 cv 152.385 109.772 li 149.844 107.259 li 149.236 106.662 148.859 106.356 148.29 105.919 cv 148.734 106.482 149.043 106.856 149.648 107.457 cv 150.089 107.894 li 142.453 101.191 li 134.308 94.0435 li 133.055 92.9468 132.313 92.3604 131.208 91.5088 cv 132.196 92.4932 132.874 93.1528 134.124 94.2529 cv 142.269 101.401 li 150.414 108.549 li 151.282 109.309 151.906 109.824 152.574 110.352 cv 152.621 110.397 li 148.954 108.245 li 131.422 97.9482 li 128.727 96.3682 127.174 95.5122 124.878 94.2666 cv 127.084 95.6655 128.587 96.6045 131.281 98.189 cv 148.813 108.485 li 152.507 110.655 li 151.643 110.293 150.839 109.976 149.652 109.547 cv 139.069 105.741 li 128.485 101.935 li 126.858 101.351 125.919 101.064 124.53 100.66 cv 125.859 101.233 126.765 101.609 128.391 102.196 cv 138.974 106.002 li 149.558 109.809 li 150.911 110.293 151.8 110.576 152.855 110.889 cv 152.81 110.886 li 152.343 110.76 151.891 110.655 151.246 110.539 cv 145.038 109.436 li 138.83 108.333 li 137.876 108.166 137.327 108.117 136.514 108.063 cv 137.295 108.293 137.829 108.436 138.781 108.607 cv 144.989 109.71 li 150.578 110.703 li 134.983 109.431 li 131.636 109.159 129.734 109.053 126.931 108.913 cv 129.719 109.229 131.613 109.433 134.96 109.708 cv 150.705 110.995 li 150.264 111.002 li 128.417 111.397 li 125.06 111.46 123.156 111.543 120.354 111.683 cv 123.16 111.721 125.065 111.735 128.422 111.676 cv 150.269 111.281 li 152.338 111.245 li 151.647 111.345 150.973 111.458 150.041 111.646 cv 140.712 113.542 li 131.383 115.438 li 129.95 115.731 129.146 115.943 127.967 116.274 cv 129.182 116.118 130.005 116 131.439 115.711 cv 140.768 113.815 li 150.096 111.92 li 151.117 111.71 151.819 111.542 152.564 111.343 cv 139.49 117.026 li 136.753 118.218 135.219 118.938 132.967 120.013 cv 135.291 119.101 136.862 118.47 139.601 117.282 cv 152.662 111.606 li 148.961 114.664 li 148.306 115.208 147.964 115.553 147.473 116.075 cv 148.078 115.69 148.48 115.419 149.139 114.878 cv 152.525 112.08 li 147.522 118.256 li 145.684 120.529 144.678 121.847 143.209 123.801 cv 144.816 121.959 145.897 120.702 147.739 118.432 cv 152.99 111.951 li 151.465 115.526 li 150.701 117.322 150.311 118.36 149.752 119.895 cv 150.475 118.43 150.954 117.43 151.722 115.635 cv 153.183 112.213 li 149.643 129.82 li 141.935 168.166 li 141.697 169.351 141.486 170.414 141.287 171.427 cv 141.278 171.439 li 141.285 171.433 140.087 172.976 139.479 175.003 cv 138.812 177.009 138.775 179.326 138.813 180.078 cv 138.87 181.479 139.025 182.272 139.37 183.386 cv 139.951 182.377 140.329 181.672 140.813 180.359 cv 141.065 179.678 141.772 177.635 141.966 175.604 cv 142.069 174.593 142.047 173.598 141.926 172.837 cv 141.815 172.116 141.628 171.632 141.547 171.469 cv 141.754 170.46 141.97 169.401 142.208 168.221 cv 149.917 129.875 li 153.506 112.015 li 154.762 120.631 li 155.107 122.989 155.349 124.32 155.724 126.277 cv 155.525 124.294 155.378 122.949 155.037 120.591 cv 153.924 112.936 li 154.63 115.284 li 154.968 116.399 155.205 117.019 155.57 117.926 cv 155.375 116.968 155.23 116.32 154.897 115.204 cv 154.014 112.263 li 157.214 117.967 li 163.428 129.047 li 164.385 130.75 164.969 131.691 165.844 133.071 cv 165.124 131.605 164.624 130.615 163.671 128.912 cv 157.457 117.831 li 154.328 112.25 li 164.676 124.339 li 166.661 126.655 167.822 127.938 169.546 129.815 cv 167.958 127.822 166.869 126.476 164.888 124.158 cv 154.06 111.508 li 154.657 111.801 li 170.259 119.471 li 172.657 120.647 174.038 121.273 176.081 122.178 cv 174.117 121.113 172.778 120.402 170.381 119.221 cv 155.478 111.894 li 156.539 112.252 li 163.725 114.678 li 164.83 115.049 165.472 115.215 166.422 115.442 cv 165.528 115.046 164.917 114.789 163.814 114.415 cv 156.627 111.988 li 154.907 111.407 li 157.655 111.766 li 176.917 114.291 li cp f 125.176 177.678 mo 124.655 176.517 123.796 175.678 123.563 175.558 cv 123.343 174.944 123.11 174.301 122.849 173.584 cv 114.27 150.13 li 110.376 139.482 li 113.741 143.531 li 114.715 144.7 115.304 145.334 116.185 146.255 cv 115.44 145.22 114.926 144.525 113.956 143.353 cv 111.225 140.066 li 111.896 140.665 li 112.453 141.16 112.801 141.405 113.324 141.753 cv 112.919 141.272 112.636 140.955 112.082 140.458 cv 110.964 139.459 li 114.203 141.271 li 121.281 145.235 li 122.37 145.842 123.011 146.146 123.963 146.577 cv 123.098 145.99 122.504 145.603 121.417 144.992 cv 114.339 141.029 li 111.219 139.281 li 120.4 142.258 li 122.253 142.856 123.318 143.151 124.893 143.569 cv 123.373 142.982 122.337 142.596 120.486 141.993 cv 110.606 138.789 li 110.784 138.772 li 121.838 137.751 li 123.537 137.592 124.495 137.456 125.907 137.236 cv 124.479 137.278 123.511 137.319 121.812 137.474 cv 112.02 138.378 li 116.693 137.318 li 117.419 137.151 117.821 137.011 118.408 136.786 cv 117.781 136.837 117.358 136.884 116.632 137.046 cv 111.906 138.119 li 111.275 138.262 li 112.423 137.75 li 123.756 132.708 li 125.497 131.931 126.465 131.447 127.884 130.719 cv 126.393 131.285 125.385 131.68 123.643 132.453 cv 112.31 137.496 li 111.606 137.809 li 118.648 133.351 li 120.089 132.438 120.881 131.878 122.038 131.042 cv 120.786 131.729 119.942 132.205 118.5 133.116 cv 111.526 137.529 li 120.891 129.579 li 122.373 128.316 123.184 127.565 124.366 126.444 cv 123.068 127.429 122.196 128.107 120.71 129.366 cv 111.052 137.567 li 110.88 137.713 li 112.344 135.845 li 118.457 128.053 li 119.394 126.855 119.89 126.146 120.604 125.09 cv 119.749 126.036 119.179 126.685 118.237 127.882 cv 112.125 135.673 li 110.846 137.303 li 110.857 137.283 110.867 137.268 110.879 137.246 cv 113.149 133.094 li 115.419 128.942 li 115.767 128.303 115.923 127.918 116.136 127.342 cv 115.767 127.833 115.526 128.172 115.175 128.809 cv 112.905 132.96 li 110.635 137.113 li 110.572 137.229 110.521 137.329 110.469 137.43 cv 112.927 129.643 li 113.525 127.74 113.82 126.647 114.236 125.03 cv 113.65 126.593 113.263 127.658 112.661 129.56 cv 110.769 135.551 li 113.375 123.926 li 113.941 121.389 114.217 119.938 114.605 117.799 cv 114.043 119.9 113.673 121.329 113.103 123.865 cv 110.029 137.58 li 110.014 136.973 li 109.587 120.058 li 109.52 117.458 109.435 115.986 109.291 113.816 cv 109.257 115.99 109.246 117.465 109.309 120.065 cv 109.719 136.346 li 109.692 136.119 109.664 135.886 109.626 135.62 cv 108.464 127.296 li 107.301 118.972 li 107.121 117.693 106.971 116.974 106.734 115.917 cv 106.795 116.999 106.849 117.73 107.026 119.01 cv 108.188 127.334 li 109.351 135.658 li 109.46 136.429 109.56 136.997 109.672 137.558 cv 105.692 126.676 li 104.371 123.073 103.578 121.045 102.394 118.064 cv 103.411 121.106 104.114 123.167 105.43 126.772 cv 108.841 136.097 li 106.032 130.132 li 103.101 123.909 li 102.648 122.954 102.35 122.433 101.893 121.671 cv 102.188 122.508 102.4 123.071 102.848 124.029 cv 105.779 130.251 li 108.71 136.475 li 108.92 136.918 109.097 137.265 109.272 137.589 cv 106.39 133.64 li 99.2305 123.828 li 98.1289 122.322 97.4658 121.494 96.4746 120.287 cv 97.3218 121.6 97.9067 122.483 99.0059 123.992 cv 106.165 133.805 li 109.115 137.85 li 97.4365 127.962 li 95.519 126.341 94.4004 125.458 92.7417 124.169 cv 94.2856 125.593 95.3408 126.551 97.2568 128.175 cv 108.313 137.536 li 104.579 135.183 li 100.624 132.69 li 100.015 132.309 99.6445 132.132 99.0894 131.888 cv 99.5498 132.283 99.8687 132.541 100.475 132.926 cv 104.43 135.417 li 108.384 137.91 li 108.417 137.931 108.443 137.946 108.476 137.965 cv 94.9878 132.391 li 92.667 131.434 91.3315 130.934 89.3589 130.215 cv 91.2642 131.099 92.5625 131.688 94.8818 132.648 cv 108.268 138.181 li 106.654 137.802 li 106.125 137.68 105.813 137.656 105.35 137.639 cv 105.563 137.735 105.743 137.813 105.936 137.882 cv 100.609 136.961 li 93.7935 135.781 li 92.7456 135.603 92.1436 135.547 91.2534 135.483 cv 92.1138 135.723 92.6992 135.873 93.7461 136.056 cv 100.562 137.235 li 107.378 138.415 li 107.866 138.498 108.254 138.553 108.624 138.596 cv 106.489 138.635 li 93.5098 138.869 li 91.5151 138.907 90.3843 138.976 88.7197 139.095 cv 90.3877 139.154 91.52 139.181 93.5146 139.148 cv 106.494 138.914 li 108.613 138.876 li 108.222 138.935 107.811 139.007 107.293 139.113 cv 100.261 140.567 li 93.228 142.021 li 92.1479 142.246 91.5444 142.42 90.6597 142.694 cv 91.5806 142.594 92.2036 142.515 93.2842 142.293 cv 100.317 140.84 li 107.35 139.386 li 107.8 139.292 108.16 139.207 108.5 139.119 cv 108.494 139.122 108.489 139.124 108.483 139.125 cv 104.735 140.595 li 100.985 142.064 li 100.411 142.293 100.101 142.466 99.6523 142.737 cv 100.166 142.631 100.51 142.548 101.087 142.324 cv 104.836 140.854 li 107.208 139.924 li 99.2549 143.941 li 97.3418 144.91 96.2778 145.5 94.7192 146.387 cv 96.3579 145.66 97.4653 145.154 99.3804 144.189 cv 107.483 140.098 li 96.3252 147.204 li 94.5186 148.358 93.5186 149.051 92.0557 150.089 cv 93.6143 149.202 94.6655 148.589 96.4751 147.439 cv 108.242 139.945 li 108.799 139.591 li 108.609 139.752 108.412 139.925 108.18 140.14 cv 103.731 144.282 li 99.2813 148.424 li 98.5991 149.061 98.2437 149.458 97.7334 150.055 cv 98.3652 149.588 98.7861 149.262 99.4712 148.627 cv 103.92 144.485 li 108.37 140.344 li 108.676 140.058 108.912 139.823 109.129 139.594 cv 104.221 146.594 li 103.129 148.155 102.547 149.068 101.706 150.423 cv 102.693 149.17 103.354 148.313 104.449 146.753 cv 109.465 139.601 li 108.587 142.161 li 108.412 142.676 108.357 142.983 108.294 143.442 cv 108.525 143.042 108.671 142.765 108.85 142.251 cv 109.596 140.08 li 108.996 144.612 li 108.753 146.462 108.662 147.518 108.545 149.076 cv 108.838 147.542 109.025 146.498 109.272 144.649 cv 109.925 139.724 li 110.234 141.823 li 110.417 143.057 110.568 143.749 110.808 144.767 cv 110.744 143.723 110.689 143.016 110.51 141.783 cv 110.235 139.91 li 114.008 150.226 li 122.587 173.68 li 122.85 174.397 123.088 175.039 123.316 175.652 cv 123.315 175.659 li 123.317 175.652 123.179 176.9 123.525 178.215 cv 123.833 179.538 124.589 180.818 124.863 181.216 cv 125.364 181.962 125.729 182.335 126.312 182.805 cv 126.324 182.058 126.312 181.544 126.139 180.664 cv 126.048 180.208 125.751 178.855 125.176 177.678 cv cp f 206.805 121.029 mo 209.757 121.561 211.439 121.816 213.92 122.174 cv 211.471 121.641 209.806 121.291 206.855 120.755 cv 187.652 117.282 li 186.579 117.088 li 190.981 116.987 li 206.229 116.642 li 208.573 116.585 209.901 116.507 211.857 116.374 cv 209.897 116.33 208.567 116.312 206.223 116.362 cv 190.975 116.708 li 186.719 116.805 li 187.062 116.755 187.421 116.697 187.865 116.614 cv 195.028 115.255 li 202.19 113.896 li 203.291 113.685 203.907 113.519 204.809 113.257 cv 203.873 113.344 203.24 113.416 202.139 113.622 cv 194.976 114.981 li 187.813 116.34 li 187.239 116.45 186.797 116.549 186.377 116.655 cv 198.903 111.62 li 201.753 110.472 203.353 109.777 205.702 108.737 cv 203.286 109.612 201.651 110.218 198.799 111.361 cv 188.182 115.628 li 206.135 106.565 li 209.709 104.758 211.716 103.692 214.663 102.105 cv 211.636 103.533 209.586 104.514 206.01 106.316 cv 186.141 116.345 li 187.309 115.335 li 207.021 98.2856 li 210.048 95.6641 211.735 94.1421 214.208 91.8857 cv 211.619 94.0073 209.869 95.457 206.839 98.0752 cv 187.127 115.124 li 186.653 115.534 li 187.218 114.961 187.794 114.36 188.536 113.557 cv 197.306 104.034 li 206.078 94.5117 li 207.423 93.0474 208.153 92.1846 209.213 90.9014 cv 208.022 92.0635 207.222 92.8608 205.873 94.3232 cv 197.102 103.846 li 188.331 113.369 li 187.298 114.493 186.626 115.264 185.892 116.141 cv 195.318 100.137 li 198.316 95.0425 199.976 92.1299 202.405 87.8296 cv 199.823 92.0391 198.08 94.9038 195.078 99.9956 cv 186.375 114.771 li 186.567 114.391 186.766 113.989 186.997 113.504 cv 191.538 103.931 li 196.08 94.3574 li 196.775 92.8853 197.128 92.0303 197.63 90.7632 cv 196.967 91.9541 196.528 92.7681 195.828 94.2383 cv 191.287 103.811 li 186.746 113.385 li 186.247 114.438 185.926 115.177 185.599 115.976 cv 187.709 107.798 li 192.385 89.6826 li 193.102 86.8984 193.463 85.3071 193.977 82.9595 cv 193.291 85.2632 192.836 86.8301 192.115 89.6138 cv 187.439 107.729 li 185.352 115.811 li 185.708 91.6143 li 185.764 87.7466 185.748 85.5518 185.707 82.3198 cv 185.57 85.5498 185.49 87.7427 185.43 91.6104 cv 185.083 115.061 li 185.061 114.835 185.034 114.595 185 114.324 cv 184.101 107.18 li 183.201 100.036 li 183.061 98.939 182.934 98.3223 182.73 97.416 cv 182.758 98.3442 182.789 98.9731 182.924 100.071 cv 183.824 107.215 li 184.724 114.359 li 184.784 114.821 184.841 115.191 184.902 115.541 cv 178.05 93.0493 li 176.921 89.3506 176.235 87.2651 175.208 84.1997 cv 176.065 87.3169 176.658 89.4302 177.784 93.1309 cv 184.558 115.367 li 183.02 112.236 li 182.649 111.484 182.396 111.079 182.008 110.49 cv 182.236 111.158 182.403 111.606 182.77 112.358 cv 183.024 112.875 li 178.11 104.223 li 172.848 94.9565 li 172.037 93.5342 171.536 92.75 170.784 91.6045 cv 171.382 92.8379 171.798 93.6694 172.605 95.0947 cv 177.868 104.361 li 183.13 113.627 li 183.69 114.609 184.104 115.287 184.553 115.99 cv 184.579 116.042 li 181.876 112.872 li 168.903 97.6538 li 166.908 95.3159 165.74 94.021 164.007 92.125 cv 165.605 94.1362 166.699 95.4941 168.691 97.8345 cv 181.664 113.052 li 184.382 116.242 li 183.702 115.631 183.061 115.08 182.104 114.305 cv 173.498 107.356 li 164.891 100.408 li 163.568 99.3423 162.787 98.7734 161.626 97.9512 cv 162.675 98.9121 163.396 99.5557 164.716 100.625 cv 173.323 107.574 li 181.93 114.522 li 183.025 115.404 183.759 115.952 184.635 116.579 cv 184.602 116.564 li 184.209 116.298 183.824 116.055 183.264 115.74 cv 177.853 112.714 li 172.442 109.688 li 171.609 109.224 171.113 109.003 170.375 108.692 cv 171.027 109.158 171.475 109.464 172.306 109.931 cv 177.717 112.957 li 182.544 115.657 li 168.516 109.467 li 165.494 108.136 163.761 107.424 161.201 106.392 cv 163.689 107.587 165.383 108.387 168.403 109.722 cv 182.576 115.976 li 182.202 115.854 li 161.779 109.176 li 158.64 108.152 156.845 107.616 154.195 106.843 cv 156.79 107.785 158.555 108.413 161.692 109.441 cv 182.115 116.119 li 184.025 116.743 li 183.36 116.616 182.702 116.505 181.787 116.381 cv 172.51 115.136 li 163.232 113.89 li 161.806 113.701 160.991 113.64 159.788 113.568 cv 160.967 113.817 161.769 113.973 163.195 114.166 cv 172.472 115.412 li 181.75 116.657 li 182.756 116.791 183.459 116.859 184.208 116.914 cv 170.254 117.977 li 167.328 118.202 165.672 118.376 163.233 118.651 cv 165.685 118.554 167.349 118.476 170.276 118.255 cv 184.219 117.194 li 179.815 118.834 li 179.031 119.129 178.603 119.34 177.978 119.668 cv 178.665 119.506 179.126 119.386 179.913 119.096 cv 183.935 117.597 li 177.315 121.712 li 174.874 123.231 173.514 124.133 171.521 125.476 cv 173.608 124.284 175.019 123.464 177.461 121.948 cv 184.416 117.628 li 181.859 120.443 li 180.571 121.866 179.874 122.705 178.861 123.951 cv 180.005 122.824 180.773 122.05 182.065 120.631 cv 184.505 117.947 li 175.557 133.138 li 156.037 166.28 li 155.433 167.305 154.894 168.226 154.381 169.104 cv 154.371 169.112 li 154.379 169.107 152.77 170.155 151.551 171.843 cv 150.286 173.493 149.505 175.633 149.298 176.344 cv 148.9 177.664 148.789 178.451 148.75 179.598 cv 149.618 178.848 150.195 178.315 151.069 177.252 cv 151.522 176.7 152.837 175.03 153.672 173.205 cv 154.095 172.299 154.394 171.367 154.526 170.621 cv 154.657 169.915 154.638 169.404 154.615 169.227 cv 155.133 168.356 155.675 167.442 156.277 166.42 cv 175.797 133.279 li 184.885 117.851 li 183.272 126.25 li 182.833 128.552 182.629 129.867 182.348 131.807 cv 182.804 129.9 183.102 128.604 183.546 126.302 cv 184.978 118.848 li 184.88 121.242 li 184.836 122.388 184.857 123.04 184.907 124 cv 185.036 123.047 185.11 122.399 185.159 121.253 cv 185.282 118.263 li 186.413 124.567 li 188.616 136.863 li 188.957 138.752 189.196 139.815 189.566 141.378 cv 189.371 139.784 189.227 138.704 188.891 136.813 cv 186.687 124.519 li 185.583 118.348 li 191.292 132.894 li 192.39 135.685 193.056 137.251 194.055 139.55 cv 193.222 137.186 192.646 135.585 191.551 132.792 cv 185.572 117.559 li 186.025 118.017 li 198.048 130.17 li 199.897 132.036 200.98 133.061 202.586 134.559 cv 201.106 132.936 200.093 131.843 198.247 129.974 cv 186.788 118.392 li 187.628 119.042 li 193.523 123.614 li 194.43 124.315 194.973 124.675 195.785 125.191 cv 195.082 124.535 194.598 124.098 193.693 123.394 cv 187.799 118.822 li 186.408 117.743 li 188.825 118.954 li 205.905 127.506 li 208.531 128.819 210.042 129.522 212.274 130.541 cv 210.121 129.363 208.654 128.574 206.03 127.257 cv 188.95 118.704 li 186.969 117.711 li 200.129 122.054 li 202.625 122.875 204.056 123.295 206.167 123.899 cv 204.112 123.126 202.711 122.614 200.217 121.789 cv 187.13 117.471 li 187.602 117.556 li 206.805 121.029 li cp f 124.432 198.488 mo 123.742 198.303 121.677 197.792 119.669 197.785 cv 118.67 197.774 117.697 197.886 116.963 198.074 cv 116.267 198.246 115.811 198.474 115.658 198.567 cv 114.652 198.455 113.598 198.338 112.42 198.211 cv 74.1772 194.097 li 56.3799 192.183 li 64.6875 190.187 li 66.9653 189.638 68.2471 189.281 70.1299 188.737 cv 68.2051 189.108 66.9019 189.372 64.6226 189.917 cv 57.2466 191.687 li 59.4648 190.789 li 60.5269 190.357 61.1113 190.069 61.9658 189.627 cv 61.0449 189.904 60.4243 190.103 59.3604 190.531 cv 56.5874 191.652 li 61.8623 188.023 li 72.1538 180.944 li 73.7344 179.854 74.6035 179.198 75.875 178.215 cv 74.5034 179.051 73.5791 179.628 71.9961 180.714 cv 61.7046 187.793 li 56.542 191.343 li 67.4341 180.14 li 69.5234 177.989 70.6748 176.736 72.3574 174.877 cv 70.5469 176.612 69.3267 177.798 67.2339 179.946 cv 55.8276 191.677 li 56.0562 191.079 li 62.1665 175.11 li 63.103 172.656 63.5908 171.247 64.292 169.165 cv 63.4243 171.183 62.8462 172.559 61.9063 175.011 cv 56.082 190.23 li 56.3291 189.191 li 58.0571 181.935 li 58.3208 180.82 58.4248 180.176 58.5601 179.224 cv 58.252 180.135 58.0542 180.755 57.7866 181.871 cv 56.0576 189.126 li 55.6494 190.838 li 55.7549 188.139 li 56.5015 169.053 li 56.6138 166.12 56.6304 164.454 56.6377 162 cv 56.4526 164.447 56.3394 166.109 56.2222 169.042 cv 55.4766 188.128 li 55.3892 190.345 li 53.9155 176.559 li 53.6333 173.946 53.4268 172.47 53.1055 170.297 cv 53.2505 172.489 53.3608 173.975 53.6382 176.588 cv 55.1035 190.295 li 54.9863 189.828 li 50.2275 170.901 li 49.4941 167.993 49.0327 166.355 48.3354 163.947 cv 48.8604 166.398 49.2285 168.06 49.9575 170.968 cv 54.7163 189.896 li 54.9829 190.957 li 53.0732 186.985 li 46.4673 173.241 li 45.4502 171.129 44.8315 169.953 43.9028 168.227 cv 44.6709 170.029 45.2031 171.249 46.2163 173.362 cv 52.8223 187.105 li 54.6646 190.941 li 54.4795 190.65 54.2788 190.347 54.0205 189.979 cv 49.8286 184.014 li 45.6362 178.05 li 44.9902 177.135 44.5859 176.642 43.9746 175.928 cv 44.4399 176.745 44.7656 177.292 45.4082 178.21 cv 49.6006 184.175 li 53.7925 190.139 li 54.1294 190.616 54.4009 190.978 54.6699 191.316 cv 44.9194 181.985 li 42.6982 179.863 41.4058 178.692 39.4897 176.981 cv 41.2827 178.821 42.5088 180.061 44.7266 182.187 cv 52.9917 190.098 li 37.3291 177.479 li 34.209 174.968 32.4102 173.58 29.7485 171.55 cv 32.2983 173.719 34.0376 175.182 37.1548 177.696 cv 54.4844 191.66 li 53.0845 191.013 li 29.4214 180.088 li 25.7837 178.411 23.7012 177.502 20.626 176.181 cv 23.6265 177.664 25.6685 178.66 29.3047 180.341 cv 52.9673 191.266 li 53.5283 191.526 li 52.7759 191.248 51.9927 190.972 50.9585 190.628 cv 38.6636 186.565 li 26.3691 182.503 li 24.479 181.881 23.3921 181.573 21.7856 181.135 cv 23.3364 181.741 24.3926 182.141 26.2813 182.768 cv 38.5762 186.831 li 50.8706 190.893 li 52.3169 191.369 53.2949 191.663 54.3931 191.969 cv 35.9351 189.983 li 30.0581 189.354 26.7192 189.042 21.8003 188.603 cv 26.7007 189.219 30.0283 189.626 35.9058 190.26 cv 52.9805 192.097 li 52.5488 192.078 52.0933 192.062 51.5449 192.052 cv 40.9502 191.863 li 30.3555 191.674 li 28.7271 191.646 27.8027 191.678 26.4409 191.743 cv 27.7998 191.856 28.7222 191.92 30.3506 191.952 cv 40.9448 192.141 li 51.54 192.331 li 52.7056 192.35 53.5112 192.338 54.3745 192.307 cv 46.0479 193.757 li 27.6152 196.967 li 24.7822 197.462 23.1836 197.789 20.8325 198.289 cv 23.2144 197.964 24.8296 197.732 27.6626 197.241 cv 46.0957 194.032 li 54.3281 192.6 li 32.1328 202.252 li 28.5864 203.797 26.5938 204.717 23.6655 206.087 cv 26.665 204.88 28.6958 204.048 32.2446 202.508 cv 53.7554 193.152 li 53.5586 193.266 53.3496 193.39 53.1157 193.533 cv 46.9785 197.299 li 40.8418 201.065 li 39.8999 201.646 39.3906 202.016 38.6489 202.575 cv 39.4834 202.167 40.0435 201.88 40.9873 201.303 cv 47.1245 197.537 li 53.2617 193.771 li 53.6572 193.526 53.9692 193.322 54.2612 193.124 cv 36.5991 208.637 li 33.6943 211.191 32.0771 212.675 29.708 214.875 cv 32.1953 212.809 33.875 211.397 36.7827 208.846 cv 54.2466 193.507 li 52.0269 196.201 li 51.4961 196.849 51.231 197.246 50.854 197.843 cv 51.3682 197.359 51.7075 197.023 52.2422 196.378 cv 52.6133 195.927 li 46.7563 203.976 li 40.4858 212.592 li 39.5239 213.917 39.0166 214.696 38.2832 215.854 cv 39.1602 214.8 39.7456 214.078 40.7109 212.755 cv 46.9814 204.14 li 53.252 195.524 li 53.918 194.606 54.3652 193.949 54.8218 193.248 cv 54.853 193.21 li 53.0796 196.979 li 44.5635 215.071 li 43.2563 217.853 42.5576 219.449 41.5449 221.81 cv 42.7188 219.525 43.5044 217.969 44.8154 215.189 cv 53.3315 197.098 li 55.1182 193.303 li 54.8423 194.175 54.603 194.987 54.292 196.178 cv 51.5098 206.883 li 48.7271 217.589 li 48.3013 219.234 48.106 220.18 47.8345 221.577 cv 48.2783 220.225 48.5674 219.304 48.9971 217.659 cv 51.7793 206.954 li 54.562 196.249 li 54.9146 194.886 55.1104 193.991 55.3208 192.935 cv 55.3208 192.972 li 55.2402 193.438 55.1772 193.891 55.1216 194.53 cv 54.5967 200.709 li 54.0728 206.888 li 53.9941 207.838 53.9961 208.381 54.0181 209.182 cv 54.1743 208.396 54.2676 207.861 54.3506 206.912 cv 54.8745 200.733 li 55.3428 195.223 li 55.4858 210.554 li 55.5186 213.855 55.585 215.728 55.6992 218.485 cv 55.7627 215.726 55.7935 213.853 55.7646 210.551 cv 55.6196 195.053 li 55.6636 195.451 li 58.0044 216.81 li 58.3657 220.091 58.6172 221.948 59.0068 224.68 cv 58.7944 221.928 58.6382 220.061 58.2813 216.779 cv 55.9404 195.42 li 55.7222 193.423 li 55.8799 194.082 56.0508 194.727 56.3145 195.611 cv 59.0059 204.577 li 61.6968 213.542 li 62.1128 214.919 62.3936 215.687 62.8242 216.813 cv 62.564 215.635 62.3755 214.84 61.9639 213.462 cv 59.2725 204.497 li 56.5815 195.532 li 56.2881 194.56 56.0605 193.891 55.8018 193.186 cv 62.5234 205.458 li 63.9355 208.031 64.7773 209.468 66.0332 211.577 cv 64.9331 209.383 64.1753 207.899 62.7676 205.324 cv 56.0508 193.06 li 59.3623 196.394 li 59.9546 196.987 60.3237 197.291 60.8804 197.724 cv 60.4502 197.165 60.1494 196.793 59.5605 196.198 cv 56.5376 193.154 li 63.0127 197.486 li 65.4033 199.083 66.7852 199.949 68.8315 201.211 cv 66.8843 199.801 65.5552 198.854 63.1675 197.254 cv 56.3677 192.703 li 59.9888 193.871 li 61.8159 194.457 62.8672 194.746 64.4209 195.153 cv 62.9219 194.577 61.9004 194.196 60.0747 193.604 cv 56.6138 192.488 li 74.1475 194.374 li 112.391 198.488 li 113.572 198.614 114.63 198.726 115.64 198.83 cv 115.653 198.838 li 115.645 198.832 117.264 199.866 119.304 200.281 cv 121.329 200.753 123.601 200.582 124.334 200.477 cv 125.701 200.296 126.465 200.072 127.524 199.634 cv 126.484 199.152 125.761 198.845 124.432 198.488 cv cp f 122.662 185.34 mo 122.329 184.806 121.306 183.237 120.018 182.024 cv 118.803 180.801 117.299 180.142 116.961 180.107 cv 116.384 179.431 115.776 178.724 115.097 177.936 cv 92.9653 152.293 li 82.7305 140.435 li 89.1929 144.096 li 90.9897 145.11 92.0322 145.646 93.5762 146.418 cv 92.1191 145.492 91.1245 144.872 89.3301 143.854 cv 83.7168 140.672 li 85.4683 141.345 li 86.4106 141.706 86.9624 141.867 87.7813 142.087 cv 87.0264 141.701 86.5088 141.45 85.5679 141.086 cv 83.249 140.193 li 88.6763 141.008 li 99.5542 142.642 li 101.226 142.892 102.181 142.986 103.591 143.108 cv 102.208 142.811 101.267 142.62 99.5957 142.367 cv 88.7183 140.732 li 83.4287 139.936 li 97.0034 139.288 li 99.6421 139.159 101.136 139.039 103.335 138.845 cv 101.127 138.862 99.6284 138.885 96.9902 139.009 cv 82.6772 139.693 li 83.1143 139.479 li 96.6489 132.88 li 98.7271 131.865 99.8862 131.246 101.585 130.318 cv 99.8081 131.086 98.6074 131.618 96.5264 132.63 cv 83.8511 138.81 li 84.4243 138.43 li 89.9014 134.802 li 90.7417 134.244 91.1929 133.887 91.8467 133.347 cv 91.0942 133.738 90.5898 134.015 89.7476 134.57 cv 84.271 138.198 li 83.1206 138.959 li 84.689 137.407 li 96.6465 125.574 li 98.4824 123.754 99.4907 122.688 100.963 121.106 cv 99.3657 122.562 98.2891 123.559 96.4502 125.376 cv 84.4927 137.209 li 83.2686 138.42 li 90.4717 128.846 li 91.8613 126.996 92.6118 125.918 93.7031 124.32 cv 92.4697 125.811 91.6421 126.831 90.249 128.678 cv 83.0947 138.187 li 83.1841 138.025 li 91.5039 122.987 li 92.7798 120.676 93.4634 119.341 94.4536 117.368 cv 93.3071 119.255 92.54 120.542 91.2598 122.853 cv 82.9399 137.891 li 82.5532 138.589 li 83.6626 135.046 li 87.6782 122.231 li 88.2935 120.26 88.5977 119.129 89.0278 117.457 cv 88.4272 119.076 88.0317 120.178 87.4121 122.147 cv 83.397 134.963 li 82.3525 138.294 li 82.3931 138.065 82.4326 137.821 82.4731 137.536 cv 83.3613 131.177 li 84.249 124.818 li 84.3833 123.841 84.4131 123.28 84.439 122.451 cv 84.2368 123.256 84.1118 123.803 83.9731 124.78 cv 83.085 131.138 li 82.1968 137.497 li 82.1387 137.921 82.1025 138.261 82.0752 138.584 cv 81.4233 126.917 li 81.2705 124.216 81.1362 122.686 80.9214 120.433 cv 80.9585 122.695 80.9961 124.231 81.145 126.932 cv 81.6846 136.605 li 79.2485 119.452 li 78.7505 115.96 78.4214 113.985 77.9189 111.081 cv 78.2456 114.011 78.479 115.998 78.9722 119.491 cv 81.71 138.766 li 81.248 137.631 li 72.5938 116.374 li 71.2612 113.107 70.4624 111.272 69.269 108.577 cv 70.2979 111.339 71.0073 113.21 72.3354 116.478 cv 80.9897 137.736 li 81.0605 137.909 li 80.7891 137.372 80.4946 136.807 80.1108 136.104 cv 74.6436 126.099 li 69.1763 116.095 li 68.334 114.559 67.8149 113.71 67.0352 112.468 cv 67.6587 113.795 68.0933 114.69 68.9312 116.229 cv 74.3984 126.233 li 79.8662 136.237 li 80.4766 137.352 80.9189 138.105 81.4126 138.908 cv 70.8335 126.652 li 67.4307 122.713 65.4648 120.509 62.5562 117.275 cv 65.3301 120.625 67.2227 122.892 70.6226 126.834 cv 80.207 137.939 li 80.0278 137.759 79.8438 137.575 79.6289 137.367 cv 72.9253 130.873 li 66.2222 124.379 li 65.1904 123.383 64.5723 122.852 63.6499 122.082 cv 64.4487 122.98 64.9995 123.581 66.0283 124.58 cv 72.7319 131.073 li 79.4351 137.567 li 80.1157 138.225 80.6187 138.679 81.1455 139.134 cv 75.0649 135.158 li 61.2734 126.14 li 59.1533 124.755 57.9248 124.01 56.105 122.926 cv 57.8271 124.158 59.0024 124.985 61.1211 126.373 cv 74.9126 135.392 li 80.9521 139.342 li 60.9971 132.254 li 57.7856 131.115 55.9487 130.514 53.2373 129.646 cv 55.8892 130.682 57.6938 131.374 60.9033 132.516 cv 80.1299 139.345 li 80.0034 139.317 79.8843 139.29 79.7412 139.259 cv 73.5288 137.992 li 67.3164 136.724 li 66.3613 136.531 65.8101 136.467 64.9946 136.392 cv 65.7744 136.642 66.3062 136.8 67.2603 136.997 cv 73.4727 138.265 li 79.6851 139.533 li 79.9854 139.594 80.2393 139.638 80.4805 139.678 cv 60.0303 139.049 li 56.6255 138.947 54.6924 138.936 51.8447 138.937 cv 54.687 139.114 56.6167 139.221 60.022 139.328 cv 80.2778 139.951 li 77.4331 140.324 li 76.7017 140.422 76.2935 140.524 75.6934 140.693 cv 76.2969 140.702 76.7168 140.693 77.4077 140.607 cv 69.3618 142.155 li 60.146 143.929 li 58.7295 144.203 57.936 144.405 56.7695 144.72 cv 57.9692 144.58 58.7822 144.472 60.1982 144.202 cv 69.4146 142.429 li 78.6304 140.656 li 79.5669 140.475 80.231 140.323 80.9111 140.151 cv 77.6362 141.457 li 61.2783 147.978 li 58.7651 148.982 57.3574 149.595 55.2905 150.515 cv 57.4229 149.761 58.8672 149.237 61.3813 148.237 cv 77.7388 141.716 li 81.0024 140.415 li 80.3579 140.775 79.7432 141.137 78.895 141.672 cv 70.6685 146.888 li 62.4409 152.104 li 61.1782 152.907 60.4868 153.403 59.478 154.148 cv 60.582 153.553 61.3247 153.139 62.5903 152.339 cv 70.8169 147.124 li 79.0444 141.908 li 79.9443 141.335 80.5537 140.918 81.1948 140.457 cv 80.9585 140.642 80.7158 140.845 80.417 141.112 cv 76.3638 144.772 li 72.3101 148.433 li 71.689 148.997 71.3672 149.352 70.9067 149.887 cv 71.4868 149.483 71.8726 149.2 72.4971 148.639 cv 76.5503 144.979 li 79.9063 141.949 li 71.0181 151.645 li 69.0547 153.79 67.9756 155.038 66.3994 156.889 cv 68.1064 155.158 69.2568 153.975 71.2236 151.833 cv 80.2202 142.02 li 80.21 142.033 li 68.8726 157.184 li 67.1328 159.513 66.1826 160.862 64.7983 162.861 cv 66.3257 160.969 67.3516 159.678 69.0957 157.351 cv 80.4331 142.2 li 81.3652 140.955 li 81.105 141.413 80.8496 141.889 80.5308 142.53 cv 76.8711 149.918 li 73.2104 157.305 li 72.6504 158.442 72.374 159.107 71.9839 160.095 cv 72.5337 159.186 72.896 158.564 73.4604 157.429 cv 77.1201 150.042 li 80.7808 142.654 li 81.1436 141.919 81.3853 141.379 81.6177 140.823 cv 78.604 152.606 li 77.9658 155.112 77.6489 156.544 77.1997 158.659 cv 77.8213 156.588 78.2314 155.18 78.874 152.676 cv 81.8975 140.855 li 82.021 144.875 li 82.0454 145.612 82.106 146.029 82.2144 146.643 cv 82.2847 146.024 82.3198 145.604 82.2993 144.866 cv 82.189 141.262 li 83.7119 147.777 li 84.2905 150.242 84.6636 151.63 85.2314 153.67 cv 84.8364 151.589 84.5571 150.18 83.9834 147.713 cv 82.3721 140.81 li 83.9424 143.634 li 84.7656 145.11 85.2734 145.925 86.0371 147.116 cv 85.4292 145.838 85.0054 144.977 84.1855 143.498 cv 82.7065 140.835 li 92.7544 152.476 li 114.887 178.118 li 115.567 178.906 116.18 179.611 116.766 180.283 cv 116.771 180.3 li 116.769 180.292 117.189 181.934 118.255 183.43 cv 119.277 184.955 120.844 186.211 121.38 186.585 cv 122.371 187.291 123.001 187.601 123.952 187.946 cv 123.581 187.006 123.304 186.37 122.662 185.34 cv cp f 120.513 196.348 mo 120.188 195.996 119.198 194.969 118.059 194.244 cv 116.978 193.505 115.764 193.222 115.488 193.241 cv 114.964 192.82 114.414 192.38 113.799 191.893 cv 93.5977 175.887 li 84.4048 168.604 li 89.5786 170.361 li 91.0659 170.864 91.9248 171.105 93.1958 171.443 cv 91.9819 170.937 91.1543 170.604 89.668 170.097 cv 85.4331 168.657 li 86.4072 168.833 li 87.1631 168.968 87.6006 168.998 88.248 169.024 cv 87.6323 168.823 87.2119 168.698 86.4565 168.559 cv 84.895 168.276 li 88.7617 168.122 li 97.1274 167.79 li 98.4136 167.736 99.1411 167.66 100.211 167.528 cv 99.1333 167.481 98.4023 167.462 97.1167 167.511 cv 88.7505 167.844 li 85.0264 167.991 li 94.7495 165.65 li 96.7026 165.177 97.7993 164.863 99.4111 164.384 cv 97.7583 164.69 96.6387 164.911 94.6836 165.379 cv 84.2407 167.893 li 84.4067 167.768 li 93.5801 160.906 li 94.9878 159.85 95.7588 159.214 96.8833 158.262 cv 95.6523 159.072 94.8242 159.631 93.4136 160.683 cv 85.2246 166.809 li 85.2393 166.794 li 88.8154 163.301 li 89.3628 162.762 89.6411 162.423 90.0381 161.911 cv 89.5171 162.296 89.1719 162.566 88.6206 163.101 cv 85.0444 166.595 li 84.5352 167.092 li 85.2949 165.986 li 92.5435 155.436 li 93.6553 153.813 94.2476 152.867 95.105 151.462 cv 94.1011 152.766 93.4292 153.658 92.314 155.279 cv 85.0654 165.828 li 84.584 166.529 li 88.3989 158.763 li 89.1733 157.181 89.5703 156.264 90.1387 154.905 cv 89.4102 156.186 88.9268 157.061 88.1489 158.639 cv 84.3667 166.338 li 88.3379 154.23 li 88.9624 152.321 89.2715 151.223 89.7104 149.599 cv 89.1025 151.167 88.7017 152.235 88.0728 154.144 cv 83.9976 166.569 li 83.9106 166.832 li 84.1963 164.356 li 85.3682 154.205 li 85.5464 152.645 85.6006 151.754 85.6626 150.44 cv 85.4243 151.733 85.2739 152.613 85.0913 154.173 cv 83.9194 164.324 li 83.6675 166.507 li 83.6655 166.462 83.6655 166.426 83.6631 166.379 cv 83.4214 161.5 li 83.1797 156.622 li 83.1401 155.872 83.0708 155.45 82.9512 154.827 cv 82.8931 155.458 82.8657 155.886 82.9014 156.636 cv 83.1436 161.514 li 83.3848 166.393 li 83.3926 166.544 83.4028 166.675 83.4136 166.804 cv 81.3657 158.586 li 80.8657 156.589 80.5371 155.468 80.0347 153.82 cv 80.3643 155.51 80.6001 156.656 81.0952 158.654 cv 82.6885 165.053 li 78.6724 153.313 li 77.8018 150.774 77.2637 149.35 76.4536 147.256 cv 77.0957 149.407 77.542 150.863 78.4092 153.403 cv 83.1162 167.164 li 82.7554 166.608 li 73.2515 151.957 li 71.7896 149.707 70.9209 148.456 69.626 146.623 cv 70.7715 148.553 71.5591 149.856 73.0181 152.108 cv 82.2031 166.269 li 82.0454 166.069 81.8779 165.86 81.6855 165.625 cv 76.1719 158.927 li 70.6577 152.229 li 69.8091 151.201 69.291 150.648 68.5146 149.844 cv 69.1538 150.761 69.5977 151.375 70.4429 152.406 cv 75.9565 159.104 li 81.4707 165.802 li 81.9985 166.441 82.4004 166.896 82.814 167.343 cv 73.397 159.882 li 70.291 157.424 68.501 156.066 65.8521 154.082 cv 68.3896 156.206 70.1206 157.639 73.2236 160.1 cv 81.3213 166.516 li 75.5625 162.736 li 69.6255 158.84 li 68.7124 158.243 68.1689 157.943 67.3574 157.518 cv 68.0703 158.093 68.5615 158.472 69.4727 159.073 cv 75.4087 162.969 li 81.3457 166.865 li 81.7896 167.155 82.145 167.374 82.4878 167.572 cv 77.7676 165.63 li 66.1748 160.859 li 64.3931 160.127 63.3643 159.756 61.8418 159.226 cv 63.2964 159.921 64.2886 160.381 66.0688 161.116 cv 77.6616 165.888 li 82.4785 167.872 li 66.835 165.468 li 64.2729 165.077 62.813 164.901 60.6592 164.661 cv 62.7856 165.077 64.2314 165.348 66.7925 165.744 cv 81.627 168.022 li 77.0107 167.965 li 72.1865 167.905 li 71.4448 167.898 71.0234 167.941 70.4033 168.022 cv 71.0215 168.119 71.4414 168.172 72.1831 168.184 cv 77.0073 168.244 li 81.8306 168.304 li 81.8936 168.305 81.9429 168.303 82.0015 168.303 cv 67.0708 170.682 li 64.5122 171.092 63.0684 171.371 60.9438 171.799 cv 63.0962 171.547 64.5557 171.363 67.1147 170.958 cv 81.9326 168.596 li 80.2534 169.151 li 79.7207 169.329 79.4336 169.475 79.0161 169.707 cv 79.2798 169.671 79.5024 169.633 79.7339 169.582 cv 74.479 171.673 li 67.8442 174.314 li 66.8257 174.722 66.2656 174.997 65.4468 175.418 cv 66.3311 175.163 66.9277 174.977 67.9478 174.573 cv 74.5815 171.933 li 81.2158 169.292 li 81.7124 169.092 82.0986 168.926 82.4604 168.758 cv 80.5562 169.974 li 69.2627 177.182 li 67.5283 178.292 66.5698 178.96 65.1675 179.961 cv 66.6655 179.111 67.6753 178.523 69.4126 177.417 cv 80.7061 170.208 li 82.5957 169.002 li 82.272 169.274 81.9385 169.57 81.5234 169.958 cv 76.1196 175.032 li 70.7163 180.104 li 69.8877 180.886 69.4497 181.363 68.8169 182.08 cv 69.5718 181.493 70.0752 181.086 70.9067 180.309 cv 76.311 175.235 li 81.7139 170.162 li 82.0815 169.815 82.3677 169.531 82.6328 169.257 cv 82.6133 169.282 82.5972 169.3 82.5771 169.327 cv 80.0713 172.642 li 77.5645 175.955 li 77.1816 176.466 77.001 176.784 76.7505 177.263 cv 77.1431 176.892 77.3999 176.631 77.7871 176.124 cv 80.293 172.809 li 81.9429 170.628 li 77.0562 178.542 li 75.896 180.426 75.2769 181.52 74.3818 183.139 cv 75.4292 181.613 76.1289 180.57 77.293 178.688 cv 82.2622 170.641 li 76.2412 182.994 li 75.2734 184.983 74.7661 186.132 74.0366 187.833 cv 74.9268 186.21 75.5195 185.104 76.4917 183.116 cv 82.8003 170.173 li 83.127 169.504 li 83.041 169.765 82.9546 170.042 82.8589 170.381 cv 81.1792 176.425 li 79.499 182.47 li 79.2432 183.399 79.1426 183.938 79.0127 184.738 cv 79.314 183.986 79.5073 183.472 79.7676 182.544 cv 81.4478 176.5 li 83.1274 170.456 li 83.2476 170.02 83.332 169.671 83.4023 169.339 cv 82.8574 178.194 li 82.7388 180.157 82.7188 181.274 82.7061 182.92 cv 82.896 181.285 83.0122 180.174 83.1357 178.211 cv 83.6924 169.182 li 84.3066 171.941 li 84.4307 172.489 84.5464 172.789 84.7354 173.228 cv 84.7202 172.75 84.6987 172.429 84.5786 171.88 cv 84.0537 169.522 li 85.9868 173.87 li 86.771 175.629 87.2588 176.609 87.9941 178.043 cv 87.4219 176.536 87.0225 175.518 86.2417 173.757 cv 84.1479 169.044 li 85.5762 170.751 li 86.4038 171.737 86.9087 172.267 87.6665 173.034 cv 87.0454 172.152 86.6138 171.562 85.7905 170.573 cv 84.5132 169.044 li 93.4243 176.105 li 113.626 192.111 li 114.246 192.602 114.804 193.041 115.336 193.458 cv 115.339 193.461 li 115.336 193.455 115.888 194.627 116.901 195.597 cv 117.886 196.593 119.24 197.311 119.695 197.513 cv 120.538 197.899 121.06 198.031 121.825 198.133 cv 121.43 197.471 121.14 197.027 120.513 196.348 cv cp f 148.688 138.766 mo 150.302 139.235 151.23 139.456 152.603 139.764 cv 151.28 139.285 150.379 138.972 148.767 138.499 cv 139.497 135.793 li 144.13 136.507 li 144.855 136.616 145.273 136.631 145.893 136.637 cv 145.301 136.456 144.897 136.345 144.173 136.231 cv 139.458 135.505 li 138.856 135.412 li 140.068 135.36 li 152.271 134.845 li 154.146 134.764 155.208 134.67 156.771 134.516 cv 155.2 134.493 154.134 134.49 152.259 134.566 cv 140.056 135.082 li 139.326 135.113 li 147.359 133.586 li 149.009 133.271 149.937 133.045 151.298 132.696 cv 149.903 132.871 148.958 133.001 147.307 133.313 cv 139.35 134.825 li 150.778 130.94 li 152.593 130.321 153.607 129.925 155.095 129.325 cv 153.55 129.756 152.504 130.061 150.688 130.676 cv 138.875 134.692 li 138.685 134.757 li 140.685 133.585 li 149.101 128.66 li 150.394 127.9 151.103 127.43 152.138 126.72 cv 151.013 127.275 150.255 127.664 148.96 128.419 cv 140.543 133.345 li 138.808 134.361 li 138.818 134.352 138.825 134.347 138.836 134.338 cv 142.418 131.356 li 146 128.375 li 146.55 127.915 146.831 127.618 147.234 127.167 cv 146.717 127.481 146.374 127.704 145.822 128.161 cv 142.24 131.143 li 138.657 134.124 li 138.566 134.201 138.491 134.268 138.413 134.336 cv 143.465 128.117 li 144.702 126.591 145.367 125.696 146.333 124.366 cv 145.229 125.583 144.489 126.418 143.249 127.942 cv 139.377 132.706 li 145.941 123.044 li 147.378 120.925 148.155 119.696 149.284 117.877 cv 148.008 119.597 147.152 120.771 145.711 122.888 cv 137.943 134.319 li 138.144 133.772 li 143.874 118.124 li 144.752 115.718 145.206 114.338 145.858 112.299 cv 145.039 114.277 144.495 115.624 143.612 118.028 cv 138.114 133.042 li 138.167 132.838 138.221 132.633 138.279 132.395 cv 140.228 124.35 li 142.177 116.306 li 142.474 115.069 142.597 114.356 142.761 113.303 cv 142.424 114.314 142.208 115.004 141.905 116.24 cv 139.957 124.285 li 138.008 132.329 li 137.831 133.066 137.717 133.618 137.619 134.167 cv 137.909 122.781 li 138.003 119.003 138.011 116.858 138.002 113.7 cv 137.833 116.854 137.729 118.996 137.631 122.773 cv 137.383 132.497 li 136.971 126.066 li 136.539 119.305 li 136.471 118.267 136.385 117.68 136.241 116.818 cv 136.207 117.691 136.197 118.284 136.261 119.323 cv 136.693 126.084 li 137.125 132.845 li 137.156 133.316 137.191 133.689 137.234 134.042 cv 136.029 129.408 li 133.023 117.83 li 132.559 116.052 132.251 115.055 131.779 113.591 cv 132.079 115.1 132.294 116.121 132.754 117.9 cv 135.76 129.479 li 136.994 134.236 li 129.886 120.973 li 128.716 118.794 128.011 117.581 126.957 115.802 cv 127.854 117.665 128.474 118.924 129.64 121.105 cv 136.364 133.65 li 133.813 130.166 li 131.093 126.452 li 130.673 125.882 130.397 125.587 129.977 125.163 cv 130.254 125.692 130.452 126.045 130.868 126.616 cv 133.587 130.331 li 136.308 134.044 li 136.324 134.067 136.338 134.083 136.354 134.105 cv 126.039 124.139 li 124.259 122.422 123.216 121.482 121.669 120.111 cv 123.093 121.61 124.068 122.62 125.845 124.339 cv 136.091 134.239 li 134.767 133.32 li 134.325 133.017 134.048 132.884 133.629 132.702 cv 133.781 132.859 133.911 132.987 134.053 133.114 cv 129.531 130.357 li 123.713 126.811 li 122.818 126.268 122.286 126 121.493 125.621 cv 122.193 126.152 122.675 126.502 123.568 127.049 cv 129.386 130.596 li 135.203 134.142 li 135.612 134.39 135.942 134.578 136.259 134.748 cv 134.312 134.02 li 122.339 129.54 li 120.498 128.854 119.438 128.508 117.869 128.016 cv 119.375 128.675 120.401 129.11 122.241 129.801 cv 134.214 134.28 li 136.14 135.001 li 135.769 134.916 135.375 134.835 134.875 134.747 cv 127.908 133.532 li 120.941 132.316 li 119.87 132.132 119.254 132.074 118.344 132.005 cv 119.223 132.249 119.822 132.402 120.893 132.591 cv 127.86 133.806 li 134.827 135.021 li 135.26 135.096 135.611 135.146 135.945 135.189 cv 131.995 135.178 li 128.029 135.167 li 127.42 135.167 127.074 135.214 126.565 135.302 cv 127.074 135.393 127.42 135.441 128.029 135.445 cv 131.994 135.457 li 134.462 135.464 li 125.766 136.26 li 123.664 136.454 122.476 136.611 120.727 136.861 cv 122.492 136.789 123.689 136.728 125.791 136.537 cv 134.648 135.727 li 121.903 138.189 li 119.832 138.592 118.665 138.866 116.95 139.288 cv 118.699 139.041 119.884 138.861 121.957 138.463 cv 135.445 135.857 li 136.054 135.74 li 135.83 135.816 135.594 135.901 135.315 136.009 cv 129.743 138.193 li 124.17 140.375 li 123.315 140.713 122.847 140.948 122.164 141.312 cv 122.912 141.114 123.416 140.969 124.272 140.635 cv 129.845 138.452 li 135.417 136.269 li 135.79 136.122 136.083 135.995 136.358 135.867 cv 129.355 140.487 li 127.789 141.521 126.926 142.147 125.667 143.085 cv 127.025 142.296 127.94 141.75 129.508 140.719 cv 136.677 135.993 li 134.953 138.009 li 134.606 138.418 134.446 138.681 134.222 139.078 cv 134.581 138.795 134.814 138.596 135.164 138.19 cv 136.621 136.486 li 134.442 140.399 li 133.55 142.006 133.084 142.941 132.415 144.326 cv 133.24 143.027 133.789 142.14 134.686 140.535 cv 137.058 136.277 li 136.586 138.294 li 136.308 139.489 136.195 140.178 136.047 141.197 cv 136.368 140.219 136.574 139.552 136.856 138.357 cv 137.279 136.564 li 137.002 147.357 li 136.374 171.942 li 136.355 172.697 136.34 173.374 136.328 174.02 cv 136.327 174.023 li 136.329 174.018 135.75 175.11 135.59 176.439 cv 135.393 177.761 135.623 179.206 135.729 179.669 cv 135.917 180.534 136.118 181.007 136.482 181.647 cv 136.765 180.968 136.941 180.494 137.101 179.627 cv 137.184 179.177 137.402 177.831 137.302 176.546 cv 137.246 175.301 136.766 174.217 136.592 174.014 cv 136.612 173.372 136.633 172.699 136.652 171.949 cv 137.281 147.365 li 137.566 136.214 li 139.181 141.13 li 139.651 142.553 139.962 143.346 140.438 144.507 cv 140.131 143.29 139.912 142.467 139.446 141.042 cv 138.144 137.077 li 138.526 137.837 li 138.857 138.491 139.086 138.842 139.441 139.349 cv 139.246 138.761 139.102 138.369 138.775 137.712 cv 138.122 136.41 li 140.42 139.228 li 145.467 145.419 li 146.244 146.369 146.721 146.877 147.438 147.617 cv 146.859 146.765 146.457 146.195 145.683 145.242 cv 140.636 139.052 li 138.426 136.34 li 145.74 142.376 li 147.22 143.595 148.089 144.25 149.381 145.201 cv 148.202 144.113 147.395 143.384 145.917 142.162 cv 138.036 135.656 li 138.195 135.703 li 148.688 138.766 li cp f 199.04 311.849 mo 195.264 309.244 192.693 307.486 188.116 304.455 cv 160.001 285.859 li 165.169 288.192 li 166.254 288.679 166.889 288.912 167.831 289.24 cv 166.962 288.75 166.367 288.429 165.284 287.938 cv 162.662 286.754 li 162.973 286.875 163.295 287 163.65 287.135 cv 177.784 292.514 li 191.918 297.893 li 194.091 298.718 195.34 299.142 197.187 299.749 cv 195.404 298.974 194.189 298.46 192.018 297.632 cv 177.883 292.253 li 163.749 286.875 li 162.11 286.252 160.996 285.859 159.756 285.441 cv 159.552 285.349 li 165.835 286.457 li 193.783 291.376 li 198.079 292.132 200.524 292.513 204.127 293.057 cv 200.554 292.337 198.126 291.861 193.832 291.102 cv 165.883 286.181 li 159.459 285.049 li 160.99 285.093 162.276 285.113 164.278 285.091 cv 179.976 284.912 li 195.673 284.732 li 198.085 284.703 199.454 284.638 201.468 284.527 cv 199.452 284.46 198.082 284.427 195.67 284.454 cv 179.973 284.634 li 164.275 284.814 li 162.126 284.84 160.803 284.893 159.116 284.984 cv 159.312 284.929 li 160.048 284.844 160.721 284.748 161.702 284.571 cv 170.358 282.989 li 179.015 281.406 li 180.345 281.16 181.09 280.974 182.186 280.683 cv 181.058 280.799 180.295 280.89 178.965 281.132 cv 170.308 282.714 li 161.652 284.297 li 161.53 284.32 161.433 284.341 161.32 284.362 cv 183.502 278.099 li 188.011 276.824 190.556 276.056 194.299 274.906 cv 190.508 275.884 187.937 276.559 183.426 277.831 cv 161.137 284.125 li 162.751 283.49 li 191.13 272.332 li 195.49 270.615 197.946 269.597 201.557 268.082 cv 197.881 269.431 195.389 270.359 191.028 272.072 cv 162.649 283.23 li 159.397 284.508 li 160.445 283.922 161.363 283.384 162.718 282.543 cv 173.996 275.52 li 185.272 268.496 li 187.004 267.415 187.961 266.76 189.362 265.784 cv 187.867 266.609 186.859 267.181 185.125 268.259 cv 173.848 275.283 li 162.571 282.306 li 161.154 283.191 160.246 283.798 159.199 284.521 cv 173.884 270.376 li 176.884 267.486 178.552 265.812 180.998 263.333 cv 178.429 265.683 176.693 267.289 173.691 270.175 cv 159.095 284.234 li 162.637 278.098 li 163.229 277.068 163.525 276.458 163.944 275.554 cv 163.371 276.371 162.992 276.931 162.396 277.958 cv 159.06 283.737 li 162.769 272.703 li 164.067 268.833 164.759 266.625 165.761 263.366 cv 164.59 266.568 163.807 268.748 162.504 272.613 cv 158.667 284.025 li 158.937 278.21 li 159.062 275.49 159.085 273.943 159.102 271.665 cv 158.908 273.935 158.788 275.476 158.659 278.197 cv 158.391 283.923 li 154.354 258.641 li 145.745 204.74 li 145.479 203.077 145.235 201.564 145.004 200.145 cv 145.012 200.114 li 145.007 200.127 145.817 197.534 145.625 194.593 cv 145.518 191.653 144.44 188.612 144.024 187.649 cv 143.27 185.848 142.699 184.879 141.736 183.57 cv 141.501 185.178 141.371 186.282 141.377 188.233 cv 141.381 189.245 141.451 192.255 142.186 194.998 cv 142.542 196.367 143.055 197.653 143.582 198.585 cv 144.08 199.481 144.568 200.027 144.744 200.189 cv 144.966 201.609 145.205 203.123 145.47 204.784 cv 154.079 258.685 li 158.137 284.102 li 152.151 273.174 li 150.551 270.258 149.603 268.626 148.19 266.233 cv 149.447 268.712 150.311 270.39 151.907 273.308 cv 157.453 283.433 li 154.928 280.109 li 153.942 278.814 153.346 278.108 152.453 277.08 cv 153.204 278.215 153.724 278.98 154.706 280.277 cv 157.596 284.085 li 150.248 277.863 li 136.72 266.402 li 134.64 264.642 133.429 263.681 131.635 262.277 cv 133.314 263.816 134.462 264.851 136.54 266.615 cv 150.068 278.075 li 157.307 284.208 li 137.394 273.179 li 133.67 271.118 131.535 269.99 128.382 268.345 cv 131.449 270.146 133.537 271.358 137.259 273.423 cv 157.818 284.812 li 156.63 284.694 li 132.487 282.273 li 128.777 281.904 126.668 281.74 123.56 281.518 cv 126.65 281.917 128.75 282.177 132.46 282.55 cv 156.362 284.947 li 153.952 285.021 li 143.372 285.355 li 141.747 285.408 140.826 285.486 139.47 285.618 cv 140.831 285.664 141.755 285.683 143.381 285.634 cv 153.961 285.3 li 157.058 285.203 li 152.74 286.199 li 126.323 292.287 li 122.264 293.226 119.972 293.804 116.6 294.671 cv 120.012 293.976 122.325 293.492 126.385 292.559 cv 152.803 286.47 li 156.647 285.585 li 137.572 293.031 li 134.099 294.388 132.146 295.203 129.277 296.418 cv 132.211 295.369 134.199 294.645 137.673 293.291 cv 156.678 285.873 li 155.351 286.618 li 131.207 300.183 li 127.497 302.27 125.416 303.494 122.36 305.313 cv 125.503 303.648 127.632 302.509 131.342 300.425 cv 155.488 286.861 li 157.343 285.818 li 152.18 290.288 li 135.814 304.449 li 133.301 306.627 131.906 307.898 129.864 309.784 cv 132.023 308.033 133.481 306.835 135.997 304.66 cv 152.362 290.498 li 157.579 285.984 li 157.073 286.536 156.586 287.087 155.934 287.871 cv 149.328 295.836 li 142.721 303.8 li 141.708 305.027 141.169 305.751 140.389 306.832 cv 141.306 305.866 141.918 305.202 142.935 303.979 cv 149.542 296.013 li 156.148 288.049 li 156.875 287.17 157.357 286.549 157.858 285.871 cv 148.383 303.302 li 146.302 307.135 145.163 309.332 143.501 312.576 cv 145.319 309.417 146.543 307.267 148.628 303.437 cv 157.04 287.961 li 145.039 315.372 li 142.761 320.579 141.512 323.552 139.689 327.937 cv 141.675 323.624 143.013 320.689 145.294 315.484 cv 158.156 286.109 li 157.712 288.738 li 151.563 325.21 li 150.621 330.818 150.133 334.003 149.431 338.703 cv 150.308 334.035 150.892 330.863 151.838 325.258 cv 157.987 288.783 li 158.322 286.799 li 158.192 288.322 158.09 289.73 157.978 291.787 cv 156.992 310.135 li 156.005 328.483 li 155.856 331.302 155.818 332.905 155.781 335.265 cv 155.997 332.915 156.13 331.318 156.284 328.499 cv 157.27 310.149 li 158.256 291.801 li 158.381 289.447 158.428 287.937 158.461 286.129 cv 162.687 312.586 li 164.011 320.871 164.81 325.562 166.002 332.466 cv 164.985 325.533 164.282 320.828 162.961 312.542 cv 158.843 286.754 li 159.082 287.867 159.331 288.938 159.708 290.437 cv 163.397 305.017 li 167.088 319.599 li 167.657 321.839 168.025 323.099 168.585 324.949 cv 168.198 323.055 167.922 321.772 167.358 319.531 cv 163.668 304.949 li 159.978 290.369 li 159.509 288.521 159.175 287.337 158.759 285.944 cv 164.084 297.314 li 175.344 321.361 li 177.076 325.054 178.101 327.13 179.627 330.179 cv 178.263 327.054 177.325 324.939 175.596 321.242 cv 164.336 297.195 li 159.104 286.018 li 180.896 313.199 li 184.332 317.482 186.318 319.88 189.256 323.403 cv 186.457 319.769 184.546 317.31 181.114 313.025 cv 159.647 286.251 li 160.075 286.689 160.53 287.136 161.133 287.707 cv 168.575 294.708 li 176.018 301.71 li 177.164 302.785 177.845 303.36 178.861 304.195 cv 177.967 303.23 177.351 302.585 176.209 301.507 cv 168.767 294.505 li 161.324 287.502 li 160.576 286.8 160.024 286.314 159.449 285.827 cv 187.962 304.688 li 192.542 307.714 195.165 309.393 199.04 311.849 cv cp f 131.292 288.283 mo 141.875 292.09 li 143.501 292.671 144.44 292.959 145.829 293.364 cv 144.5 292.792 143.594 292.414 141.969 291.828 cv 131.386 288.02 li 120.804 284.212 li 119.451 283.728 118.563 283.447 117.507 283.132 cv 117.554 283.136 li 118.021 283.262 118.474 283.367 119.118 283.482 cv 125.326 284.583 li 131.534 285.686 li 132.489 285.853 133.039 285.901 133.851 285.955 cv 133.07 285.726 132.537 285.583 131.583 285.412 cv 125.375 284.31 li 119.796 283.32 li 135.377 284.591 li 138.724 284.864 140.625 284.971 143.428 285.111 cv 140.64 284.794 138.746 284.59 135.399 284.314 cv 119.656 283.028 li 120.1 283.019 li 141.945 282.626 li 145.302 282.563 147.206 282.481 150.008 282.341 cv 147.202 282.302 145.297 282.29 141.94 282.347 cv 120.095 282.74 li 118.022 282.778 li 118.714 282.676 119.39 282.563 120.323 282.375 cv 129.653 280.48 li 138.984 278.583 li 140.417 278.291 141.22 278.079 142.401 277.748 cv 141.185 277.904 140.362 278.021 138.928 278.312 cv 129.598 280.207 li 120.267 282.103 li 119.246 282.312 118.543 282.481 117.798 282.679 cv 130.87 276.998 li 133.606 275.806 135.14 275.087 137.392 274.011 cv 135.069 274.923 133.497 275.554 130.758 276.742 cv 117.702 282.416 li 121.398 279.359 li 122.054 278.812 122.395 278.468 122.886 277.947 cv 122.282 278.332 121.878 278.602 121.221 279.144 cv 117.838 281.941 li 122.839 275.768 li 124.678 273.496 125.684 272.177 127.152 270.223 cv 125.546 272.065 124.464 273.322 122.623 275.592 cv 117.372 282.074 li 118.896 278.496 li 119.661 276.699 120.051 275.661 120.609 274.126 cv 119.887 275.591 119.409 276.591 118.641 278.386 cv 117.18 281.807 li 120.718 264.206 li 128.426 225.86 li 128.665 224.672 128.876 223.606 129.077 222.59 cv 129.081 222.584 li 129.075 222.591 130.271 221.048 130.881 219.021 cv 131.548 217.014 131.586 214.697 131.548 213.945 cv 131.492 212.544 131.336 211.75 130.993 210.635 cv 130.411 211.646 130.034 212.35 129.548 213.663 cv 129.297 214.344 128.59 216.387 128.395 218.418 cv 128.291 219.429 128.313 220.425 128.434 221.186 cv 128.544 221.913 128.734 222.4 128.813 222.56 cv 128.606 223.567 128.392 224.625 128.154 225.806 cv 120.445 264.152 li 116.856 282.005 li 115.603 273.39 li 115.258 271.033 115.017 269.702 114.642 267.744 cv 114.84 269.726 114.986 271.072 115.328 273.429 cv 116.44 281.095 li 115.731 278.742 li 115.394 277.626 115.157 277.007 114.791 276.1 cv 114.986 277.058 115.131 277.705 115.465 278.822 cv 116.349 281.759 li 113.147 276.054 li 106.932 264.974 li 105.974 263.272 105.391 262.33 104.515 260.951 cv 105.235 262.417 105.735 263.406 106.689 265.111 cv 112.905 276.191 li 116.034 281.772 li 105.685 269.685 li 103.699 267.371 102.538 266.086 100.813 264.21 cv 102.402 266.203 103.491 267.547 105.473 269.867 cv 116.303 282.514 li 115.706 282.221 li 100.104 274.55 li 97.7051 273.375 96.3237 272.75 94.2813 271.843 cv 96.2451 272.908 97.584 273.62 99.9805 274.8 cv 114.887 282.129 li 113.821 281.769 li 106.634 279.343 li 105.529 278.973 104.887 278.807 103.937 278.58 cv 104.831 278.976 105.442 279.232 106.546 279.608 cv 113.732 282.033 li 115.457 282.615 li 112.704 282.255 li 93.4429 279.732 li 90.4819 279.347 88.7974 279.175 86.313 278.939 cv 88.7739 279.351 90.4463 279.619 93.4063 280.008 cv 112.667 282.531 li 114.935 282.828 li 100.807 283.042 li 98.1357 283.086 96.6211 283.158 94.3906 283.281 cv 96.624 283.335 98.1401 283.36 100.811 283.322 cv 114.862 283.109 li 114.343 283.189 li 94.7368 286.252 li 91.7246 286.725 90.0229 287.039 87.519 287.521 cv 90.0503 287.214 91.7671 286.996 94.7793 286.527 cv 114.386 283.464 li 115.506 283.291 li 111.292 284.86 li 96.7598 290.273 li 94.5273 291.108 93.2778 291.625 91.4434 292.403 cv 93.3403 291.792 94.623 291.365 96.8574 290.535 cv 111.389 285.121 li 115.478 283.599 li 115.157 283.765 114.82 283.945 114.407 284.181 cv 107.979 287.875 li 101.551 291.568 li 100.564 292.138 100.028 292.501 99.2471 293.052 cv 100.117 292.656 100.701 292.376 101.689 291.81 cv 108.118 288.117 li 114.545 284.423 li 115.072 284.121 115.468 283.875 115.843 283.628 cv 105.469 292.658 li 103.113 294.71 101.808 295.91 99.8975 297.691 cv 101.925 296.044 103.293 294.917 105.652 292.867 cv 114.466 285.199 li 100.203 299.927 li 97.3716 302.853 95.7988 304.546 93.4956 307.053 cv 95.9272 304.671 97.5684 303.044 100.403 300.121 cv 116.164 283.848 li 115.37 285.222 li 102.115 308.171 li 100.08 311.701 98.9668 313.725 97.3418 316.715 cv 99.1206 313.813 100.317 311.837 102.356 308.312 cv 115.611 285.363 li 115.954 284.769 li 115.594 285.521 115.236 286.301 114.783 287.341 cv 109.531 299.413 li 104.279 311.484 li 103.475 313.34 103.061 314.412 102.468 315.997 cv 103.224 314.483 103.726 313.449 104.535 311.595 cv 109.787 299.523 li 115.039 287.451 li 115.657 286.025 116.045 285.059 116.46 283.971 cv 112.736 302.496 li 111.554 308.39 110.929 311.742 110.027 316.681 cv 111.104 311.776 111.823 308.445 113.01 302.55 cv 116.467 285.353 li 116.405 285.81 116.343 286.292 116.278 286.878 cv 115.105 297.59 li 113.932 308.302 li 113.754 309.947 113.699 310.886 113.637 312.271 cv 113.876 310.906 114.026 309.978 114.208 308.332 cv 115.382 297.62 li 116.555 286.908 li 116.684 285.718 116.747 284.896 116.797 284.01 cv 117.496 292.598 li 119.038 311.557 li 119.278 314.47 119.459 316.12 119.747 318.546 cv 119.637 316.104 119.55 314.448 119.316 311.535 cv 117.773 292.576 li 117.084 284.091 li 124.81 307.482 li 126.046 311.215 126.791 313.32 127.907 316.412 cv 126.96 313.263 126.306 311.13 125.075 307.394 cv 117.579 284.701 li 117.681 284.921 117.792 285.157 117.923 285.421 cv 121.167 291.983 li 124.411 298.542 li 124.911 299.549 125.237 300.101 125.733 300.903 cv 125.396 300.021 125.157 299.427 124.661 298.419 cv 121.417 291.859 li 118.172 285.299 li 117.956 284.863 117.773 284.518 117.593 284.196 cv 131.69 303.541 li 134.009 306.718 135.362 308.494 137.369 311.097 cv 135.505 308.388 134.23 306.556 131.916 303.376 cv 117.978 284.25 li 120.521 286.763 li 121.128 287.361 121.506 287.666 122.074 288.103 cv 121.631 287.539 121.321 287.165 120.717 286.565 cv 120.304 286.156 li 127.907 292.833 li 136.049 299.98 li 137.302 301.078 138.043 301.665 139.147 302.515 cv 138.161 301.531 137.483 300.873 136.233 299.771 cv 128.091 292.622 li 119.948 285.474 li 119.082 284.716 118.459 284.201 117.794 283.675 cv 117.744 283.626 li 121.408 285.777 li 138.94 296.072 li 141.635 297.653 143.188 298.509 145.484 299.754 cv 143.278 298.357 141.774 297.417 139.081 295.832 cv 121.548 285.537 li 117.851 283.365 li 118.717 283.728 119.521 284.046 120.71 284.474 cv 131.292 288.283 li cp f 181 263.809 mo 179.096 262.925 177.797 262.335 175.478 261.375 cv 162.092 255.839 li 163.708 256.219 li 164.239 256.341 164.55 256.365 165.013 256.382 cv 164.798 256.285 164.616 256.207 164.421 256.137 cv 169.753 257.058 li 176.569 258.236 li 177.617 258.415 178.219 258.47 179.109 258.533 cv 178.249 258.294 177.663 258.144 176.616 257.96 cv 169.8 256.783 li 162.984 255.606 li 162.497 255.523 162.109 255.468 161.741 255.425 cv 163.872 255.386 li 176.852 255.152 li 178.847 255.113 179.978 255.044 181.642 254.925 cv 179.974 254.867 178.842 254.839 176.847 254.873 cv 163.867 255.108 li 161.749 255.146 li 162.14 255.085 162.551 255.014 163.068 254.908 cv 170.101 253.455 li 177.134 252 li 178.214 251.775 178.817 251.601 179.702 251.328 cv 178.781 251.427 178.158 251.506 177.078 251.728 cv 170.044 253.181 li 163.012 254.635 li 162.563 254.729 162.205 254.814 161.866 254.9 cv 161.871 254.899 161.874 254.898 161.878 254.896 cv 165.626 253.427 li 169.374 251.958 li 169.948 251.731 170.257 251.558 170.706 251.287 cv 170.192 251.392 169.848 251.476 169.271 251.699 cv 165.524 253.168 li 163.152 254.097 li 171.108 250.081 li 173.021 249.113 174.084 248.521 175.643 247.634 cv 174.004 248.363 172.897 248.867 170.982 249.832 cv 162.885 253.919 li 174.038 246.819 li 175.845 245.666 176.845 244.972 178.308 243.935 cv 176.75 244.822 175.698 245.434 173.888 246.583 cv 162.12 254.077 li 161.562 254.431 li 161.752 254.27 161.949 254.097 162.182 253.882 cv 166.63 249.742 li 171.079 245.601 li 171.761 244.962 172.116 244.566 172.626 243.97 cv 171.995 244.437 171.574 244.761 170.889 245.396 cv 166.44 249.537 li 161.991 253.677 li 161.686 253.963 161.45 254.199 161.232 254.428 cv 166.141 247.427 li 167.233 245.867 167.815 244.953 168.656 243.598 cv 167.669 244.851 167.008 245.708 165.913 247.267 cv 160.897 254.419 li 161.776 251.863 li 161.951 251.348 162.006 251.041 162.07 250.582 cv 161.837 250.982 161.692 251.259 161.513 251.773 cv 160.766 253.944 li 161.366 249.414 li 161.609 247.562 161.701 246.506 161.817 244.949 cv 161.524 246.483 161.337 247.527 161.09 249.376 cv 160.437 254.298 li 160.128 252.2 li 159.944 250.967 159.793 250.275 159.554 249.257 cv 159.618 250.3 159.673 251.007 159.852 252.24 cv 160.125 254.107 li 156.354 243.795 li 147.772 220.343 li 147.51 219.625 147.271 218.981 147.042 218.368 cv 147.043 218.36 li 147.042 218.366 147.18 217.119 146.834 215.804 cv 146.526 214.483 145.772 213.204 145.499 212.807 cv 144.998 212.061 144.632 211.688 144.051 211.219 cv 144.038 211.966 144.051 212.479 144.224 213.357 cv 144.313 213.814 144.609 215.165 145.184 216.341 cv 145.704 217.501 146.56 218.339 146.794 218.459 cv 147.016 219.075 147.249 219.721 147.511 220.439 cv 156.092 243.892 li 159.989 254.542 li 156.619 250.491 li 155.644 249.323 155.055 248.689 154.174 247.769 cv 154.918 248.804 155.433 249.498 156.404 250.669 cv 159.136 253.957 li 158.466 253.358 li 157.909 252.865 157.562 252.619 157.039 252.272 cv 157.443 252.751 157.727 253.07 158.28 253.566 cv 159.395 254.56 li 156.158 252.75 li 149.081 248.787 li 147.992 248.179 147.352 247.876 146.399 247.445 cv 147.265 248.032 147.858 248.419 148.945 249.03 cv 156.022 252.993 li 159.144 254.741 li 149.959 251.765 li 148.107 251.167 147.042 250.872 145.466 250.455 cv 146.986 251.041 148.022 251.427 149.874 252.03 cv 159.756 255.232 li 159.578 255.249 li 148.524 256.272 li 146.826 256.431 145.867 256.568 144.456 256.789 cv 145.883 256.746 146.851 256.705 148.55 256.548 cv 158.345 255.642 li 153.671 256.705 li 152.946 256.873 152.544 257.013 151.958 257.238 cv 152.584 257.187 153.006 257.14 153.732 256.976 cv 158.456 255.903 li 159.085 255.759 li 157.938 256.271 li 146.605 261.316 li 144.865 262.093 143.896 262.578 142.478 263.306 cv 143.969 262.74 144.977 262.344 146.719 261.571 cv 158.051 256.526 li 158.754 256.212 li 151.713 260.67 li 150.273 261.585 149.482 262.144 148.325 262.98 cv 149.577 262.294 150.42 261.817 151.863 260.906 cv 158.835 256.493 li 149.471 264.445 li 147.989 265.708 147.178 266.46 145.996 267.581 cv 147.293 266.595 148.166 265.917 149.652 264.658 cv 159.31 256.455 li 159.48 256.31 li 158.019 258.174 li 151.908 265.964 li 150.971 267.164 150.476 267.873 149.762 268.927 cv 150.616 267.982 151.187 267.333 152.127 266.136 cv 158.238 258.346 li 159.517 256.717 li 159.505 256.738 159.495 256.753 159.483 256.775 cv 157.212 260.929 li 154.942 265.082 li 154.595 265.72 154.439 266.106 154.226 266.682 cv 154.595 266.191 154.835 265.853 155.187 265.216 cv 157.457 261.062 li 159.728 256.91 li 159.79 256.795 159.839 256.697 159.891 256.596 cv 157.431 264.378 li 156.832 266.282 156.537 267.375 156.12 268.992 cv 156.707 267.429 157.094 266.365 157.697 264.462 cv 159.597 258.454 li 156.988 270.101 li 156.421 272.637 156.146 274.088 155.758 276.227 cv 156.319 274.126 156.689 272.697 157.26 270.161 cv 160.333 256.441 li 160.348 257.044 li 160.775 273.961 li 160.843 276.56 160.928 278.035 161.072 280.204 cv 161.106 278.03 161.117 276.554 161.054 273.955 cv 160.643 257.683 li 160.67 257.908 160.698 258.138 160.735 258.402 cv 161.896 266.726 li 163.058 275.05 li 163.238 276.33 163.388 277.048 163.625 278.104 cv 163.564 277.023 163.511 276.291 163.334 275.011 cv 162.172 266.687 li 161.011 258.363 li 160.901 257.587 160.802 257.019 160.688 256.456 cv 164.672 267.343 li 165.993 270.948 166.786 272.975 167.971 275.955 cv 166.954 272.914 166.251 270.853 164.934 267.249 cv 161.524 257.929 li 164.331 263.888 li 167.262 270.112 li 167.714 271.066 168.013 271.589 168.47 272.349 cv 168.174 271.513 167.962 270.951 167.514 269.994 cv 164.583 263.77 li 161.652 257.546 li 161.441 257.103 161.266 256.756 161.09 256.433 cv 163.974 260.384 li 171.131 270.197 li 172.234 271.704 172.896 272.531 173.887 273.738 cv 173.041 272.425 172.455 271.542 171.357 270.033 cv 164.198 260.22 li 161.246 256.171 li 172.926 266.06 li 174.844 267.681 175.962 268.564 177.621 269.852 cv 176.077 268.429 175.021 267.472 173.106 265.846 cv 162.05 256.486 li 165.784 258.839 li 169.739 261.332 li 170.347 261.712 170.718 261.889 171.273 262.134 cv 170.813 261.739 170.494 261.48 169.888 261.095 cv 165.933 258.603 li 161.978 256.111 li 161.945 256.091 161.919 256.076 161.888 256.057 cv 175.371 261.632 li 177.693 262.589 179.027 263.089 181 263.809 cv cp f 119.292 216.772 mo 118.839 217.324 117.524 218.994 116.689 220.818 cv 116.267 221.724 115.967 222.656 115.834 223.402 cv 115.703 224.113 115.722 224.627 115.745 224.801 cv 115.229 225.669 114.688 226.582 114.088 227.6 cv 94.5659 260.744 li 85.48 276.168 li 87.0898 267.772 li 87.5298 265.47 87.7334 264.154 88.0142 262.214 cv 87.5581 264.121 87.2603 265.417 86.8164 267.718 cv 85.3857 275.173 li 85.4829 272.779 li 85.5273 271.634 85.5059 270.982 85.4556 270.021 cv 85.3276 270.974 85.2529 271.623 85.2041 272.769 cv 85.082 275.758 li 83.9497 269.455 li 81.7432 257.158 li 81.4023 255.269 81.1631 254.206 80.7915 252.643 cv 80.9873 254.237 81.1323 255.318 81.4692 257.208 cv 83.6758 269.503 li 84.7817 275.67 li 79.0708 261.13 li 77.9727 258.338 77.3057 256.773 76.3071 254.474 cv 77.1401 256.837 77.7173 258.439 78.811 261.232 cv 84.7925 276.462 li 84.3384 276.003 li 72.3135 263.851 li 70.4639 261.986 69.3818 260.96 67.7744 259.462 cv 69.2549 261.085 70.2695 262.179 72.1152 264.048 cv 83.5801 275.632 li 82.7354 274.978 li 76.8389 270.408 li 75.9312 269.707 75.3877 269.345 74.5767 268.83 cv 75.2788 269.487 75.7632 269.923 76.668 270.628 cv 82.5645 275.199 li 83.957 276.279 li 81.5391 275.07 li 64.458 266.517 li 61.832 265.205 60.3208 264.503 58.0884 263.484 cv 60.2417 264.662 61.7095 265.451 64.333 266.766 cv 81.4146 275.318 li 83.394 276.31 li 70.2349 271.967 li 67.7397 271.146 66.3096 270.724 64.1973 270.122 cv 66.2539 270.893 67.6533 271.407 70.1479 272.231 cv 83.2329 276.549 li 82.7603 276.464 li 63.5571 272.992 li 60.6064 272.46 58.9238 272.205 56.4419 271.846 cv 58.8916 272.378 60.5576 272.73 63.5078 273.265 cv 82.7109 276.74 li 83.7896 276.935 li 79.3833 277.035 li 64.1348 277.384 li 61.7925 277.44 60.4639 277.518 58.5083 277.652 cv 60.4683 277.697 61.7983 277.713 64.1421 277.664 cv 79.3896 277.314 li 83.6445 277.216 li 83.3018 277.265 82.9419 277.324 82.499 277.408 cv 75.3354 278.767 li 68.1714 280.125 li 67.0713 280.336 66.4561 280.502 65.5527 280.765 cv 66.4888 280.678 67.1221 280.607 68.2236 280.399 cv 75.3872 279.041 li 82.5513 277.681 li 83.124 277.571 83.5654 277.473 83.9844 277.367 cv 71.4614 282.402 li 68.6108 283.55 67.0122 284.245 64.6631 285.285 cv 67.0781 284.41 68.7134 283.804 71.5654 282.66 cv 82.1919 278.39 li 64.2271 287.458 li 60.6528 289.265 58.6465 290.331 55.6992 291.918 cv 58.7271 290.49 60.7764 289.509 64.3525 287.707 cv 84.2241 277.675 li 83.0562 278.685 li 63.3413 295.734 li 60.3135 298.357 58.6255 299.878 56.1533 302.134 cv 58.7422 300.013 60.4927 298.564 63.5239 295.945 cv 83.2383 278.896 li 83.7114 278.488 li 83.1465 279.06 82.5698 279.662 81.8291 280.464 cv 73.0571 289.988 li 64.2856 299.511 li 62.9395 300.976 62.2095 301.839 61.1489 303.123 cv 62.3408 301.96 63.1406 301.162 64.4902 299.7 cv 73.2622 290.177 li 82.0337 280.653 li 83.0645 279.531 83.7358 278.759 84.4692 277.884 cv 75.0439 293.886 li 72.0454 298.98 70.3857 301.893 67.9561 306.193 cv 70.5386 301.984 72.2817 299.12 75.2837 294.027 cv 83.9976 279.234 li 83.8027 279.618 83.6011 280.025 83.3667 280.517 cv 78.8237 290.093 li 74.2798 299.667 li 73.584 301.141 73.2314 301.997 72.7285 303.263 cv 73.3921 302.072 73.8315 301.258 74.5317 299.788 cv 79.0747 290.212 li 83.6187 280.638 li 84.1167 279.583 84.439 278.843 84.7661 278.044 cv 82.6523 286.227 li 77.9727 304.339 li 77.2554 307.123 76.894 308.714 76.3794 311.062 cv 77.0664 308.757 77.5205 307.193 78.2417 304.41 cv 82.9224 286.296 li 85.0132 278.21 li 84.6538 302.407 li 84.5986 306.275 84.6143 308.469 84.6553 311.703 cv 84.792 308.472 84.873 306.279 84.9331 302.412 cv 85.2813 278.955 li 85.3032 279.181 85.3306 279.425 85.3643 279.697 cv 86.2627 286.842 li 87.1621 293.988 li 87.3022 295.084 87.4282 295.701 87.6323 296.608 cv 87.605 295.68 87.5742 295.05 87.438 293.953 cv 86.5396 286.808 li 85.6401 279.663 li 85.5811 279.201 85.5239 278.831 85.4634 278.482 cv 92.313 300.974 li 93.4419 304.673 94.127 306.759 95.1538 309.824 cv 94.2974 306.707 93.7041 304.593 92.5796 300.893 cv 85.8076 278.658 li 87.3433 281.788 li 87.7144 282.539 87.9668 282.944 88.355 283.533 cv 88.1265 282.866 87.9604 282.417 87.5933 281.665 cv 87.3271 281.123 li 92.2524 289.798 li 97.5142 299.064 li 98.3242 300.487 98.8252 301.271 99.5776 302.417 cv 98.98 301.183 98.5625 300.351 97.7563 298.927 cv 92.4951 289.662 li 87.2339 280.395 li 86.6729 279.412 86.2593 278.732 85.8101 278.029 cv 85.7861 277.981 li 88.4868 281.15 li 101.455 296.37 li 103.45 298.708 104.616 300.003 106.349 301.899 cv 104.752 299.886 103.658 298.529 101.667 296.189 cv 88.6987 280.968 li 85.9829 277.781 li 86.6616 278.39 87.3037 278.943 88.2598 279.716 cv 96.8647 286.667 li 105.47 293.617 li 106.794 294.684 107.574 295.251 108.735 296.076 cv 107.687 295.114 106.966 294.47 105.645 293.4 cv 97.0396 286.451 li 88.4351 279.5 li 87.3389 278.617 86.606 278.07 85.7319 277.443 cv 85.7661 277.458 li 86.1567 277.724 86.5415 277.967 87.0996 278.281 cv 92.5098 281.308 li 97.9209 284.333 li 98.7529 284.796 99.2485 285.019 99.9863 285.33 cv 99.3354 284.864 98.8872 284.558 98.0571 284.091 cv 92.646 281.064 li 87.8179 278.363 li 101.848 284.556 li 104.869 285.888 106.602 286.599 109.161 287.632 cv 106.674 286.437 104.98 285.637 101.96 284.302 cv 87.7861 278.044 li 88.1621 278.167 li 108.584 284.843 li 111.723 285.867 113.518 286.403 116.167 287.175 cv 113.573 286.234 111.808 285.607 108.671 284.578 cv 88.249 277.902 li 86.3408 277.278 li 87.0054 277.406 87.6636 277.517 88.5776 277.64 cv 97.8555 278.886 li 107.133 280.134 li 108.559 280.324 109.375 280.384 110.577 280.457 cv 109.398 280.208 108.595 280.052 107.17 279.858 cv 97.8921 278.612 li 88.6143 277.365 li 87.6089 277.23 86.9058 277.162 86.1582 277.107 cv 100.11 276.044 li 103.037 275.818 104.693 275.644 107.132 275.369 cv 104.68 275.466 103.016 275.544 100.088 275.765 cv 86.144 276.828 li 90.5459 275.187 li 91.3301 274.892 91.7593 274.681 92.3838 274.353 cv 91.6968 274.513 91.2349 274.635 90.4492 274.925 cv 86.4292 276.423 li 93.0449 272.314 li 95.4854 270.795 96.8452 269.894 98.8384 268.55 cv 96.751 269.742 95.3403 270.562 92.8979 272.078 cv 85.9478 276.394 li 88.5054 273.576 li 89.7949 272.153 90.4912 271.314 91.5034 270.067 cv 90.3594 271.195 89.5918 271.968 88.2998 273.388 cv 85.8579 276.077 li 94.8057 260.884 li 114.328 227.742 li 114.931 226.716 115.471 225.795 115.983 224.917 cv 115.989 224.913 li 115.98 224.917 117.591 223.87 118.811 222.181 cv 120.076 220.532 120.858 218.392 121.064 217.68 cv 121.462 216.361 121.574 215.573 121.611 214.426 cv 120.744 215.176 120.167 215.708 119.292 216.772 cv cp f 125.128 201.31 mo 124.649 201.301 123.221 201.306 121.909 201.629 cv 120.639 201.898 119.605 202.574 119.418 202.791 cv 118.749 202.879 118.048 202.974 117.268 203.082 cv 91.7393 206.621 li 80.1235 208.231 li 84.9634 205.708 li 86.3545 204.979 87.1221 204.525 88.2446 203.839 cv 87.0405 204.366 86.2275 204.735 84.8345 205.459 cv 80.877 207.522 li 81.6699 206.946 li 82.2905 206.492 82.6138 206.196 83.0806 205.747 cv 82.5093 206.053 82.1289 206.271 81.5063 206.72 cv 80.2251 207.652 li 82.7847 204.751 li 88.3247 198.475 li 89.1743 197.509 89.6211 196.93 90.2656 196.066 cv 89.4878 196.813 88.9688 197.328 88.1157 198.291 cv 82.5762 204.566 li 80.1074 207.361 li 85.1333 198.715 li 86.1411 196.977 86.6724 195.967 87.439 194.471 cv 86.5181 195.877 85.9038 196.839 84.8926 198.575 cv 79.4956 207.859 li 79.52 207.657 li 80.8984 196.284 li 81.1084 194.537 81.1812 193.539 81.2695 192.068 cv 81.0044 193.518 80.8364 194.503 80.6221 196.251 cv 79.3911 206.406 li 79.3901 206.377 li 79.3335 201.379 li 79.3232 200.611 79.27 200.176 79.1738 199.535 cv 79.0923 200.178 79.0493 200.615 79.0552 201.382 cv 79.1118 206.38 li 79.1196 207.09 li 78.8452 205.779 li 76.2271 193.25 li 75.8223 191.324 75.5479 190.242 75.124 188.651 cv 75.373 190.278 75.5547 191.381 75.9546 193.306 cv 78.5728 205.836 li 78.7461 206.668 li 75.7666 198.542 li 75.1582 196.889 74.769 195.968 74.1797 194.618 cv 74.6025 196.03 74.9009 196.984 75.5049 198.637 cv 78.4595 206.698 li 72.4468 195.459 li 71.4966 193.688 70.9165 192.706 70.0459 191.268 cv 70.7598 192.79 71.2549 193.817 72.2012 195.59 cv 78.3696 207.119 li 78.5005 207.365 li 76.9067 205.445 li 70.3809 197.582 li 69.3765 196.375 68.77 195.72 67.8638 194.768 cv 68.6333 195.833 69.165 196.55 70.166 197.76 cv 76.6924 205.623 li 78.0996 207.319 li 78.0654 207.289 78.0381 207.263 78.002 207.231 cv 74.3071 204.035 li 70.6128 200.84 li 70.0435 200.351 69.6895 200.109 69.1572 199.766 cv 69.5737 200.244 69.8638 200.558 70.4307 201.051 cv 74.125 204.247 li 77.8198 207.441 li 77.9355 207.542 78.0391 207.625 78.1406 207.708 cv 70.7793 203.507 li 68.9897 202.488 67.9517 201.951 66.4136 201.176 cv 67.8633 202.106 68.854 202.727 70.6411 203.749 cv 76.3652 207.016 li 65.1074 201.81 li 62.6704 200.687 61.269 200.091 59.1963 199.23 cv 61.1943 200.252 62.5557 200.936 64.9912 202.063 cv 78.1895 208.168 li 77.5415 208.045 li 60.3823 204.789 li 57.7451 204.291 56.2407 204.055 54.0215 203.724 cv 56.2075 204.229 57.6943 204.561 60.3306 205.063 cv 76.9116 208.21 li 76.6582 208.185 76.3931 208.162 76.0913 208.139 cv 67.4385 207.495 li 58.7861 206.851 li 57.4565 206.754 56.6987 206.746 55.5811 206.751 cv 56.6855 206.923 57.436 207.027 58.7651 207.128 cv 67.418 207.773 li 76.0703 208.417 li 76.896 208.477 77.5015 208.501 78.1094 208.51 cv 66.2109 210.16 li 62.2886 210.707 60.0698 211.063 56.8047 211.605 cv 60.0942 211.239 62.3262 210.978 66.2495 210.437 cv 76.4951 209.016 li 69.772 210.571 li 62.8535 212.171 li 61.791 212.419 61.1987 212.605 60.3306 212.898 cv 61.2393 212.779 61.853 212.687 62.916 212.443 cv 69.8345 210.843 li 76.7524 209.242 li 77.2671 209.122 77.6689 209.017 78.0479 208.907 cv 73.3862 210.975 li 61.9263 216.055 li 60.166 216.838 59.1865 217.325 57.7515 218.059 cv 59.2593 217.488 60.2769 217.089 62.0391 216.31 cv 73.4995 211.229 li 78.2642 209.117 li 65.7129 218.765 li 63.6592 220.346 62.5229 221.28 60.8604 222.67 cv 62.6313 221.421 63.8257 220.563 65.8823 218.985 cv 77.7837 209.838 li 74.5493 213.136 li 71.1714 216.581 li 70.6538 217.112 70.3936 217.446 70.0229 217.95 cv 70.5205 217.57 70.8491 217.303 71.3701 216.776 cv 74.749 213.331 li 78.127 209.885 li 78.1724 209.839 78.2065 209.801 78.2476 209.757 cv 69.6421 222.199 li 68.1699 224.332 67.3735 225.569 66.2148 227.4 cv 67.52 225.67 68.3955 224.488 69.8716 222.358 cv 78.4023 210.023 li 77.646 211.608 li 77.4063 212.116 77.3125 212.424 77.1914 212.886 cv 77.3525 212.666 77.481 212.48 77.6064 212.271 cv 75.48 217.529 li 72.8032 224.148 li 72.3936 225.167 72.2046 225.762 71.9438 226.646 cv 72.3701 225.829 72.6475 225.27 73.061 224.253 cv 75.7388 217.633 li 78.4155 211.013 li 78.6152 210.517 78.7617 210.122 78.8901 209.745 cv 78.4531 211.959 li 75.8569 225.104 li 75.4595 227.125 75.2813 228.28 75.0347 229.985 cv 75.4556 228.315 75.729 227.178 76.1304 225.159 cv 78.7261 212.014 li 79.1606 209.816 li 79.1333 210.238 79.1167 210.683 79.1104 211.25 cv 79.042 218.663 li 78.9736 226.073 li 78.9658 227.212 79.0078 227.859 79.0884 228.811 cv 79.186 227.86 79.2402 227.215 79.2529 226.076 cv 79.3213 218.665 li 79.3896 211.253 li 79.3931 210.748 79.3853 210.345 79.3701 209.963 cv 79.375 209.995 79.3774 210.02 79.3823 210.053 cv 80.0459 214.155 li 80.7095 218.257 li 80.8135 218.887 80.9189 219.237 81.0918 219.75 cv 81.0947 219.208 81.084 218.843 80.9844 218.212 cv 80.3208 214.11 li 79.8848 211.415 li 82.2261 220.411 li 82.7856 222.551 83.1475 223.754 83.6997 225.52 cv 83.3198 223.709 83.0508 222.482 82.4956 220.34 cv 80.1157 211.193 li 84.8799 224.08 li 85.6494 226.154 86.1299 227.315 86.854 229.018 cv 86.2969 227.253 85.9067 226.06 85.1416 223.983 cv 80.1494 210.479 li 79.8916 209.781 li 80.02 210.023 80.1597 210.275 80.3389 210.578 cv 83.5454 215.97 li 86.7515 221.362 li 87.2456 222.189 87.5664 222.635 88.0547 223.281 cv 87.7202 222.544 87.4814 222.049 86.9907 221.219 cv 83.7847 215.827 li 80.5781 210.436 li 80.3467 210.047 80.1533 209.746 79.9629 209.465 cv 85.9844 215.979 li 87.3218 217.421 88.1143 218.208 89.2954 219.354 cv 88.2451 218.087 87.5225 217.235 86.1895 215.79 cv 80.0474 209.146 li 82.4668 210.609 li 82.9482 210.897 83.2461 211.021 83.6934 211.187 cv 83.3384 210.869 83.0903 210.663 82.6113 210.37 cv 80.5449 209.121 li 85.022 210.729 li 86.8354 211.378 87.8804 211.703 89.4248 212.163 cv 87.9404 211.535 86.9282 211.12 85.1162 210.467 cv 80.2637 208.723 li 82.4834 208.87 li 83.7671 208.954 84.4985 208.954 85.5767 208.937 cv 84.5103 208.776 83.7852 208.68 82.5024 208.592 cv 80.5156 208.459 li 91.7773 206.897 li 117.306 203.358 li 118.086 203.249 118.786 203.149 119.453 203.053 cv 119.467 203.057 li 119.461 203.054 120.689 203.466 122.09 203.403 cv 123.491 203.38 124.944 202.896 125.406 202.708 cv 126.267 202.365 126.723 202.079 127.325 201.597 cv 126.574 201.424 126.053 201.326 125.128 201.31 cv cp f 127.586 203.06 mo 127.176 203.31 125.971 204.083 125.037 205.062 cv 124.108 205.974 123.6 207.102 123.561 207.381 cv 123.043 207.814 122.503 208.271 121.903 208.78 cv 102.269 225.476 li 93.3438 233.066 li 96.0645 228.344 li 96.8467 226.982 97.2495 226.187 97.8281 225.005 cv 97.0957 226.098 96.6094 226.846 95.8232 228.206 cv 93.5913 232.076 li 93.9526 231.156 li 94.231 230.44 94.3452 230.017 94.4976 229.387 cv 94.1802 229.952 93.9756 230.339 93.6934 231.054 cv 93.1128 232.531 li 93.7134 228.708 li 95.0151 220.44 li 95.2124 219.169 95.2788 218.44 95.3579 217.366 cv 95.103 218.414 94.9419 219.126 94.7397 220.397 cv 93.4385 228.665 li 92.8579 232.348 li 92.4536 222.354 li 92.3706 220.347 92.2764 219.209 92.1191 217.535 cv 92.0981 219.216 92.0962 220.358 92.1753 222.366 cv 92.6089 233.1 li 92.5195 232.914 li 87.5742 222.578 li 86.8125 220.991 86.3374 220.111 85.6221 218.822 cv 86.1768 220.188 86.5649 221.109 87.3223 222.698 cv 91.7397 231.929 li 91.7251 231.906 li 88.9932 227.718 li 88.5718 227.077 88.2935 226.738 87.8677 226.249 cv 88.144 226.834 88.3418 227.226 88.7603 227.871 cv 91.4922 232.058 li 91.8779 232.65 li 90.9424 231.691 li 82.0063 222.523 li 80.6318 221.116 79.8184 220.351 78.6074 219.236 cv 79.6909 220.475 80.4351 221.308 81.8066 222.718 cv 90.7427 231.885 li 91.3428 232.501 li 84.457 227.241 li 83.0571 226.175 82.2339 225.607 81.0107 224.784 cv 82.1255 225.748 82.8901 226.392 84.2886 227.463 cv 91.103 232.669 li 80.002 226.418 li 78.2495 225.435 77.2324 224.917 75.7256 224.17 cv 77.145 225.072 78.1147 225.673 79.8652 226.661 cv 91.2617 233.079 li 91.5059 233.216 li 89.1279 232.451 li 79.3984 229.322 li 77.9023 228.843 77.04 228.616 75.7632 228.299 cv 76.9849 228.785 77.8184 229.104 79.313 229.587 cv 89.0425 232.716 li 91.1426 233.393 li 91.0967 233.385 91.0596 233.378 91.0107 233.371 cv 86.1768 232.658 li 81.3423 231.947 li 80.5986 231.839 80.1704 231.826 79.5366 231.822 cv 80.1445 232.001 80.5586 232.111 81.3018 232.222 cv 86.1357 232.935 li 90.9702 233.646 li 91.1211 233.667 91.2515 233.684 91.3804 233.699 cv 82.9189 234.105 li 80.8628 234.206 79.6992 234.31 77.9854 234.482 cv 79.7075 234.488 80.876 234.48 82.9321 234.382 cv 89.522 234.067 li 77.2246 235.716 li 74.5654 236.076 73.0625 236.326 70.8525 236.712 cv 73.0864 236.502 74.6016 236.347 77.2617 235.994 cv 91.6758 234.059 li 91.0596 234.304 li 74.8359 240.769 li 72.3442 241.764 70.9473 242.373 68.8979 243.285 cv 71.0137 242.538 72.4453 242.019 74.9395 241.027 cv 90.6216 234.779 li 90.394 234.896 90.1553 235.019 89.8867 235.164 cv 82.2422 239.264 li 74.5967 243.366 li 73.4229 243.998 72.7793 244.398 71.8398 245.003 cv 72.8633 244.555 73.5522 244.24 74.7285 243.611 cv 82.3735 239.509 li 90.0186 235.409 li 90.7388 235.021 91.2583 234.718 91.77 234.405 cv 82.6348 242.173 li 79.6191 244.74 77.9385 246.232 75.4756 248.443 cv 78.0542 246.368 79.7969 244.949 82.8154 242.384 cv 90.7227 235.662 li 85.8599 240.607 li 80.8809 245.669 li 80.1177 246.451 79.7183 246.925 79.1426 247.637 cv 79.8452 247.05 80.313 246.642 81.0801 245.865 cv 86.0581 240.802 li 91.0371 235.738 li 91.4077 235.361 91.6909 235.054 91.9512 234.757 cv 89.127 239.007 li 82.1855 249.446 li 81.1211 251.052 80.5562 251.988 79.7388 253.377 cv 80.7046 252.087 81.3491 251.203 82.418 249.601 cv 89.3594 239.162 li 92.2461 234.82 li 86.8389 249.697 li 85.9551 252.134 85.498 253.532 84.8423 255.597 cv 85.6655 253.592 86.2129 252.227 87.1006 249.792 cv 92.229 235.685 li 91.271 240.205 li 90.271 244.924 li 90.1196 245.65 90.0796 246.072 90.0381 246.696 cv 90.2539 246.108 90.3877 245.707 90.5435 244.982 cv 91.543 240.262 li 92.543 235.542 li 92.5552 235.481 92.5635 235.433 92.5747 235.375 cv 91.9966 250.486 li 91.8994 253.076 91.8911 254.546 91.8975 256.713 cv 92.0688 254.554 92.1738 253.086 92.2749 250.498 cv 92.8491 235.508 li 93.063 237.251 li 93.1338 237.807 93.2202 238.117 93.3657 238.572 cv 93.3833 238.304 93.3926 238.083 93.3862 237.845 cv 94.4136 243.41 li 95.71 250.43 li 95.9111 251.509 96.0713 252.112 96.3252 252.998 cv 96.2466 252.08 96.1812 251.458 95.9834 250.38 cv 94.6875 243.359 li 93.3911 236.338 li 93.2935 235.813 93.2046 235.402 93.1108 235.015 cv 93.9302 237.116 li 98.7969 249.597 li 99.5469 251.514 100.017 252.584 100.724 254.155 cv 100.182 252.52 99.8022 251.415 99.0566 249.496 cv 94.1899 237.015 li 93.377 234.929 li 93.5811 235.3 93.8062 235.684 94.1055 236.166 cv 98.0264 242.453 li 101.947 248.74 li 102.552 249.705 102.934 250.228 103.513 250.988 cv 103.085 250.133 102.784 249.56 102.184 248.593 cv 98.2627 242.306 li 94.3418 236.019 li 94.0732 235.59 93.8511 235.255 93.6333 234.942 cv 93.6543 234.964 93.6694 234.985 93.6909 235.009 cv 96.4531 238.113 li 99.2144 241.216 li 99.6406 241.691 99.917 241.929 100.338 242.269 cv 100.05 241.81 99.8457 241.509 99.4229 241.031 cv 96.6611 237.927 li 94.8501 235.891 li 101.651 242.22 li 103.272 243.724 104.224 244.544 105.637 245.738 cv 104.345 244.414 103.459 243.524 101.841 242.015 cv 94.9209 235.577 li 105.858 243.888 li 107.621 245.224 108.649 245.946 110.174 246.993 cv 108.756 245.804 107.787 245.005 106.027 243.666 cv 94.5659 234.957 li 93.9731 234.505 li 94.2114 234.64 94.4653 234.779 94.7803 234.939 cv 100.379 237.763 li 105.978 240.587 li 106.839 241.019 107.349 241.222 108.108 241.505 cv 107.429 241.064 106.963 240.775 106.104 240.339 cv 100.504 237.514 li 94.9058 234.69 li 94.501 234.487 94.1758 234.336 93.8643 234.203 cv 102.442 236.458 li 104.345 236.957 105.437 237.195 107.049 237.527 cv 105.482 237.023 104.415 236.693 102.513 236.19 cv 93.7642 233.886 li 96.5898 233.818 li 97.1509 233.803 97.4683 233.748 97.9341 233.647 cv 97.4634 233.57 97.1445 233.529 96.5835 233.541 cv 94.1743 233.598 li 98.811 232.548 li 100.689 232.121 101.745 231.833 103.295 231.39 cv 101.706 231.659 100.629 231.853 98.7495 232.276 cv 93.7212 233.414 li 95.6694 232.347 li 96.7969 231.728 97.4146 231.335 98.3145 230.742 cv 97.3286 231.179 96.666 231.487 95.5361 232.103 cv 93.7764 233.064 li 102.449 225.689 li 122.083 208.993 li 122.684 208.482 123.221 208.021 123.732 207.582 cv 123.745 207.578 li 123.738 207.579 124.996 207.265 126.144 206.458 cv 127.313 205.687 128.281 204.497 128.569 204.09 cv 129.113 203.339 129.344 202.853 129.594 202.123 cv 128.867 202.38 128.375 202.578 127.586 203.06 cv cp f 118.076 206.704 mo 117.383 206.876 115.331 207.431 113.572 208.397 cv 112.692 208.873 111.895 209.442 111.344 209.961 cv 110.817 210.451 110.526 210.873 110.439 211.026 cv 109.506 211.416 108.528 211.825 107.438 212.284 cv 71.9927 227.223 li 55.502 234.173 li 61.7983 228.403 li 63.5244 226.818 64.4722 225.884 65.8555 224.496 cv 64.3521 225.753 63.3389 226.616 61.6104 228.197 cv 56.0161 233.323 li 57.5234 231.458 li 58.2427 230.565 58.6147 230.029 59.1475 229.228 cv 58.4756 229.917 58.0298 230.393 57.3071 231.283 cv 55.4248 233.609 li 58.2803 227.875 li 63.8511 216.694 li 64.7056 214.975 65.1479 213.979 65.7837 212.504 cv 64.9888 213.9 64.46 214.853 63.6021 216.57 cv 58.0313 227.751 li 55.2344 233.363 li 59.3325 218.284 li 60.1172 215.389 60.5161 213.735 61.0879 211.294 cv 60.3447 213.688 59.8521 215.317 59.064 218.21 cv 54.772 234.001 li 54.6812 233.365 li 52.2842 216.437 li 51.9131 213.836 51.6572 212.367 51.2607 210.207 cv 51.4805 212.392 51.6416 213.875 52.0078 216.476 cv 54.2935 232.612 li 54.0068 231.583 li 52.0024 224.397 li 51.6929 223.293 51.4717 222.679 51.1284 221.781 cv 51.2998 222.728 51.4282 223.367 51.7339 224.472 cv 53.7383 231.658 li 54.2104 233.353 li 52.9932 230.94 li 44.3931 213.885 li 43.0698 211.265 42.2769 209.8 41.0933 207.65 cv 42.1182 209.88 42.8252 211.388 44.144 214.011 cv 52.7441 231.066 li 53.7432 233.046 li 45.7725 221.704 li 44.2598 219.556 43.3638 218.365 42.0288 216.62 cv 43.2183 218.467 44.0352 219.714 45.5444 221.865 cv 53.4702 233.144 li 53.1401 232.792 li 39.8027 218.546 li 37.752 216.359 36.5547 215.15 34.7769 213.382 cv 36.4243 215.272 37.5518 216.546 39.5996 218.737 cv 52.937 232.982 li 53.6831 233.779 li 50.0869 231.23 li 37.6465 222.411 li 35.7329 221.058 34.6206 220.328 32.9722 219.268 cv 34.5181 220.473 35.5742 221.281 37.4854 222.638 cv 49.9253 231.458 li 53.3984 233.92 li 53.0957 233.756 52.7725 233.588 52.3682 233.391 cv 45.8096 230.206 li 39.251 227.02 li 38.2422 226.532 37.6499 226.298 36.7686 225.969 cv 37.5718 226.458 38.123 226.779 39.1294 227.271 cv 45.688 230.456 li 52.2466 233.642 li 52.7725 233.896 53.1855 234.08 53.5854 234.246 cv 40.5278 230.81 li 37.5557 230.029 35.8579 229.632 33.3516 229.064 cv 35.8125 229.804 37.4858 230.294 40.457 231.079 cv 51.5259 233.994 li 31.708 230.547 li 27.7622 229.862 25.5161 229.521 22.2036 229.035 cv 25.4854 229.696 27.7153 230.133 31.6606 230.821 cv 53.5923 234.636 li 52.0518 234.75 li 26.0586 236.664 li 22.0645 236.96 19.8022 237.175 16.4717 237.509 cv 19.8154 237.353 22.084 237.234 26.0796 236.942 cv 52.0728 235.028 li 52.6841 234.983 li 51.8921 235.105 51.0737 235.243 50.0049 235.443 cv 37.2817 237.848 li 24.5581 240.253 li 22.603 240.625 21.5029 240.882 19.8857 241.279 cv 21.5356 241.057 22.6543 240.894 24.6099 240.527 cv 37.333 238.123 li 50.0566 235.716 li 51.5508 235.432 52.5488 235.214 53.6572 234.951 cv 36.5483 242.162 li 31.1025 244.46 28.0317 245.806 23.5156 247.807 cv 28.1006 245.97 31.2085 244.712 36.6572 242.419 cv 52.4907 235.746 li 52.1021 235.939 51.6948 236.146 51.208 236.405 cv 41.8477 241.375 li 32.4883 246.347 li 31.0508 247.112 30.2578 247.587 29.0977 248.305 cv 30.3408 247.746 31.1792 247.355 32.6187 246.593 cv 41.9785 241.622 li 51.3384 236.65 li 52.3687 236.101 53.0688 235.699 53.8101 235.253 cv 47.2256 240.56 li 32.6602 252.3 li 30.4238 254.106 29.1841 255.167 27.3701 256.744 cv 29.2959 255.305 30.5952 254.32 32.8354 252.517 cv 47.4009 240.777 li 53.9058 235.537 li 39.1733 254.738 li 36.8203 257.809 35.5229 259.58 33.626 262.198 cv 35.6636 259.687 37.0376 257.976 39.3945 254.908 cv 53.6724 236.298 li 53.5562 236.492 53.4341 236.701 53.2993 236.937 cv 49.7559 243.207 li 46.2119 249.474 li 45.6699 250.439 45.4028 251.009 45.0254 251.857 cv 45.5576 251.096 45.9087 250.574 46.4546 249.612 cv 49.998 243.343 li 53.542 237.076 li 53.771 236.667 53.9453 236.336 54.106 236.019 cv 46.1748 258.158 li 44.8726 261.8 44.1777 263.883 43.1719 266.956 cv 44.3452 263.943 45.1309 261.894 46.4375 258.251 cv 54.2739 236.375 li 53.6382 239.798 li 53.4868 240.623 53.4478 241.097 53.4072 241.802 cv 53.623 241.13 53.7568 240.672 53.9116 239.849 cv 54.0264 239.235 li 52.7969 249.155 li 51.4873 259.73 li 51.2886 261.355 51.2217 262.283 51.1421 263.652 cv 51.3989 262.305 51.5605 261.389 51.7637 259.764 cv 53.0737 249.189 li 54.3833 238.613 li 54.5215 237.486 54.5947 236.693 54.6543 235.857 cv 54.6626 235.809 li 54.939 239.966 li 56.2607 259.921 li 56.4658 262.989 56.6289 264.724 56.8882 267.281 cv 56.8071 264.713 56.7402 262.97 56.5391 259.904 cv 55.2163 239.949 li 54.9399 235.769 li 55.1206 236.664 55.3062 237.489 55.6113 238.681 cv 58.3667 249.392 li 61.1221 260.103 li 61.5474 261.749 61.834 262.669 62.2744 264.023 cv 62.0063 262.626 61.8135 261.68 61.3921 260.034 cv 58.6362 249.323 li 55.8813 238.612 li 55.5288 237.25 55.2671 236.373 54.939 235.346 cv 54.9575 235.378 li 55.1123 235.826 55.2764 236.251 55.5381 236.837 cv 58.0747 242.494 li 60.6113 248.15 li 61.0034 249.019 61.2686 249.492 61.6753 250.181 cv 61.4312 249.419 61.2539 248.906 60.8657 248.037 cv 58.3291 242.38 li 56.0688 237.339 li 63.625 250.669 li 65.2549 253.542 66.2202 255.147 67.6572 257.501 cv 66.375 255.059 65.4932 253.406 63.8672 250.533 cv 56.2295 237.056 li 56.4595 237.382 li 68.8599 254.925 li 70.7676 257.62 71.8877 259.121 73.5522 261.322 cv 72.0327 259.019 70.9912 257.461 69.0874 254.765 cv 56.687 237.222 li 55.5283 235.582 li 55.9854 236.081 56.4463 236.561 57.105 237.206 cv 63.8037 243.744 li 70.5029 250.283 li 71.5342 251.285 72.1514 251.822 73.0737 252.597 cv 72.2759 251.693 71.7251 251.089 70.6978 250.083 cv 63.998 243.544 li 57.2993 237.005 li 56.5713 236.298 56.0488 235.823 55.48 235.332 cv 67.3071 242.809 li 69.7886 244.375 71.2222 245.224 73.3423 246.46 cv 71.3174 245.074 69.936 244.144 67.4556 242.574 cv 55.6357 235.1 li 60.1475 236.412 li 60.9521 236.642 61.4219 236.729 62.1187 236.839 cv 61.4712 236.558 61.0293 236.378 60.2246 236.143 cv 56.1108 234.949 li 63.8687 235.598 li 66.7329 235.835 68.3628 235.925 70.7632 236.037 cv 68.3774 235.748 66.7559 235.562 63.8916 235.321 cv 55.7383 234.636 li 59.4727 233.902 li 61.3555 233.529 62.4155 233.273 63.9717 232.875 cv 62.3813 233.097 61.3032 233.259 59.4189 233.628 cv 55.8511 234.329 li 72.1006 227.48 li 107.545 212.541 li 108.641 212.079 109.621 211.662 110.555 211.264 cv 110.567 211.264 li 110.558 211.263 112.475 211.382 114.46 210.755 cv 116.46 210.187 118.364 208.936 118.955 208.489 cv 120.063 207.668 120.622 207.102 121.337 206.206 cv 120.194 206.289 119.412 206.372 118.076 206.704 cv cp f 120.859 184.88 mo 120.159 184.738 118.066 184.36 116.062 184.48 cv 115.064 184.533 114.1 184.707 113.379 184.94 cv 112.697 185.156 112.256 185.412 112.109 185.515 cv 111.099 185.467 110.038 185.417 108.854 185.365 cv 70.4263 183.682 li 52.5444 182.898 li 60.7109 180.379 li 62.9497 179.686 64.2061 179.249 66.0508 178.586 cv 64.1538 179.079 62.8687 179.424 60.6294 180.112 cv 53.377 182.348 li 55.5361 181.31 li 56.5684 180.812 57.1343 180.487 57.959 179.992 cv 57.0566 180.327 56.4497 180.564 55.415 181.059 cv 52.7183 182.354 li 57.7539 178.397 li 67.5767 170.68 li 69.0845 169.492 69.9106 168.781 71.1167 167.72 cv 69.8013 168.641 68.915 169.276 67.4043 170.46 cv 57.5815 178.178 li 52.6523 182.05 li 62.8149 170.179 li 64.7637 167.899 65.833 166.576 67.395 164.614 cv 65.6982 166.459 64.5557 167.721 62.603 169.998 cv 51.9604 182.429 li 52.1519 181.814 li 57.2388 165.492 li 58.0181 162.983 58.4155 161.546 58.9839 159.424 cv 58.2456 161.493 57.7563 162.902 56.9722 165.409 cv 52.1226 180.973 li 52.3047 179.916 li 53.5723 172.563 li 53.7646 171.433 53.8276 170.784 53.9028 169.825 cv 53.6523 170.753 53.4946 171.386 53.2974 172.516 cv 52.0303 179.868 li 51.7305 181.605 li 51.6641 178.9 li 51.1992 159.805 li 51.1255 156.87 51.0366 155.207 50.8882 152.757 cv 50.8589 155.211 50.8511 156.877 50.9204 159.811 cv 51.3857 178.907 li 51.4395 181.123 li 49.0986 167.462 li 48.6528 164.873 48.3535 163.412 47.8955 161.264 cv 48.1787 163.442 48.3823 164.919 48.8237 167.509 cv 51.1528 181.099 li 51.0049 180.638 li 45.0566 162.051 li 44.1406 159.195 43.5762 157.59 42.728 155.23 cv 43.4067 157.644 43.8799 159.279 44.7915 162.136 cv 50.7397 180.723 li 51.0718 181.762 li 48.9165 177.921 li 41.4561 164.622 li 40.3081 162.579 39.6152 161.443 38.5801 159.779 cv 39.4604 161.53 40.0688 162.712 41.2134 164.758 cv 48.6738 178.058 li 50.7573 181.773 li 50.5527 181.493 50.332 181.201 50.0498 180.848 cv 45.4878 175.161 li 40.9253 169.474 li 40.2227 168.602 39.7876 168.136 39.1323 167.461 cv 39.6484 168.247 40.0088 168.773 40.7085 169.648 cv 45.27 175.335 li 49.8325 181.022 li 50.1992 181.477 50.4932 181.821 50.7827 182.142 cv 40.4565 173.444 li 38.105 171.466 36.7407 170.38 34.7197 168.794 cv 36.626 170.516 37.9282 171.676 40.2764 173.657 cv 49.0313 181.032 li 32.5996 169.43 li 29.3271 167.122 27.4434 165.851 24.6587 163.993 cv 27.3408 165.996 29.1689 167.346 32.4395 169.658 cv 50.6216 182.496 li 49.1812 181.939 li 24.8726 172.535 li 21.1362 171.09 19 170.316 15.8472 169.191 cv 18.936 170.482 21.0371 171.347 24.7725 172.794 cv 49.0801 182.199 li 49.6631 182.425 li 48.8921 182.194 48.0923 181.968 47.0361 181.69 cv 34.5093 178.414 li 21.9814 175.138 li 20.0562 174.636 18.9526 174.397 17.3213 174.063 cv 18.9072 174.569 19.9873 174.902 21.9111 175.407 cv 34.4385 178.684 li 46.9653 181.96 li 48.439 182.343 49.4346 182.574 50.5493 182.811 cv 31.999 181.998 li 26.0938 181.741 22.7422 181.642 17.8047 181.515 cv 22.7344 181.82 26.0815 182.016 31.9873 182.276 cv 49.1421 183.028 li 48.7109 183.037 48.2559 183.049 47.7104 183.074 cv 37.124 183.556 li 26.5381 184.039 li 24.9111 184.115 23.9902 184.206 22.6353 184.356 cv 23.9985 184.383 24.9238 184.389 26.5503 184.317 cv 37.1372 183.835 li 47.7231 183.352 li 48.8887 183.297 49.6934 183.234 50.5542 183.148 cv 42.3345 185.123 li 24.1436 189.491 li 21.3481 190.164 19.7744 190.592 17.4595 191.239 cv 19.8154 190.765 21.4126 190.431 24.2085 189.761 cv 42.3994 185.394 li 50.519 183.445 li 28.9834 194.481 li 25.5415 196.248 23.6108 197.292 20.7754 198.845 cv 23.6924 197.45 25.6665 196.492 29.1104 194.73 cv 49.9854 184.032 li 49.7974 184.157 49.5962 184.295 49.3721 184.452 cv 43.4858 188.598 li 37.5991 192.744 li 36.6963 193.382 36.2104 193.783 35.5059 194.388 cv 36.313 193.928 36.854 193.607 37.7593 192.971 cv 43.646 188.825 li 49.5327 184.679 li 49.9136 184.41 50.2139 184.185 50.4932 183.967 cv 33.8462 200.573 li 31.1094 203.306 29.5903 204.89 27.3647 207.235 cv 29.7158 205.016 31.3027 203.5 34.043 200.77 cv 50.4956 184.359 li 48.4551 187.18 li 47.9658 187.86 47.7266 188.273 47.3882 188.893 cv 47.8701 188.378 48.1885 188.021 48.6812 187.343 cv 49.0332 186.856 li 43.6851 195.275 li 37.9722 204.27 li 37.0962 205.653 36.6392 206.462 35.9805 207.665 cv 36.7891 206.558 37.3276 205.799 38.2075 204.419 cv 43.9209 195.425 li 49.6338 186.43 li 50.2407 185.472 50.6455 184.788 51.0562 184.06 cv 51.0854 184.019 li 49.5566 187.889 li 42.2041 206.484 li 41.0762 209.343 40.4795 210.981 39.6187 213.401 cv 40.6455 211.047 41.3306 209.444 42.4629 206.587 cv 49.8154 187.992 li 51.355 184.098 li 51.1353 184.984 50.9487 185.81 50.7139 187.018 cv 48.6147 197.878 li 46.5156 208.738 li 46.1953 210.407 46.0591 211.363 45.877 212.774 cv 46.2344 211.397 46.4644 210.459 46.7891 208.791 cv 48.8882 197.931 li 50.9873 187.071 li 51.2524 185.689 51.3921 184.785 51.5352 183.717 cv 51.5376 183.755 li 51.4868 184.225 51.4531 184.68 51.438 185.32 cv 51.3062 191.518 li 51.1748 197.716 li 51.1567 198.668 51.1938 199.209 51.2656 200.007 cv 51.3716 199.213 51.4312 198.674 51.4531 197.722 cv 51.585 191.523 li 51.7017 186.001 li 52.8188 201.286 li 53.0615 204.579 53.2456 206.442 53.5352 209.187 cv 53.4229 206.43 53.335 204.559 53.0962 201.266 cv 51.9683 185.812 li 52.0371 186.206 li 55.7275 207.37 li 56.2969 210.622 56.666 212.458 57.2275 215.16 cv 56.8418 212.428 56.5669 210.575 56.002 207.322 cv 52.3115 186.157 li 51.9668 184.178 li 52.1665 184.826 52.377 185.458 52.6963 186.324 cv 55.9497 195.101 li 59.2036 203.879 li 59.7051 205.227 60.0342 205.975 60.5352 207.071 cv 60.2012 205.913 59.9624 205.132 59.4644 203.782 cv 56.2114 195.005 li 52.9575 186.227 li 52.603 185.275 52.333 184.621 52.0298 183.933 cv 59.5171 195.755 li 61.0898 198.234 62.021 199.615 63.4087 201.639 cv 62.1719 199.52 61.3213 198.088 59.7529 195.607 cv 52.2725 183.795 li 55.7871 186.913 li 56.415 187.467 56.8027 187.747 57.3853 188.144 cv 56.9209 187.613 56.5972 187.262 55.9722 186.705 cv 52.7637 183.858 li 59.4985 187.771 li 61.9849 189.213 63.4194 189.991 65.5405 191.121 cv 63.5083 189.837 62.123 188.976 59.6387 187.53 cv 52.5625 183.417 li 56.2524 184.353 li 58.1128 184.823 59.1802 185.044 60.7568 185.353 cv 59.2241 184.872 58.1807 184.557 56.3208 184.083 cv 52.7998 183.188 li 70.4146 183.96 li 108.842 185.643 li 110.028 185.695 111.093 185.739 112.107 185.779 cv 112.121 185.786 li 112.113 185.78 113.793 186.708 115.856 186.993 cv 117.907 187.336 120.163 187.022 120.888 186.871 cv 122.24 186.603 122.988 186.332 124.018 185.828 cv 122.949 185.413 122.208 185.152 120.859 184.88 cv cp f 120.159 179.906 mo 119.966 179.218 119.35 177.182 118.332 175.452 cv 117.83 174.587 117.237 173.808 116.701 173.272 cv 116.204 172.769 115.782 172.494 115.619 172.407 cv 115.201 171.482 114.761 170.513 114.268 169.433 cv 98.2842 134.448 li 90.8491 118.173 li 96.8018 124.294 li 98.437 125.973 99.3984 126.893 100.827 128.234 cv 99.5259 126.768 98.6338 125.782 97.002 124.101 cv 91.7148 118.662 li 93.6201 120.111 li 94.5337 120.804 95.0801 121.159 95.8965 121.668 cv 95.188 121.018 94.6997 120.586 93.7886 119.89 cv 91.4092 118.078 li 97.2227 120.76 li 108.563 125.996 li 110.307 126.799 111.315 127.211 112.809 127.803 cv 111.39 127.05 110.422 126.55 108.68 125.744 cv 97.3389 120.508 li 91.6523 117.881 li 106.843 121.527 li 109.76 122.225 111.425 122.575 113.882 123.073 cv 111.467 122.402 109.824 121.958 106.909 121.255 cv 90.9976 117.436 li 91.6294 117.327 li 108.479 114.429 li 111.067 113.981 112.528 113.681 114.676 113.222 cv 112.498 113.506 111.021 113.711 108.432 114.154 cv 92.374 116.917 li 93.3901 116.6 li 100.513 114.384 li 101.607 114.041 102.213 113.802 103.102 113.432 cv 102.16 113.632 101.525 113.779 100.43 114.117 cv 93.3081 116.333 li 91.6274 116.856 li 94.0034 115.568 li 110.798 106.464 li 113.379 105.063 114.82 104.227 116.934 102.98 cv 114.735 104.071 113.248 104.822 110.666 106.219 cv 93.8711 115.323 li 91.9219 116.379 li 103.023 108.077 li 105.127 106.502 106.291 105.571 107.996 104.186 cv 106.185 105.429 104.962 106.283 102.856 107.854 cv 91.8145 116.111 li 92.1582 115.77 li 106.003 102.017 li 108.13 99.9023 109.303 98.6689 111.018 96.8403 cv 109.177 98.5425 107.936 99.7075 105.808 101.819 cv 91.9624 115.572 li 91.1865 116.343 li 93.6274 112.673 li 102.076 99.9785 li 103.372 98.0259 104.069 96.8926 105.079 95.2134 cv 103.92 96.7935 103.144 97.8735 101.844 99.8232 cv 93.395 112.519 li 91.0322 116.069 li 91.1885 115.758 91.3481 115.428 91.5352 115.015 cv 94.5234 108.362 li 97.5107 101.71 li 97.9678 100.688 98.1846 100.088 98.4868 99.1978 cv 98.022 100.015 97.7178 100.576 97.2568 101.597 cv 94.2686 108.249 li 91.2813 114.901 li 91.043 115.435 90.8706 115.854 90.7163 116.258 cv 93.7642 103.103 li 94.4556 100.109 94.8022 98.3994 95.2949 95.8784 cv 94.6289 98.3599 94.1885 100.047 93.4922 103.04 cv 90.9087 114.191 li 93.7656 94.2793 li 94.333 90.314 94.6079 88.0586 94.9951 84.7329 cv 94.4312 88.0327 94.061 90.2749 93.4902 94.2397 cv 90.3276 116.275 li 90.1685 114.739 li 87.4863 88.811 li 87.0713 84.8262 86.79 82.5718 86.3569 79.2524 cv 86.6128 82.5898 86.7983 84.855 87.2085 88.8398 cv 89.8916 114.768 li 89.9561 115.388 li 89.811 114.597 89.6475 113.781 89.4146 112.714 cv 86.6323 100.069 li 83.8501 87.4229 li 83.4204 85.48 83.1309 84.3882 82.6865 82.7837 cv 82.9565 84.4268 83.1523 85.5396 83.5776 87.4829 cv 86.3594 100.128 li 89.1416 112.774 li 89.4697 114.256 89.7168 115.246 90.0117 116.342 cv 82.3008 99.4634 li 79.8423 94.0874 78.4053 91.0581 76.2725 86.604 cv 78.2432 91.1323 79.5933 94.2017 82.0474 99.5791 cv 89.1963 115.227 li 88.9883 114.839 88.7656 114.432 88.4888 113.945 cv 83.2417 104.736 li 77.9951 95.5283 li 77.1865 94.1138 76.687 93.335 75.936 92.1968 cv 76.5327 93.4233 76.9478 94.25 77.7529 95.6655 cv 83 104.875 li 88.2466 114.083 li 88.8252 115.094 89.2471 115.782 89.7144 116.507 cv 84.2173 110.088 li 72.0503 95.875 li 70.1787 93.6919 69.082 92.4844 67.4521 90.7178 cv 68.9468 92.6001 69.9707 93.8706 71.8389 96.0562 cv 84.0059 110.269 li 89.4375 116.616 li 69.8066 102.456 li 66.668 100.194 64.8604 98.9492 62.187 97.1304 cv 64.7559 99.0938 66.5078 100.417 69.644 102.682 cv 88.6724 116.407 li 88.4741 116.296 88.2598 116.18 88.0181 116.051 cv 81.647 112.696 li 75.2754 109.341 li 74.2954 108.827 73.7178 108.578 72.8584 108.225 cv 73.6348 108.734 74.1675 109.07 75.146 109.587 cv 81.5166 112.942 li 87.8882 116.298 li 88.3003 116.515 88.6362 116.678 88.9561 116.828 cv 66.5996 109.557 li 62.9204 108.362 60.8184 107.73 57.7173 106.814 cv 60.7632 107.898 62.8354 108.624 66.5132 109.822 cv 88.6074 117.008 li 85.1748 116.474 li 84.3472 116.348 83.8696 116.322 83.1646 116.302 cv 83.8423 116.498 84.3042 116.618 85.1318 116.75 cv 85.7573 116.847 li 75.792 115.913 li 65.1821 114.917 li 63.5518 114.766 62.6216 114.727 61.2515 114.688 cv 62.606 114.904 63.5259 115.039 65.1558 115.194 cv 75.7651 116.189 li 86.375 117.185 li 87.5078 117.29 88.3032 117.339 89.1416 117.373 cv 89.187 117.38 li 85.0391 117.779 li 65.1318 119.69 li 62.0728 119.986 60.3418 120.2 57.7949 120.534 cv 60.3594 120.377 62.0986 120.259 65.1582 119.968 cv 85.0654 118.057 li 89.2344 117.657 li 88.3457 117.864 87.5259 118.074 86.3438 118.414 cv 75.7188 121.486 li 65.0938 124.558 li 63.4609 125.031 62.5483 125.345 61.209 125.825 cv 62.5981 125.516 63.5376 125.295 65.1709 124.825 cv 75.7959 121.753 li 86.4209 118.681 li 87.7729 118.289 88.6416 118.002 89.6582 117.643 cv 89.626 117.663 li 89.1831 117.831 88.7632 118.007 88.1846 118.286 cv 82.6055 120.987 li 77.0259 123.689 li 76.1694 124.105 75.7041 124.384 75.0264 124.812 cv 75.7813 124.545 76.2891 124.353 77.1475 123.939 cv 82.7271 121.238 li 87.7061 118.827 li 74.5918 126.779 li 71.77 128.494 70.1938 129.506 67.8813 131.012 cv 70.2861 129.658 71.9121 128.728 74.7368 127.018 cv 87.9849 118.984 li 87.6699 119.221 li 70.499 132.135 li 67.8618 134.122 66.3931 135.285 64.2427 137.015 cv 66.5005 135.427 68.0264 134.34 70.6665 132.358 cv 87.8374 119.444 li 89.4438 118.235 li 88.9575 118.708 88.4893 119.185 87.8628 119.864 cv 81.5269 126.753 li 75.1904 133.644 li 74.2188 134.705 73.7017 135.338 72.9536 136.283 cv 73.833 135.458 74.4209 134.89 75.3955 133.833 cv 81.7319 126.943 li 88.0679 120.052 li 88.7539 119.304 89.2129 118.768 89.6865 118.185 cv 82.5645 130.23 li 81.0713 132.758 80.2656 134.216 79.0938 136.373 cv 80.4185 134.307 81.3081 132.898 82.8037 130.372 cv 89.9224 118.336 li 88.7422 122.885 li 88.5342 123.697 88.4609 124.169 88.3716 124.869 cv 88.6333 124.213 88.7993 123.766 89.0122 122.955 cv 90.0898 118.798 li 89.6704 126.577 li 89.5176 129.448 89.4775 131.079 89.437 133.482 cv 89.6553 131.089 89.7915 129.462 89.9487 126.592 cv 90.3911 118.424 li 91.2349 122.133 li 91.6626 124.004 91.9507 125.056 92.3926 126.6 cv 92.124 125.016 91.9302 123.943 91.5068 122.071 cv 90.7002 118.519 li 98.0303 134.563 li 114.014 169.549 li 114.506 170.625 114.95 171.59 115.375 172.508 cv 115.375 172.536 li 115.376 172.526 115.313 174.446 116 176.413 cv 116.627 178.394 117.935 180.26 118.399 180.837 cv 119.253 181.92 119.835 182.462 120.753 183.15 cv 120.636 182.01 120.531 181.231 120.159 179.906 cv cp f 217.124 264.375 mo 214.472 263.337 212.667 262.646 209.458 261.503 cv 190.233 254.677 li 190.36 254.705 190.479 254.733 190.622 254.762 cv 196.834 256.03 li 203.046 257.298 li 204.001 257.491 204.553 257.554 205.368 257.629 cv 204.588 257.38 204.057 257.222 203.102 257.025 cv 196.89 255.757 li 190.677 254.489 li 190.377 254.428 190.123 254.383 189.882 254.343 cv 210.334 254.972 li 213.739 255.075 215.672 255.085 218.52 255.084 cv 215.678 254.908 213.748 254.8 210.343 254.694 cv 190.087 254.071 li 192.926 253.699 li 193.657 253.601 194.066 253.5 194.665 253.331 cv 194.059 253.322 193.639 253.331 192.944 253.417 cv 201 251.868 li 210.215 250.095 li 211.631 249.821 212.425 249.619 213.592 249.304 cv 212.392 249.445 211.579 249.552 210.163 249.822 cv 200.947 251.593 li 191.732 253.367 li 190.795 253.548 190.13 253.7 189.45 253.872 cv 192.727 252.565 li 209.083 246.043 li 211.597 245.039 213.004 244.426 215.071 243.505 cv 212.939 244.261 211.496 244.785 208.98 245.785 cv 192.624 252.306 li 189.361 253.607 li 190.005 253.248 190.62 252.886 191.467 252.35 cv 199.692 247.136 li 207.918 241.922 li 209.181 241.119 209.872 240.625 210.88 239.88 cv 209.776 240.474 209.034 240.888 207.769 241.687 cv 199.543 246.901 li 191.318 252.115 li 190.417 252.687 189.807 253.105 189.166 253.566 cv 189.403 253.382 189.646 253.178 189.945 252.91 cv 193.999 249.25 li 198.052 245.591 li 198.673 245.027 198.995 244.672 199.455 244.136 cv 198.875 244.541 198.489 244.824 197.865 245.384 cv 193.812 249.044 li 190.456 252.074 li 199.345 242.377 li 201.308 240.232 202.387 238.984 203.963 237.133 cv 202.256 238.863 201.105 240.046 199.139 242.189 cv 190.141 252.003 li 190.152 251.99 li 201.49 236.839 li 203.23 234.511 204.18 233.161 205.564 231.163 cv 204.037 233.054 203.011 234.346 201.267 236.673 cv 189.929 251.822 li 188.996 253.07 li 189.256 252.611 189.512 252.132 189.832 251.492 cv 193.49 244.103 li 197.149 236.712 li 197.71 235.577 197.986 234.912 198.375 233.923 cv 197.826 234.832 197.464 235.455 196.899 236.589 cv 193.241 243.978 li 189.582 251.368 li 189.219 252.103 188.977 252.642 188.745 253.199 cv 191.758 241.417 li 192.396 238.912 192.714 237.48 193.162 235.365 cv 192.541 237.436 192.131 238.844 191.488 241.347 cv 188.464 253.168 li 188.341 249.145 li 188.316 248.408 188.256 247.992 188.147 247.378 cv 188.078 247.997 188.042 248.417 188.063 249.154 cv 188.173 252.76 li 186.65 246.246 li 186.072 243.782 185.699 242.394 185.131 240.354 cv 185.525 242.435 185.806 243.843 186.379 246.31 cv 187.991 253.212 li 186.42 250.388 li 185.597 248.913 185.089 248.097 184.325 246.906 cv 184.934 248.184 185.358 249.046 186.177 250.525 cv 187.659 253.193 li 177.608 241.548 li 155.476 215.906 li 154.793 215.116 154.18 214.41 153.594 213.737 cv 153.59 213.724 li 153.592 213.732 153.171 212.09 152.105 210.594 cv 151.085 209.07 149.518 207.812 148.983 207.439 cv 147.993 206.733 147.363 206.422 146.413 206.076 cv 146.784 207.015 147.06 207.652 147.702 208.682 cv 148.034 209.216 149.056 210.786 150.345 212 cv 151.562 213.227 153.07 213.886 153.402 213.918 cv 153.979 214.593 154.586 215.301 155.265 216.088 cv 177.397 241.73 li 187.627 253.583 li 181.174 249.926 li 179.378 248.911 178.336 248.375 176.792 247.603 cv 178.248 248.531 179.243 249.149 181.037 250.169 cv 186.642 253.347 li 184.895 252.674 li 183.952 252.313 183.4 252.152 182.581 251.932 cv 183.336 252.318 183.853 252.569 184.794 252.935 cv 187.117 253.83 li 181.684 253.015 li 170.805 251.38 li 169.133 251.132 168.178 251.037 166.768 250.916 cv 168.151 251.213 169.092 251.404 170.764 251.656 cv 181.643 253.291 li 186.934 254.085 li 173.359 254.736 li 170.721 254.865 169.227 254.984 167.027 255.179 cv 169.235 255.162 170.734 255.138 173.373 255.014 cv 187.685 254.33 li 187.249 254.542 li 173.713 261.142 li 171.635 262.158 170.477 262.775 168.778 263.703 cv 170.555 262.936 171.755 262.404 173.835 261.392 cv 186.509 255.212 li 185.938 255.591 li 180.462 259.218 li 179.621 259.778 179.17 260.134 178.516 260.674 cv 179.268 260.283 179.772 260.006 180.615 259.451 cv 186.092 255.824 li 187.244 255.062 li 185.674 256.615 li 173.716 268.446 li 171.88 270.265 170.872 271.332 169.399 272.914 cv 170.997 271.458 172.073 270.46 173.912 268.644 cv 185.87 256.814 li 187.093 255.603 li 179.891 265.175 li 178.501 267.025 177.75 268.104 176.66 269.702 cv 177.893 268.21 178.72 267.19 180.114 265.343 cv 187.268 255.834 li 187.179 255.997 li 178.858 271.035 li 177.581 273.346 176.898 274.679 175.908 276.654 cv 177.054 274.767 177.821 273.478 179.102 271.169 cv 187.422 256.132 li 187.809 255.433 li 186.699 258.978 li 182.682 271.792 li 182.066 273.761 181.762 274.894 181.331 276.565 cv 181.932 274.947 182.328 273.844 182.947 271.875 cv 186.964 259.061 li 188.01 255.727 li 187.97 255.957 187.929 256.201 187.889 256.486 cv 187 262.845 li 186.11 269.205 li 185.976 270.183 185.946 270.744 185.92 271.573 cv 186.123 270.769 186.248 270.22 186.386 269.244 cv 187.275 262.884 li 188.165 256.525 li 188.224 256.101 188.26 255.761 188.287 255.439 cv 188.937 267.103 li 189.089 269.804 189.223 271.335 189.437 273.587 cv 189.4 271.326 189.363 269.79 189.215 267.088 cv 188.676 257.412 li 191.112 274.57 li 191.609 278.06 191.938 280.035 192.44 282.94 cv 192.114 280.009 191.881 278.023 191.387 274.531 cv 188.652 255.256 li 189.115 256.391 li 197.769 277.648 li 199.101 280.914 199.899 282.749 201.093 285.445 cv 200.064 282.681 199.354 280.81 198.027 277.542 cv 189.373 256.287 li 189.301 256.111 li 189.573 256.649 189.868 257.213 190.251 257.918 cv 195.719 267.923 li 201.186 277.928 li 202.028 279.464 202.547 280.314 203.327 281.556 cv 202.703 280.229 202.269 279.333 201.431 277.795 cv 195.963 267.791 li 190.497 257.785 li 189.888 256.673 189.447 255.921 188.956 255.123 cv 199.529 267.373 li 202.932 271.312 204.898 273.515 207.806 276.75 cv 205.033 273.399 203.14 271.133 199.74 267.19 cv 190.139 256.066 li 190.323 256.25 190.513 256.44 190.734 256.654 cv 197.439 263.146 li 204.143 269.638 li 205.175 270.634 205.792 271.166 206.715 271.935 cv 205.917 271.039 205.365 270.437 204.337 269.438 cv 197.632 262.946 li 190.928 256.455 li 190.248 255.798 189.745 255.344 189.219 254.889 cv 195.295 258.864 li 209.083 267.882 li 211.204 269.266 212.432 270.013 214.251 271.095 cv 212.529 269.863 211.354 269.038 209.236 267.649 cv 195.448 258.63 li 189.409 254.679 li 209.364 261.767 li 212.575 262.906 214.412 263.506 217.124 264.375 cv cp f 204.187 233.162 mo 205.969 233.894 206.998 234.265 208.52 234.796 cv 207.065 234.101 206.073 233.64 204.293 232.905 cv 192.701 228.131 li 187.882 226.146 li 203.53 228.552 li 206.092 228.944 207.552 229.12 209.706 229.361 cv 207.58 228.943 206.133 228.673 203.572 228.276 cv 188.734 225.996 li 193.351 226.055 li 198.173 226.115 li 198.914 226.123 199.335 226.08 199.956 225.999 cv 199.338 225.902 198.917 225.848 198.177 225.837 cv 193.354 225.775 li 188.531 225.715 li 188.468 225.714 188.417 225.716 188.358 225.716 cv 203.296 223.338 li 205.855 222.929 207.3 222.65 209.424 222.222 cv 207.272 222.474 205.812 222.658 203.252 223.063 cv 188.441 225.421 li 190.11 224.872 li 190.642 224.693 190.929 224.548 191.346 224.317 cv 191.072 224.354 190.84 224.395 190.599 224.45 cv 195.882 222.349 li 202.515 219.71 li 203.533 219.303 204.093 219.028 204.913 218.606 cv 204.028 218.863 203.432 219.047 202.412 219.452 cv 195.779 222.089 li 189.146 224.728 li 188.65 224.926 188.265 225.093 187.903 225.261 cv 189.803 224.048 li 201.097 216.842 li 202.831 215.733 203.79 215.065 205.191 214.064 cv 203.694 214.914 202.684 215.502 200.946 216.607 cv 189.653 223.813 li 187.769 225.015 li 188.092 224.744 188.425 224.449 188.839 224.061 cv 194.242 218.99 li 199.645 213.919 li 200.474 213.139 200.912 212.661 201.544 211.946 cv 200.79 212.532 200.286 212.938 199.454 213.716 cv 194.051 218.787 li 188.648 223.858 li 188.279 224.206 187.992 224.491 187.726 224.766 cv 187.747 224.74 187.764 224.72 187.785 224.692 cv 190.29 221.38 li 192.794 218.068 li 193.178 217.557 193.358 217.24 193.609 216.761 cv 193.216 217.132 192.959 217.392 192.573 217.9 cv 190.067 221.212 li 188.422 223.387 li 193.306 215.48 li 194.467 213.598 195.085 212.505 195.98 210.886 cv 194.934 212.412 194.234 213.453 193.069 215.334 cv 188.099 223.381 li 194.122 211.029 li 195.089 209.04 195.596 207.891 196.326 206.191 cv 195.436 207.813 194.843 208.919 193.872 210.907 cv 187.563 223.845 li 187.236 224.513 li 187.322 224.252 187.408 223.977 187.504 223.638 cv 189.183 217.596 li 190.863 211.554 li 191.119 210.625 191.219 210.085 191.349 209.286 cv 191.048 210.038 190.855 210.551 190.595 211.479 cv 188.915 217.521 li 187.235 223.563 li 187.114 224 187.031 224.348 186.959 224.68 cv 187.504 215.824 li 187.622 213.861 187.643 212.744 187.655 211.099 cv 187.465 212.734 187.349 213.845 187.226 215.808 cv 186.67 224.838 li 186.054 222.085 li 185.929 221.538 185.813 221.238 185.624 220.8 cv 185.639 221.276 185.661 221.598 185.782 222.146 cv 186.307 224.493 li 184.374 220.15 li 183.588 218.391 183.1 217.412 182.364 215.978 cv 182.937 217.485 183.337 218.502 184.119 220.264 cv 186.214 224.974 li 184.789 223.273 li 183.962 222.288 183.457 221.759 182.698 220.993 cv 183.32 221.874 183.751 222.464 184.575 223.452 cv 185.854 224.98 li 176.937 217.916 li 156.736 201.912 li 156.117 201.422 155.56 200.985 155.029 200.569 cv 155.024 200.56 li 155.026 200.566 154.475 199.393 153.46 198.424 cv 152.475 197.427 151.121 196.71 150.665 196.507 cv 149.822 196.122 149.3 195.99 148.535 195.888 cv 148.93 196.55 149.219 196.994 149.847 197.673 cv 150.172 198.025 151.163 199.054 152.303 199.779 cv 153.379 200.514 154.588 200.796 154.87 200.78 cv 155.395 201.201 155.947 201.642 156.563 202.13 cv 176.764 218.134 li 185.952 225.413 li 180.787 223.66 li 179.299 223.157 178.44 222.916 177.169 222.578 cv 178.383 223.085 179.211 223.417 180.698 223.923 cv 184.934 225.362 li 183.956 225.187 li 183.199 225.053 182.762 225.023 182.114 224.997 cv 182.73 225.199 183.15 225.323 183.907 225.461 cv 185.466 225.742 li 181.597 225.897 li 173.233 226.231 li 171.948 226.284 171.221 226.361 170.151 226.493 cv 171.228 226.54 171.959 226.558 173.244 226.509 cv 181.608 226.176 li 185.34 226.028 li 175.613 228.373 li 173.659 228.846 172.563 229.16 170.951 229.64 cv 172.604 229.333 173.724 229.112 175.678 228.644 cv 186.123 226.126 li 185.957 226.25 li 176.785 233.117 li 175.376 234.172 174.606 234.809 173.481 235.762 cv 174.712 234.953 175.541 234.392 176.951 233.338 cv 185.14 227.209 li 185.124 227.225 li 181.549 230.72 li 181.001 231.259 180.723 231.598 180.327 232.11 cv 180.848 231.725 181.193 231.455 181.744 230.919 cv 185.319 227.425 li 185.825 226.931 li 185.067 228.033 li 177.819 238.585 li 176.707 240.208 176.115 241.154 175.257 242.559 cv 176.261 241.255 176.933 240.363 178.049 238.743 cv 185.297 228.191 li 185.78 227.488 li 181.965 235.261 li 181.191 236.842 180.794 237.759 180.226 239.119 cv 180.954 237.838 181.437 236.962 182.215 235.383 cv 185.996 227.681 li 182.026 239.792 li 181.403 241.703 181.093 242.801 180.655 244.425 cv 181.263 242.857 181.663 241.789 182.292 239.878 cv 186.365 227.451 li 186.451 227.189 li 186.165 229.667 li 184.992 239.82 li 184.813 241.38 184.758 242.271 184.696 243.583 cv 184.936 242.291 185.085 241.412 185.269 239.851 cv 186.442 229.698 li 186.696 227.511 li 186.697 227.556 186.697 227.593 186.699 227.64 cv 186.942 232.521 li 187.185 237.402 li 187.225 238.152 187.293 238.574 187.414 239.197 cv 187.472 238.566 187.498 238.138 187.463 237.388 cv 187.22 232.507 li 186.978 227.626 li 186.969 227.475 186.959 227.344 186.949 227.215 cv 188.997 235.435 li 189.496 237.433 189.826 238.554 190.327 240.203 cv 189.998 238.511 189.763 237.367 189.267 235.369 cv 187.673 228.966 li 191.689 240.708 li 192.56 243.248 193.098 244.672 193.908 246.765 cv 193.267 244.615 192.82 243.159 191.953 240.619 cv 187.246 226.855 li 187.607 227.411 li 197.111 242.066 li 198.573 244.316 199.442 245.568 200.736 247.401 cv 199.591 245.471 198.803 244.167 197.345 241.914 cv 188.159 227.749 li 188.317 227.949 188.484 228.159 188.677 228.394 cv 194.19 235.092 li 199.704 241.792 li 200.553 242.82 201.071 243.374 201.847 244.177 cv 201.208 243.26 200.764 242.646 199.919 241.615 cv 194.405 234.916 li 188.892 228.216 li 188.368 227.582 187.968 227.129 187.558 226.685 cv 196.964 234.137 li 200.07 236.595 201.86 237.953 204.509 239.937 cv 201.971 237.812 200.24 236.379 197.137 233.919 cv 189.022 227.49 li 194.8 231.282 li 200.736 235.177 li 201.65 235.775 202.194 236.074 203.004 236.5 cv 202.292 235.925 201.8 235.545 200.889 234.945 cv 194.953 231.049 li 189.017 227.153 li 188.574 226.864 188.218 226.645 187.876 226.447 cv 192.595 228.39 li 204.187 233.162 li cp f 189.35 184.157 mo 190.005 184.258 li 207.266 186.915 li 209.919 187.321 211.431 187.505 213.661 187.758 cv 211.458 187.33 209.961 187.05 207.309 186.64 cv 190.617 184.07 li 190.874 184.085 191.143 184.1 191.45 184.112 cv 200.119 184.454 li 208.789 184.795 li 210.121 184.846 210.879 184.828 211.995 184.782 cv 210.886 184.65 210.131 184.572 208.8 184.517 cv 200.13 184.175 li 191.46 183.833 li 190.65 183.803 190.051 183.8 189.456 183.811 cv 201.253 181.751 li 205.155 181.068 207.36 180.634 210.604 179.978 cv 207.329 180.459 205.108 180.798 201.205 181.477 cv 190.967 183.264 li 197.681 181.464 li 204.539 179.625 li 205.592 179.341 206.177 179.134 207.035 178.812 cv 206.131 178.962 205.521 179.076 204.467 179.356 cv 197.608 181.195 li 190.75 183.033 li 190.238 183.171 189.839 183.292 189.463 183.415 cv 194.053 181.184 li 205.327 175.706 li 207.059 174.862 208.021 174.341 209.429 173.558 cv 207.943 174.181 206.939 174.616 205.206 175.456 cv 193.932 180.934 li 189.244 183.21 li 201.45 173.131 li 203.447 171.479 204.549 170.506 206.162 169.059 cv 204.436 170.369 203.271 171.268 201.272 172.917 cv 189.697 182.475 li 192.815 179.066 li 196.07 175.505 li 196.569 174.957 196.817 174.614 197.169 174.097 cv 196.686 174.494 196.367 174.771 195.865 175.317 cv 192.609 178.877 li 189.354 182.438 li 189.311 182.486 189.278 182.525 189.238 182.57 cv 197.398 169.837 li 198.795 167.654 199.548 166.391 200.641 164.52 cv 199.398 166.294 198.564 167.506 197.164 169.686 cv 189.071 182.315 li 189.772 180.699 li 189.993 180.184 190.076 179.873 190.181 179.408 cv 190.031 179.628 189.912 179.813 189.796 180.021 cv 191.73 174.71 li 194.174 168.001 li 194.547 166.97 194.714 166.369 194.945 165.478 cv 194.547 166.308 194.289 166.876 193.912 167.907 cv 191.468 174.614 li 189.025 181.322 li 188.843 181.825 188.71 182.225 188.596 182.606 cv 188.955 180.377 li 191.087 167.151 li 191.413 165.118 191.551 163.957 191.737 162.245 cv 191.375 163.929 191.142 165.074 190.812 167.106 cv 188.68 180.333 li 188.323 182.545 li 188.335 182.122 188.336 181.676 188.323 181.108 cv 188.131 173.7 li 187.94 166.292 li 187.908 165.154 187.843 164.51 187.73 163.561 cv 187.666 164.515 187.634 165.161 187.662 166.3 cv 187.853 173.708 li 188.044 181.116 li 188.058 181.622 188.08 182.024 188.108 182.404 cv 188.103 182.374 188.1 182.348 188.093 182.315 cv 187.287 178.241 li 186.481 174.167 li 186.354 173.541 186.237 173.195 186.046 172.689 cv 186.063 173.229 186.085 173.594 186.208 174.22 cv 187.014 178.295 li 187.545 180.979 li 184.886 172.066 li 184.252 169.946 183.847 168.758 183.234 167.012 cv 183.677 168.809 183.99 170.024 184.62 172.146 cv 187.318 181.197 li 182.109 168.494 li 181.268 166.449 180.747 165.306 179.964 163.629 cv 180.583 165.373 181.014 166.552 181.852 168.599 cv 187.313 181.918 li 187.594 182.605 li 187.457 182.369 187.308 182.121 187.119 181.824 cv 183.725 176.55 li 180.332 171.276 li 179.809 170.467 179.473 170.034 178.962 169.404 cv 179.323 170.13 179.578 170.616 180.098 171.427 cv 183.491 176.701 li 186.884 181.975 li 187.13 182.354 187.333 182.649 187.534 182.922 cv 181.288 176.626 li 179.901 175.231 179.081 174.473 177.859 173.368 cv 178.954 174.598 179.706 175.424 181.09 176.822 cv 187.462 183.246 li 184.995 181.873 li 184.504 181.603 184.203 181.49 183.75 181.339 cv 184.116 181.645 184.371 181.842 184.86 182.117 cv 186.959 183.285 li 182.434 181.839 li 180.599 181.254 179.543 180.968 177.984 180.563 cv 179.489 181.137 180.516 181.516 182.35 182.105 cv 187.261 183.676 li 185.038 183.607 li 183.752 183.57 183.021 183.595 181.944 183.651 cv 183.016 183.773 183.744 183.844 185.029 183.886 cv 187.042 183.949 li 175.816 185.908 li 150.426 190.34 li 149.648 190.477 148.951 190.602 148.287 190.721 cv 148.281 190.72 li 148.287 190.723 147.045 190.354 145.646 190.466 cv 144.247 190.538 142.81 191.072 142.355 191.277 cv 141.506 191.649 141.059 191.951 140.475 192.454 cv 141.231 192.6 141.755 192.68 142.681 192.664 cv 143.161 192.655 144.588 192.601 145.888 192.232 cv 147.158 191.916 148.175 191.196 148.345 190.979 cv 149.007 190.867 149.702 190.75 150.475 190.615 cv 175.864 186.183 li 187.402 184.169 li 182.667 186.855 li 181.301 187.631 180.55 188.113 179.452 188.838 cv 180.637 188.268 181.436 187.87 182.803 187.098 cv 186.698 184.891 li 185.915 185.505 li 185.311 185.981 184.998 186.288 184.547 186.754 cv 185.107 186.428 185.48 186.197 186.087 185.724 cv 187.332 184.748 li 184.877 187.736 li 179.562 194.203 li 178.746 195.198 178.321 195.792 177.707 196.679 cv 178.458 195.905 178.958 195.373 179.777 194.38 cv 185.093 187.913 li 187.462 185.031 li 182.742 193.853 li 181.795 195.626 181.3 196.653 180.586 198.176 cv 181.457 196.738 182.037 195.755 182.988 193.983 cv 188.058 184.51 li 188.04 184.715 li 187.061 196.131 li 186.913 197.886 186.875 198.885 186.838 200.358 cv 187.052 198.9 187.186 197.909 187.338 196.155 cv 188.212 185.964 li 188.214 185.989 li 188.444 190.986 li 188.482 191.754 188.55 192.188 188.669 192.826 cv 188.728 192.179 188.756 191.742 188.723 190.974 cv 188.492 185.977 li 188.46 185.27 li 188.78 186.571 li 191.834 199.004 li 192.305 200.915 192.618 201.987 193.097 203.562 cv 192.791 201.944 192.571 200.85 192.104 198.938 cv 189.05 186.504 li 188.847 185.672 li 192.109 193.694 li 192.775 195.324 193.196 196.231 193.833 197.56 cv 193.361 196.165 193.029 195.221 192.368 193.589 cv 189.134 185.64 li 195.534 196.663 li 196.544 198.4 197.158 199.362 198.079 200.77 cv 197.313 199.273 196.782 198.263 195.774 196.523 cv 189.208 185.211 li 189.068 184.971 li 190.729 186.834 li 197.529 194.466 li 198.575 195.638 199.204 196.271 200.144 197.191 cv 199.337 196.152 198.78 195.455 197.737 194.281 cv 190.938 186.648 li 189.471 185.003 li 189.507 185.032 189.535 185.057 189.572 185.087 cv 193.377 188.153 li 197.183 191.22 li 197.769 191.689 198.131 191.919 198.675 192.244 cv 198.243 191.78 197.941 191.476 197.357 191.003 cv 193.552 187.937 li 189.747 184.87 li 189.629 184.775 189.524 184.697 189.421 184.619 cv 196.917 188.56 li 198.741 189.515 199.797 190.016 201.361 190.738 cv 199.88 189.859 198.868 189.272 197.047 188.313 cv 191.203 185.239 li 202.644 190.057 li 205.118 191.096 206.54 191.642 208.641 192.431 cv 206.608 191.479 205.224 190.843 202.752 189.8 cv 189.35 184.157 li cp f 148.023 264.484 mo 149.863 265.171 150.924 265.515 152.493 266.008 cv 150.987 265.349 149.959 264.915 148.121 264.222 cv 136.146 259.741 li 134.222 259.02 li 134.592 259.105 134.985 259.186 135.484 259.275 cv 142.451 260.491 li 149.418 261.707 li 150.489 261.892 151.105 261.951 152.015 262.019 cv 151.136 261.775 150.537 261.622 149.466 261.433 cv 142.499 260.216 li 135.532 259 li 135.099 258.925 134.747 258.875 134.414 258.832 cv 138.364 258.843 li 142.329 258.855 li 142.938 258.854 143.284 258.807 143.793 258.719 cv 143.285 258.628 142.938 258.58 142.33 258.576 cv 138.365 258.564 li 135.89 258.556 li 144.595 257.759 li 146.698 257.564 147.886 257.406 149.635 257.157 cv 147.87 257.229 146.672 257.291 144.57 257.481 cv 135.71 258.294 li 148.46 255.83 li 150.532 255.427 151.699 255.152 153.415 254.73 cv 151.666 254.978 150.48 255.158 148.407 255.556 cv 134.916 258.164 li 134.309 258.281 li 134.532 258.204 134.767 258.119 135.044 258.011 cv 140.618 255.83 li 146.192 253.648 li 147.047 253.31 147.516 253.075 148.199 252.712 cv 147.451 252.91 146.947 253.054 146.09 253.388 cv 140.517 255.57 li 134.942 257.752 li 134.568 257.9 134.273 258.027 133.997 258.156 cv 141.008 253.535 li 142.575 252.5 143.437 251.874 144.697 250.937 cv 143.339 251.724 142.424 252.271 140.855 253.301 cv 133.683 258.028 li 135.406 256.015 li 135.752 255.606 135.914 255.344 136.137 254.946 cv 135.778 255.228 135.543 255.427 135.194 255.833 cv 133.74 257.533 li 135.918 253.625 li 136.812 252.017 137.277 251.083 137.948 249.699 cv 137.122 250.997 136.572 251.884 135.675 253.488 cv 133.3 257.747 li 133.773 255.727 li 134.051 254.533 134.164 253.843 134.312 252.826 cv 133.991 253.803 133.785 254.469 133.502 255.664 cv 133.083 257.445 li 133.359 246.664 li 133.986 222.079 li 134.005 221.328 134.02 220.653 134.032 220.01 cv 134.036 220.001 li 134.033 220.006 134.612 218.914 134.771 217.584 cv 134.969 216.261 134.739 214.815 134.633 214.353 cv 134.445 213.487 134.244 213.014 133.88 212.374 cv 133.597 213.053 133.421 213.528 133.262 214.396 cv 133.179 214.846 132.961 216.191 133.061 217.477 cv 133.116 218.717 133.592 219.798 133.768 220.009 cv 133.747 220.65 133.727 221.323 133.708 222.072 cv 133.08 246.656 li 132.795 257.811 li 131.181 252.894 li 130.712 251.47 130.402 250.678 129.927 249.517 cv 130.232 250.734 130.452 251.556 130.917 252.982 cv 132.217 256.945 li 131.835 256.185 li 131.504 255.532 131.275 255.182 130.92 254.675 cv 131.116 255.261 131.259 255.656 131.586 256.311 cv 132.238 257.611 li 129.939 254.792 li 124.892 248.605 li 124.115 247.655 123.638 247.146 122.92 246.408 cv 123.5 247.259 123.902 247.828 124.676 248.781 cv 129.723 254.97 li 131.93 257.677 li 124.622 251.644 li 123.142 250.425 122.272 249.771 120.98 248.82 cv 122.159 249.908 122.967 250.637 124.444 251.859 cv 132.324 258.365 li 132.163 258.318 li 121.672 255.255 li 120.06 254.787 119.131 254.566 117.76 254.257 cv 119.082 254.736 119.982 255.05 121.594 255.522 cv 130.861 258.228 li 126.231 257.515 li 125.507 257.405 125.089 257.39 124.47 257.384 cv 125.062 257.566 125.465 257.676 126.188 257.791 cv 130.9 258.515 li 131.505 258.609 li 130.294 258.661 li 118.091 259.181 li 116.216 259.263 115.154 259.357 113.591 259.511 cv 115.162 259.535 116.228 259.537 118.103 259.458 cv 130.306 258.939 li 131.032 258.908 li 123.004 260.436 li 121.354 260.752 120.428 260.978 119.066 261.328 cv 120.461 261.153 121.406 261.023 123.056 260.71 cv 131.004 259.198 li 119.585 263.083 li 117.771 263.702 116.757 264.098 115.27 264.699 cv 116.815 264.267 117.859 263.961 119.675 263.346 cv 131.485 259.329 li 131.673 259.264 li 129.672 260.435 li 121.257 265.361 li 119.965 266.119 119.255 266.589 118.22 267.298 cv 119.345 266.744 120.103 266.355 121.398 265.601 cv 129.813 260.676 li 131.558 259.656 li 131.546 259.666 131.537 259.672 131.524 259.683 cv 127.942 262.667 li 124.361 265.65 li 123.812 266.11 123.53 266.406 123.128 266.858 cv 123.645 266.542 123.987 266.321 124.539 265.863 cv 128.121 262.88 li 131.702 259.896 li 131.793 259.82 131.869 259.752 131.947 259.683 cv 126.896 265.905 li 125.66 267.433 124.995 268.328 124.029 269.658 cv 125.133 268.441 125.873 267.605 127.113 266.081 cv 130.981 261.316 li 124.42 270.98 li 122.983 273.099 122.207 274.328 121.079 276.148 cv 122.354 274.427 123.21 273.252 124.651 271.136 cv 132.416 259.702 li 132.216 260.248 li 126.486 275.895 li 125.608 278.3 125.154 279.681 124.501 281.72 cv 125.32 279.742 125.865 278.394 126.748 275.992 cv 132.248 260.972 li 132.194 261.177 132.14 261.385 132.082 261.625 cv 130.134 269.671 li 128.187 277.716 li 127.891 278.953 127.767 279.666 127.604 280.718 cv 127.94 279.707 128.157 279.017 128.458 277.782 cv 130.405 269.736 li 132.352 261.691 li 132.531 260.949 132.645 260.395 132.743 259.843 cv 132.453 271.241 li 132.357 275.019 132.351 277.162 132.36 280.321 cv 132.529 277.167 132.632 275.026 132.731 271.248 cv 132.979 261.544 li 133.389 267.953 li 133.823 274.713 li 133.892 275.751 133.978 276.337 134.122 277.2 cv 134.155 276.326 134.165 275.734 134.101 274.695 cv 133.668 267.935 li 133.234 261.175 li 133.203 260.705 133.167 260.333 133.125 259.98 cv 134.33 264.615 li 137.336 276.194 li 137.801 277.972 138.109 278.97 138.581 280.434 cv 138.281 278.925 138.065 277.904 137.606 276.125 cv 134.6 264.544 li 133.364 259.783 li 140.475 273.052 li 141.646 275.23 142.351 276.443 143.405 278.222 cv 142.507 276.36 141.887 275.1 140.721 272.919 cv 133.997 260.373 li 136.547 263.855 li 139.269 267.57 li 139.688 268.138 139.964 268.435 140.385 268.859 cv 140.107 268.33 139.91 267.977 139.493 267.405 cv 136.773 263.691 li 134.052 259.977 li 134.036 259.955 134.023 259.939 134.007 259.917 cv 144.318 269.884 li 146.098 271.602 147.14 272.542 148.687 273.914 cv 147.263 272.414 146.288 271.404 144.512 269.683 cv 134.271 259.785 li 135.596 260.706 li 136.038 261.009 136.314 261.144 136.733 261.326 cv 136.578 261.166 136.446 261.033 136.3 260.903 cv 140.829 263.666 li 146.648 267.212 li 147.543 267.756 148.075 268.025 148.869 268.404 cv 148.168 267.873 147.686 267.522 146.793 266.975 cv 140.974 263.427 li 135.156 259.878 li 134.747 259.63 134.417 259.443 134.1 259.273 cv 136.048 260.001 li 148.023 264.484 li cp f 166.422 204.812 mo 171.052 187.765 160.985 170.193 143.938 165.567 cv 126.894 160.941 109.322 171.008 104.696 188.055 cv 100.064 205.1 110.134 222.67 127.181 227.3 cv 144.226 231.923 161.799 221.859 166.422 204.812 cv cp f 15.8472 319.784 mo 15.8472 322.25 li 693.17 322.25 li 693.17 319.784 li 15.8472 319.784 li cp f 290.682 189.912 mo 290.682 199.996 li 251.988 199.996 li 251.988 236.016 li 290.682 236.016 li 290.682 246.172 li 251.988 246.172 li 251.988 292.276 li 241.435 292.276 li 241.435 189.912 li 290.682 189.912 li cp f 363.505 189.912 mo 374.058 189.912 li 374.058 262.597 li 372.913 270.667 369.445 277.509 363.656 283.128 cv 356.719 289.803 348.364 293.139 338.582 293.139 cv 328.703 293.139 320.297 289.803 313.359 283.128 cv 306.425 276.452 302.957 268.382 302.957 258.923 cv 302.957 189.912 li 313.509 189.912 li 313.509 258.923 li 313.509 265.501 315.957 271.158 320.844 275.888 cv 325.735 280.617 331.647 282.984 338.582 282.984 cv 345.468 282.984 351.346 280.617 356.21 275.888 cv 361.076 271.158 363.505 265.501 363.505 258.923 cv 363.505 189.912 li cp f 417.065 237.958 mo 409.532 235.559 403.484 232.173 398.918 227.803 cv 394.353 223.434 392.068 218.03 392.068 211.594 cv 392.068 205.353 394.399 199.973 399.068 195.46 cv 403.732 190.945 409.381 188.688 416.017 188.688 cv 422.556 188.688 428.194 190.945 432.932 195.46 cv 435.477 197.86 437.524 201.271 439.069 205.687 cv 429.489 209.291 li 428.292 206.167 426.945 203.888 425.448 202.445 cv 422.854 199.95 419.71 198.7 416.017 198.7 cv 412.327 198.7 409.172 199.95 406.552 202.445 cv 403.933 204.944 402.62 207.992 402.62 211.594 cv 402.62 215.198 403.919 218.247 406.511 220.745 cv 409.157 223.29 412.85 225.618 417.588 227.732 cv 426.023 230.325 433.157 234.429 438.995 240.049 cv 445.282 246.15 448.425 253.498 448.425 262.093 cv 448.425 270.738 445.258 278.123 438.919 284.245 cv 432.584 290.367 424.95 293.428 416.017 293.428 cv 406.987 293.428 399.328 290.356 393.041 284.207 cv 387.951 279.311 384.807 272.995 383.61 265.263 cv 393.713 261.806 li 394.461 268.482 396.684 273.593 400.375 277.15 cv 404.715 281.28 409.933 283.343 416.017 283.343 cv 422.106 283.343 427.306 281.269 431.625 277.111 cv 435.938 272.958 438.096 267.952 438.096 262.093 cv 438.096 256.282 435.952 251.287 431.66 247.111 cv 427.669 243.267 422.805 240.218 417.065 237.958 cv cp f 472.225 189.912 mo 472.225 292.276 li 461.671 292.276 li 461.671 189.912 li 472.225 189.912 li cp f 540.486 198.7 mo 528.411 198.7 518.083 202.831 509.5 211.09 cv 500.918 219.352 496.623 229.292 496.623 240.912 cv 496.623 252.582 500.918 262.56 509.5 270.845 cv 518.083 279.129 528.411 283.272 540.486 283.272 cv 552.608 283.272 562.963 279.129 571.544 270.845 cv 580.128 262.56 584.417 252.582 584.417 240.912 cv 584.417 229.292 580.128 219.352 571.544 211.09 cv 562.963 202.831 552.608 198.7 540.486 198.7 cv cp 579.071 203.85 mo 589.719 214.104 595.046 226.459 595.046 240.912 cv 595.046 255.464 589.719 267.857 579.071 278.084 cv 568.414 288.314 555.554 293.428 540.486 293.428 cv 525.467 293.428 512.63 288.314 501.979 278.084 cv 491.321 267.857 485.997 255.464 485.997 240.912 cv 485.997 226.459 491.321 214.104 501.979 203.85 cv 512.63 193.599 525.467 188.473 540.486 188.473 cv 555.554 188.473 568.414 193.599 579.071 203.85 cv cp f 618.699 189.912 mo 682.617 276.067 li 682.617 189.912 li 693.17 189.912 li 693.17 292.276 li 680.747 292.276 li 618.401 208.209 li 618.401 292.276 li 607.846 292.276 li 607.846 189.912 li 618.699 189.912 li cp f 28.5825 362.338 mo 28.5825 444.097 li 39.2104 444.097 li 53.1313 444.097 64.085 440.401 72.0669 433.007 cv 80.6001 424.793 84.8652 414.852 84.8652 403.183 cv 84.8652 391.561 80.6001 381.621 72.0669 373.358 cv 64.085 366.011 53.1313 362.338 39.2104 362.338 cv 28.5825 362.338 li cp 39.2852 352.037 mo 56.6494 352.134 70.1724 356.837 79.8516 366.157 cv 90.4297 376.433 95.7178 388.777 95.7178 403.183 cv 95.7178 417.687 90.4297 430.053 79.8516 440.281 cv 70.1724 449.6 56.6494 454.306 39.2852 454.401 cv 18.0298 454.401 li 18.0298 352.037 li 39.2852 352.037 li cp f 120.042 352.037 mo 120.042 454.401 li 109.489 454.401 li 109.489 352.037 li 120.042 352.037 li cp f 148.109 362.193 mo 148.109 410.315 li 162.928 410.315 li 169.814 410.315 175.703 407.962 180.591 403.255 cv 185.482 398.549 187.926 392.858 187.926 386.182 cv 187.926 379.553 185.482 373.899 180.591 369.215 cv 175.703 364.534 169.814 362.193 162.928 362.193 cv 148.109 362.193 li cp 163.452 420.542 mo 148.109 420.542 li 148.109 454.401 li 137.556 454.401 li 137.556 352.037 li 166.746 352.037 li 175.179 353.091 182.29 356.433 188.077 362.047 cv 195.013 368.772 198.479 376.815 198.479 386.182 cv 198.479 395.692 195.013 403.783 188.077 410.459 cv 183.236 415.07 178.796 417.853 174.754 418.816 cv 198.779 454.401 li 185.98 454.401 li 163.452 420.542 li cp f 267.71 352.037 mo 267.71 362.121 li 222.653 362.121 li 222.653 398.141 li 267.71 398.141 li 267.71 408.295 li 222.653 408.295 li 222.653 444.245 li 267.71 444.245 li 267.71 454.401 li 212.1 454.401 li 212.1 352.037 li 267.71 352.037 li cp f 360.759 433.438 mo 368.693 440.281 li 357.018 450.462 344.169 455.552 330.147 455.552 cv 315.081 455.552 302.243 450.451 291.643 440.248 cv 281.038 430.041 275.736 417.687 275.736 403.183 cv 275.736 388.777 281.038 376.444 291.643 366.192 cv 302.243 355.939 315.081 350.813 330.147 350.813 cv 344.169 350.813 357.018 355.952 368.693 366.229 cv 360.759 373 li 351.429 365.074 341.225 361.113 330.147 361.113 cv 318.074 361.113 307.757 365.22 299.202 373.43 cv 290.642 381.643 286.364 391.561 286.364 403.183 cv 286.364 414.852 290.642 424.806 299.202 433.042 cv 307.757 441.28 318.074 445.397 330.147 445.397 cv 341.225 445.397 351.429 441.41 360.759 433.438 cv cp f 409.083 362.121 mo 409.083 454.401 li 398.604 454.401 li 398.604 362.121 li 372.858 362.121 li 372.858 352.037 li 434.754 352.037 li 434.754 362.121 li 409.083 362.121 li cp f 481.97 360.824 mo 469.895 360.824 459.565 364.956 450.984 373.214 cv 442.404 381.475 438.112 391.417 438.112 403.038 cv 438.112 414.707 442.404 424.683 450.984 432.969 cv 459.565 441.253 469.895 445.397 481.97 445.397 cv 494.095 445.397 504.449 441.253 513.03 432.969 cv 521.611 424.683 525.905 414.707 525.905 403.039 cv 525.905 391.417 521.611 381.475 513.03 373.214 cv 504.449 364.956 494.095 360.824 481.97 360.824 cv cp 520.552 365.974 mo 531.205 376.228 536.532 388.583 536.532 403.039 cv 536.532 417.588 531.205 429.981 520.552 440.209 cv 509.898 450.44 497.04 455.552 481.97 455.552 cv 466.951 455.552 454.114 450.44 443.462 440.209 cv 432.808 429.981 427.484 417.588 427.484 403.038 cv 427.484 388.583 432.808 376.228 443.462 365.974 cv 454.114 355.724 466.951 350.597 481.97 350.597 cv 497.04 350.597 509.898 355.724 520.552 365.974 cv cp f 560.109 362.193 mo 560.109 410.315 li 574.926 410.315 li 581.814 410.315 587.699 407.962 592.59 403.255 cv 597.483 398.549 599.924 392.858 599.924 386.182 cv 599.924 379.553 597.483 373.899 592.59 369.215 cv 587.699 364.534 581.814 362.193 574.926 362.193 cv 560.109 362.193 li cp 575.451 420.542 mo 560.109 420.542 li 560.109 454.401 li 549.555 454.401 li 549.555 352.037 li 578.744 352.037 li 587.174 353.091 594.285 356.433 600.075 362.047 cv 607.009 368.772 610.478 376.815 610.478 386.182 cv 610.478 395.692 607.009 403.784 600.075 410.459 cv 595.236 415.07 590.793 417.853 586.752 418.816 cv 610.777 454.401 li 597.979 454.401 li 575.451 420.542 li cp f 645.943 413.125 mo 609.27 352.037 li 621.32 352.037 li 651.181 401.815 li 681.045 352.037 li 693.17 352.037 li 656.497 413.125 li 656.497 454.401 li 645.943 454.401 li 645.943 413.125 li cp f %ADOBeginClientInjection: EndPageContent "AI11EPS" userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse %ADOEndClientInjection: EndPageContent "AI11EPS" grestore grestore pgrs %%PageTrailer %ADOBeginClientInjection: PageTrailer Start "AI11EPS" [/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 %ADOEndClientInjection: PageTrailer Start "AI11EPS" [ [/CSA [/0 ]] ] del_res Adobe_AGM_Image/pt gx Adobe_CoolType_Core/pt get exec Adobe_AGM_Core/pt gx currentdict Adobe_AGM_Utils eq {end} if %%Trailer Adobe_AGM_Image/dt get exec Adobe_CoolType_Core/dt get exec Adobe_AGM_Core/dt get exec %%EOF %AI9_PrintingDataEnd userdict /AI9_read_buffer 256 string put userdict begin /ai9_skip_data { mark { currentfile AI9_read_buffer { readline } stopped { } { not { exit } if (%AI9_PrivateDataEnd) eq { exit } if } ifelse } loop cleartomark } def end userdict /ai9_skip_data get exec %AI9_PrivateDataBegin %!PS-Adobe-3.0 EPSF-3.0 %%Creator: Adobe Illustrator(R) 15.0 %%AI8_CreatorVersion: 15.0.0 %%For: (Nathalie Dourov) () %%Title: (£-Fusiondirectory-noir-OK--.eps) %%CreationDate: 7/06/11 10:17 %%Canvassize: 16383 %AI9_DataStream %Gb"-6l]*74FXHkdnIGAmZ-m#0@J:-a(a(Ui@tqtn38%FF@[WnlDsfChgY@sh1snEJ,CBQ\uG5^<=\PrQ?r/&Pf$R0rRZ7CoCU;qT%alMjr;3T:8QFqjgOm;LZP_-ZH)%)oUfmL#NC$9RZ%D7JGW2UPNI;o1_KmqbaK7(3%`%e^nFJT2If&c*aPl1VDa2#6pu+_% %%6`'i]mfR.VbaXO^]*'8m;"cVGVkHQpAf:M)]6h>ZJJg;2,8OXTh=Rs-])5.$fFDAqJTs$WeJ]_VJ[U!\R`s8)@PDXRPoRAnT] %:Q54$.K"\ar;Z9mBT2jN7fG;8r\d7EQIcjIQ,7a1_OjHZ]1V%o8i`HhB((+CmsIq"bW5Tjn*6J4ikP8<^?^%)]8fC1np'56N^phH %FQ.47-Y@f+c/5-gqM\mbpaSJ]UOLB^iql7t_>j+44=:'"n)?'1V"u*mM#ZXbGXVHoNuKmKcgmIuJ,[A2ir?P8SL89B8&YH!\G8'N %Gtd"kcDL<]GO`3kqs4ei4J2%<-@*KBMSTVY>k7.$W,?O4LF2^fLeX!IHH3\oo*Zc=MP=NYhl_sJ\*ZtF.G:@t3piK:' %=oP&^iR&[[!bI".FQTq8V/FX6BEco*Qn,!]/V#LYVE41'S^+h?X7O>u@mr(0`LZHan(P?:YM\Z,@]l6#e?!GgF/(=Wj@AHYEk=MV %p^5e;3=GF8Bj[hYF?f#NT:RkB:7nSG=e=rp(h"cekrB]u(&4M1D-*A%hT6<.)UtcK1fn@nC;?sT'WdZ[*1,Lo3jb",;m\@CV/A'I2$qb %&^g&;)n!&/YD"`B`0?dF4fIM=ob< %'up))7IUHfP?Btak=YWf>V[&a;uE!1Qp.LV[dSkK.Fm)gN.PaPhSp1fjrZp8O:dmEPVpT:Nl`$-6laf,<98kt*1-%mYVECp*J;?Y08e3'%8;dB\d_qjne%1Sp>/o)3*&"2/SRcX^c.GTX&kG):fm`j$$/2l%$t8*=uZkDXE+ %>FDV#a')<*UBBjtdsr=3)%bE1m6Elq/ %R]V^Sf,Pb)EU'bo!V0B+D=l5r3oqf/TZ^>q.V=eB3p.Gs)EQ*Ar__M#0!C.94a)nE^/EdOc(jY9gOui-'smF6s73kr;Uj0GAZ>"a5AR'WVMibluWFq$i#m!(lX#rJ;< %9t8X8S_7cqlY4GKQ/BXY%m6NBR"roF8uiI0/26NBk>n!^g]oM+$:imrH'#;V'i96as7a7;RS,^;*8iNaZp`JjZL9-kLIR:eA>sm&beP`q) %;!#AAF&hA4VX4DfB3I_"o[]mFFT2[H'DQ(\8R^"uRoQca@29%P=6OqGoRs,0frbq`_E;YdBo[`,I!Pu*L%hsWe*>D_ZrAL#j1`0$ %qf.R;l;O=R[J**?oJ!*p`i$CYX$9Wl8@`>t<&:+rEDNWWonpJ9In8^2gtFg]a,>=$FC5T7*:28;ET8bhpi>:nfETLUX@Jpti&siG %E(PsmYdhUVi>BYI%a1C2-!5^79@#aN#.i70K'PJ5,9ERA!$+5ig\k=FX::/;e@AoXq.NRchOq[CmG:c %CJgML)c@"9gIWS@e"2`:'4Oc^iS#1j=Ci6l.Gt96R>T;NC<`m/'N*_$s'fkGT!._IqcLG@@Zttjj_(3`a/\d*s&T-M[CPK%DXFO; %3@\kL2Y)_U^0=)hI?E%n;,?bO0=&`=>H&pS#OT8q>G`r@oOY:-dct$SQe]KEe+mO$or_$#K1E9%mYVh.H(F]rm]27>],OfKLp52r %d^?"/a_u:n[ %rTcV[g6@qQCNT"B)t;iZ_3]Ud<:ZkI?M])\mk=Y/V%[EkP\`%b89V8OP+g]ELIMVA9jaNe:M1)]tI/K:ak2aSifCX'DSX %O-MfsHWnH>7lSb^S0"rK`Hm9Qfg!%$4,SmJMJ^=OQ"Xr$j?+cbI`Y%hT%:CSrkV?@.5SAa>+0de4JH8]ojE7L5MW0&LWEnN$8VKf %s/Sn4_lHq7;RfAJIE^9L:1;P=p)eM(g"o3bVK>k.FCq[48i8Hc$,!7cIX^-93O5h]UaVeo%;b[ieHSnXXnMQq25L@BN4*L]/6^Rb %VYu9n[!:T[(Zs!(`='lT4m08k[=2/Wb+Qa#2Vs.>V['_;UZoB8>-hE,7Muip[RD3j#90aYn\KO]417F6;k=V>li05'N03_Z'nq,lupp?4l%:8[3W@_E0\/,Ns7&AWnVLCOSV(q>%JsUW5a]+`o %jW^BI7/fu[!I(I#PHHL,ZsR;]FAU1^3EnZjb4I_/H,[F[97;&+WH1pJ.-qbne+k:O %CYB+3jCOc\%r@!2P)F67Apr<)8Zdug,rV3kq6&Pe\#qREZHokYlYp`]c?2to4h%Fb#&^7&qR\A"A=lc5\OhGn< %%u-]Qi*j^Um@%TtO]Y0!?2iSjNTp"2k]^S3B&mC%72pF/\80>sD_t_(pha/7+=h;Yp%[K]hC,%H*BuaZSrR`nL#Al$5/.'l>Q&I; %/`6Kml1;C!dgZo[q:C,hOm[\mJTiL^r^sn=^]*KpDs=>&o',2D^\dPVhg@Qa`SK,fs5E5)kF^VDV;#neqB,_$l0[ZK]_RImd]\_( %hL5!M2f[2W]A[D[^AIhMqrZ`'rpn%j:@I(fHFhKWl!aCDhr"D)_p`NfIX7THs5`4lhnFTOH28VTT0@[J]$Zug5Q(NFrQ!goNn^tV %T5NM5q"j-f^\RN6n*]56n)&M;oBAa&k?\#XM5KZE)T(*Uq!dGAh>dF*rUkZ]K66SJGJC%;hU!9Md*:%;Dgk2T.?DP%UW`,=@JT0r %3dUDn+)gT)5CN>'S+GT$r*R:,hgTnC2?1DdqWWatpZ\0:F[Z)mGB`\c\%E+2e'7ihDnl+gS"G3.q#8tSn\-TD[s,U_c*uSL0D;2( %aNsh^lKbA=^k]](TJQD?4[.[aJ,K642nY`S56(NINpcmuY-aBOT0C$ek-GU^#isl_B?)t"hnLDirnTfQHi"!F]q)X9I;1:iLG]&# %r!sn,^\d/]M%+s\p3t0EHMd^+B7K^=o@*;(c1*ppk1tfrM9JDuZC"Tb52eCU9Z5nK^'nCp]U[9q#ITorh]8TEMp>\c8m] %s'J;H]HdCG,OY9CfAGG4q"X:+?QRc/2sr$JgjabI]7W2TS$.9hs,$b\p>V@,9Rf,!mUqa;IXgECdPmc:sWlU]W[>`WutpaS,"Kr1ijW#>OX=@bOM;rqb9og@tch9g?u %f28[U\K9urnPs.cWm#ijb>RJub0[.2Vet"2cj`-YFh-r$]!puRQW6l:FjdShQF$EK_Nc%flGBVf'9DU]rJ+MiC\PBXUh/`>9'm:CUkM\.5Y&s3V?[a#]%gBW@BDqY"_&jTnTu$3Ri"*Kq6\@T[q!XtDi^LWT %G+JH,OkeZ8lZ;Gts7O8'm.K3N4%G$0NILl#GOKqB0>%,YGfRSonDVX`e(6On2:.=1(\n.%bYS4Yg\bX+SBUQAhC_%!b-s;)[)a&1 %Hl1mSMBC%XLF!El>chtti+dhDrS>EemT9[i`iFp1@rM1U4QZf1.^#c)cq7;AV'ceW_C:RVh8@(skR-k:C4d'9i5u %N9*PaPM&?a@N-,gM7_EW8$RYA@f*IeS&Es]#I/:;`3Ns4p*;P4&@46PRG,S-]bgS;;63GE(*jiSKcGn<`r-o\f1.Sc+!4:6'.kJV %8F6;]O3R(og[Ar)T,pcU;+HNnmM;!+=4gbtF/A!@\.4Ge?5=b,=5-u.F58G"4g)\3m2n8fs(_EqY!)igi/J?FMc#+I+q=5$o) %F-Yj=hbXh&pL3AUXH(6USJWu5?/t*ek#s=]`Ql/Aah\fX`SlDYOjC[ndtt#TlO!$:8ifgB-*#'T4cu\aTA8I`aQe=gq4>[/'=h*e %]1bpflH;CQ_X3KT516\'B\8=-V9l"aRaaT$mV#<9BqRt"cT>=u7c[C%=;'"Z+BihSMiT\D7q.WC@[9JW;i#]30i9'*EX-VL+))4G %`+=/2D2l'.&GIL1_Eco?aL-Gl)*\b'h@[@X@bX69Ru!%+Z*P[9q2n_@88N`Fm+r5jpP&B,OW4WP%pV9>[Xf[FM*$k:NBHl#![NmN %#p`>P3K\9++I^"l@FIg3<"_B_KMWq&jGQ+\'@#\BZ+rLoX%lQnP4ZmB`?Il0T3XM*gcl@jglo86,k`^E^J&)jOuW*U`=oB'"*)pU %M9?spJRiC:)4F*^#*PrW-$.;-Q5L=51`2>%-l!Hsh:tMKT %]I67Y;2r%BO#,HW6`k@a$X](fnuCbOpn@npI/>9?]oXj\4b>jXE)H.&E8:tP$iSPY0,LlHN."rq[f6'`$C`R6 %Y-bh3H6"P#IX]ft=1`KU#kR!NQ0[iGY5@hVE!a$Za7"?q^>js'ms?(hs!'`bpqO>TD01*3JYs6!G4;_heJ;I9eS5\s9h\UXiBh\n %q4YI^LQE\5k(o%,KijoPR3H:SU1!d@bnt0?8@(c(madJDZhtDU8B<#!QZP>l64$5[8#2Gi/V:hm=4gbt?AFYu>(?*sX'E4#p,_O? %m<`)NBbA&hQbhSF\m)AUp>_corGUR9QmiU"'Om^s@\$"uRR!ZILe7#j3LDK0%p0=C3`"=>`P,iPGHC<13PJBP"+_Rc+U@)W;.7Q^rZ2)1lN_iaHJ_g2Fal0Z8-f12HI+>A`RO)ASQ2W %jeABbh>Fh@>fX2:iSsO?]agNmV_>ffC%&s_b5M3Es/$8%5NY"Sa4GfOI+Z2U*FAaAqd4hfK406Mc9Zs6og=?r1`0hTf<9(a,@?jK %Yb?3f*V;kd_3ZEu=OIhI^"HWdinQ9dhG:-r/C(&P2^pEZmfLF5\(&:G_q]nE,Sr8J9.hPW2f[gVQ);5c5I%9df!a.so8#G_`MfrW %R(f2hnmr$r*? %0B9&i066C"X=9=/kh3Mf-g/)W;\c#;]q>Y8hU83t2)t0?T9MUa(\(W+A!s\&R=\0'@Z#l4RrHXP8m_?QDG\D4I8N7n/jqN.e't=n %`\fWZag'+&K7l1+T1P.fB,2Rg?/d!c:;2C!=[#C?o23AsH6J2Tp=2HXh/0LqfH0?[&JI7YC9Z=-Kg5K %qrQQ34<-89P%uM10=k+:I@4^H2mXe02&i'+nDB%eVtt``dCRH+IR0:mn?SL0)!^M6'\cT&;lNKV-48!Q1sfm8c0A`9Zh3E]B4#-B %I=JYI9BOh04n=#nr)0pKQ1+7/LRh4,&a@LAhm01GnRM6#>=8` %8oH!JOOhn!*`@>UmR_`N&q$/-6^"Vp,gWBV50`ah.=Cl[/!5LWVYi:8G:,i39hNup-3'.HCkG^E]1cITOrWh@A-.fiY(%fbUa?GU %8oum_4>i!?%2+P@U/"Js\:"pbHBe3mh*H-5ZtgDG=2VtVAY\H_dBn:h[XGOLpMoJ'aXND,4_usYlJB5J%52JRm^QYC]W-3OC$"7r&'4=t8daO-F"RDG=LbqtV^CBf]_ridZZ[ct$/]CoC8FI%-78\V>[^Js^9<58(]5:GuF.AcHHEaHnf %T4QQ\cG*ZD`s4=tmT49Gg%Cb?Ip?.H+In6E3tgq0_hn+4h6%(YZEPKNO-=u@O&D]l4@gdpQ4($qi1nZ(nDK$)Pl^>3%%+k]LV\P. %q=!_YoBf],KCo_,pV;(KPOm'nhX=o8@_'B6XrC&Yc>n3JEa+:iLN@q!YhR&5]3SmSL"-Z;?Mbp9H]cD[i3GS(`Vr9f>/WA`B,0D; %j.N1sb_$3_[iq`kK;Iak6aGTR-Eh>9XBPO&g>4-&#]Khqb=MhdE$N#Rq50BU=QT/Jahga>0YTBt>P %S"*q9hpFI37MDQVX5;s2UUYHLpNZVuM#5n^Es<^O7tPDh)oMT0Pi:B %=g55?Bas7g0T7TN>O[->]nKA(]a&XsF-5!q&>O#ZG0SITn$9Om7ZjI23?CYdUGpN^@2(f[D="A]9--UN,K_&>-RAY8(gbLpY@(SN %Z@Z)ALHPf6C'G+8:^hV'?'S)DGuI1nVL6l2q9PQEJrF+[oS[33?cZ0$Q^I'!iMj^f9_HHqeDV^NqI=d8YVMKp'>sBs=0H`=b3.Bm %r[:jNHM)$>YCffm?b9XCBXi4+:<0Ee_q")Cl?,.XQCkQ?pHK\._YVS]@"%fFBCL6`=*UPFL#ELd;R>p\EK$)&GIXR!FB3Og[sh"J>)Zad/X]3GU:F[9'pY3U*4QV"!j$c6X<;HlWg_2/!)M#5#Eqn\*c %_2/!)M#0+dii\_i#AfZ0%(X&#[l*#fDmB?_)2d*Qs %EW4.DrY]gCJEu0'Uq^8-Z)-n;E3W7)iJV4EonE%l&gKR;H)(=R]`6:jmFN3F4pq@840BD]sP&Kn]?%6+3iVI\Al,u2L>XC!lQP!$d)W(#'D;*BCa4KL@nb)\b^7jAq1sbacpI_HuqsB0:c_$ijT[Ka-c_(4"s81'c %S$,&*qt?Rk='k`lHApMN*QC<.r.Rd/\b?=.`X/R)f%&-X<1+2L3Pb*t0Wc#:Aq^l)cRE/!p9)(FgIV-BQbjPQ6hbccKoXUq#3SDN0&5sG9,qX^MZ:haX0?2R]p3e"HRGTR*&Kdu$fh\$:6#*hH_Y8bJC.`\qeXKNk5Yh"SA" %`TDG7V,2rT7\EZ%D0*ClW0DIp/(Yp'nJ.7VDTS+`Lf?\l\T"n@&9qGE=6Z@/V-d7VVq^E?)lo>(Xk1N3X-`["/3/[NgFii-S+A47 %lsVGSoecMC`Zji_#/YnoM[5QOLka?hLd29I\6kR;-*/Ch_HQB>hP7HZ,r!2>)Fj$r![B8YDLkiACe90gQ?:aI>gc&ln1"WllPTX= %D_nMWcrsM`%-6_kj-&(4W5T>2B:Jh.r.r0U].JRL#YbF?U*FL$$U4/j8dNP7[r^gLl>N1p=b6'!erG:EgnlTr>6@="+g^Yrl,4RLm(g=11nDp %DY30OK5q'B493T>(8",FtCQ#%>o)c^cc:'$3?DnV'S+@2W@c!eG_`nTW] %^1^4A$Sm928Sqj$.p#V"M]FscQo<-*C)JTYIsU`uXH0$p,&g\W8d8\SGT"rq0EPek7/@hg=MR8J2j!j6%FB'4LNTLAhpl2=gTagLm'h@\4Lk^/LcKmYTYAX^;07,Hic0IGQEV %H1kmA``p^lS[EnMClRdC*T6ngP1Y`lCj*q?c(se$ds)%tDXiA.Uq;_^&q0di"ue"'[#I@1MdF%fbMBK>2[KO#8.PT1D*3 %q?D3%)EIF!lUp)u8O-Vf2sM][UN@7;JmZPE#[Rb^7L7e4HO7n%VK18/Aag];Db-hJKTYrf6dEk23anFIY4m?C$[=JYfuOotB]M,G %73e:;\R.EEM'%X?CM&/W\BIFFJ4Cj<.G5G"V6c;Ib]E`!dMD%aN6;p\3Xqn>g,\R7]P2dPEWs,Ae<;/m.+s.A0MIa?i\8T$mZGD92X`$r6[,^(-gL7d^R<30S9c18HgFWq$7BS]bI;!!clBj"%eoX*/^a%>/R?L %&3?Are"n9,&T8ANJhC:TCS1$++J2J,^#E3T19VP!NbbN2;tY/a)/bI%etV\]LcV]F3I!WN<+7f'GAUWU".^S.4G'tI3,56pL60&+ %7#j\koUO`/Sk2[84IuOQkal*.`D(-CHRJF[R0K2J?JdJ^uEJ.4W4@UfSCL0fYf?X %*airHBn18c9cKcLf)Z@V"=&IBYqPY.o-_=Ht')Ng?>.:o?comThKWO[dbY5djWT29I*aL,f*Xbk(41D %%p=-@`PilGE9Q,jal"39,5OtZCE$dcR0uFW&CTF4\:b,'&(-]aV3DBZPAS*s%0q2AMS>Eb5d$m4<(*1ZBM9JR:0ch5CT%Q.4[6_* %jC4q)Sta>+i`)]'QiP>[OCGs6*6Cn*/$N8AiD<&BZLg6@GLYG:3280bh3]F":4<=mei6VKNq]*M)(;4oVmk$S=g %9pTb3"J%hK4D7W]j0*`YKA?ms+`ZFU1*B^9##*_'1(%,//J!sA&I#$_;P&El2fCt0*(C0i=DMS9>B'!]RDK>ZDN?AnLqT5q22+GN %lJ2OEdXhB.-351$`3/G.;'+WF?2sHA"7k:=TF)M,JI`0J]SY_K+nXIdE%sZXch8E&q0@/rONhSJ,*3_RXV?"B.`D %LZ)P#LqD+Ib3X3bB0chJ$!E>+MCi&^,g`%uOF0%j$=P"#o*O)Qi+3d2:maJQ=BN9Z %bs0:C>FLQ)!oK[&6E9YC?/"=riWIB_XY-(]/AM._fo+DI(\qNi.T %OiE'iodTC=!t/33'.6P)\<0(mi2BgHJXN@;!#)iC5gth]k,2rP)1sfJ_I+Fu!enJsR'lA$mL1:S"R+$B5WFmV>]Xb+njX:0PO$6i %/E.Z?mC9;XqO'jcagjBY)kM07ESo;PE`8^,4d/AjRA%",bq9#"5Z35[Kd^JMe3!oS7Z_)use)%jS/FRTd-<'UiXhn4]^JY[qImS.Vr-GS.BX0>b.c %2=1KKIG(#^ll66d?qodFjcU(6+@.NA[^%:ibX:g&l_FYQ5d(&e@DiDb=T\g77`)p?G!f7#:HN&B=+R`mGnF97!0L:t,Cpdf1GG!K %mb)3C[#^XsB6/%!aW\R7@c;q-k$b&OrG;IqV$8pfj3U(MOW?&K=]\A1lDun]*5Zl6bXW;P1DmTWApuX*\[Z=hEjDh*"-E-ejK+eCn+:cN1L>\K %`T"egUpm"?&H+&W'QFP]0+AAhb2`1Y'Kmgf\uo4;M69KcI)-:Z+$e82Q6Hsm6j#RrhX>1f2]%8HLV[(=Mq2G9O.#+_^q?F6LRd&= %@j!l5dKiX]BaQ;j/V`^>lPR.>ADj3R^j0H$#>)cOeuBXW<+Ku&8pthlo40g'p2Nd!m.SpscJJ#&3A:?lQMNjF`Rl0N+bEGg] %`j.Qe40uYj7=@?W7QWHfCpk24Y=Gqs#Y^-/dP'U514(qcUL[:&QR94_9Ep7LN'sBY=5a!2k0/g]VcHB4f^u]4"]2fs@m6El[t.'R %,CkJjVZLpR2EDU._(/XYfOcILibCbL2Jg3c/G7)%?R%k%7iC[NE5D^[l12#V<@srK"O(k?PtR0J)k'uL_9Ati54FsTkZtlfW/*'''i_jF(2O\b`er;9X1f8 %7T6'iES7`#mu%KO1$'+:]gPXupoje&%2;q%FKYgZZrIa&(,J9./@&*0$,?n7[&D?l]hfHhiEg0:%h4ikSt^:&4i3*>;hG&bZ#Q,\ %W(qIR,#khhHISb\]3"!XH7.9E/]1h(P#YG7J`IZ:B0`c)6j"g#)(`jMiF,]gatOp)#g/'eXK6]qGeQ-LoTd[T;UAL1>8oHGj[]aN %8gB=>Lnm3Rd.Q@G#/tuRW"B17ZB:lWE'=H&bh3MM,%S[VD/CP3LssU#-s[kH,4T%AZ?e?SSp4@I4`%N$S'`JEr:Ge2CCIDI=pp8R,#R_2CNiA;(!D?!F".eaf0rouDX0E!ME#PZeE*!f%TGDNe"+`ULS$+0G %9>FLH1&r:MPMBenLdKM;<)LqG4s/=5@s?'ENH9[t+Yn-t0p?KK)Ua/TTE3jONQ'G@!AXhA>:74fEp/j5YF3\$$T^+eP(s-:,I;YS %?r6m.Hf^8k5Y=QYA+2`HENWQZ_.Oa't[PGU@n %(/8h4!'j)7nBauBJH]\u2_+3[iS:ZdgK!q`SIe0mHP?Fe>5asL@$Lq]K@+*-K=A"Lg_d0,d<*q^`5U^7C9UO[>m+nF$%hL][?W_U %;D!o#2FEU`BA_To'B*V],8\I9Zm#:%7(lHu$b2O&:t,]\+2X]uQ#Xa:5)%C7GoI[5JtNki6Wuq47"Er-6Thcc#Cn,5apmupH[F7^ %APSP#H(pX^Uqo[Eo^1b>@G:OCY#ee]&Wd/IrW#&qk82FUXV3hh7+us8l %.`mEQ5[T0E)6jV!L)[)=r6!Y4_A>3ibFNaQqMC!cR[It_HuQ/Vj.5O^Gmbd,`(&DhkoM!S%$oqPU\AL-Af3X*P]\p/&;3[92[(<. %9._B96ahX#q4L51Lb:afVFJ,uc(YgEUX&?<(5C'U)a@DVU'kr?FIqmME=Huj9YjN_Y`>S %/Je#9ron@>i[m++[Tg_aUK%hON.L=QN/2GPQJg)dJYdpL'$-lf#],P^Fd1+'L.EHT[ua^6&L&B1M9`?>WF\UMCR'Fpa'g$O_Qbe] %BM?t,9k,3SN%cMIc@_GT'K,:7RTti@$5..Wm$h7BH3iX:E".?[AdHJ7nY<'8?_(1$843kO^B/lq<>9F+)'7H>(1U-XenR.rhQb^F %3+R<0cUV69@FkO]H5t`]iP><4@D& %BT)@ZBo9uY7&j%-Qm$_0.i"q9X#U?L4pQAO!]bhWpp$WO1!Un0U`UcV3)is6[seWfMq7s%?\'>3h%qP#FM!m@ %P`i$JO[9g"VF.)_R18"#_l6$"NO^pQLk/Un_D4i&qJ62m+[1frd)a)20TE$sCf,U0aO!#DHEK)l3n%gpWLRN2&CP+H-W`qVpo(>m %)8Tl:qAEj-9M.;`"skQh\9YV?p#_e?;420m>"gp%Ub,?hfY7Lb!Z]X`7n_aN;F&GiFpti`Egc^-g %@s/)/mXGN$O`LL2$WGNt!>/"HdOk9.OT15<)?rC4UeiOb"%UANb^]0]+H,h`s(F%%gG)2JpGD=flA.I4Au- %NqkS#)p4_.=p%ef.rbA*b#bs]A^7`FeP+-_%pc?qk^a'@Z?LQb>=r"Z;54`g4*todIeu=K8BD'*K#\,D-<.W,j[-g5RFOUccSqK#l^a,$p8(BT<]6.?!Lh]A@p;Y$>Zh<[q/1_<&ETfU]^nH]]S\7$FDL8aT"# %jP-bf#n^2r$alq)`ta@hc:_RZ(+5.G4=/?VCjVsm2%D6^J[KT'-/4%+S`eGrqgE-Lf5eWFs9$[F5@=5tJFt4X\bK]n& %S7TD&Rh`7)l=&mHf*pEd.P)oJMu!6+f:(e9Cj,977'*=0YkjL5`TRpS)OZNX?L*k&.^S&R;)^KNL^N(cQ[$Z\9u9*f5uU %XpS6PZ]U7P]#LLJT(Z=">>W*HXnk/"ljFSu<1RD,W^eI&I/Pkgd`ieeXjpd#P=mV34NItI1hdIJ<7n4ZYc+.q.;ldWj(mt0E;5\"11k@]tpRA_JKXcSMON[S!N&4QJASu)E[8M %feXXIUS5]3QFb)9-EC3NoG5Gk)V+X!p@'=)a4bk+,4Wq4o/)_PMXCVR@W@s-#.Za$g`h^+@KG,[p!uANf^=MW]EtQW[TYO&n0Ts7 %7#0h_VAd0Y(r8Q?qA"gc?G)t2@0Y?C+>Kst?[Pm3+g!j:H4C'R(7+8RcY3uueMlJ=^XW&i9tM+Br0cK+4sMs1#WDF"\kWlkQfI1=3Yp0/9VH" %>`BLT:X+^0l'$6/O"+%)DP:,5K!Dj50:4<`=k>s)X9IQ#K@XF3)FaFY+DFH:PEE9ED!Em91Pe9mg;(t.Cf?WA?n5+dWDg\7ccRZ'E86*Q %ff4?[ch.@^gd/h(JjjY"?mds+bGpn](h<[^B2q%Z8A&tH1=^BFpWd:hCf:D4'HlSN#LFZ"a_LMa"gNj4uK %,9[SJ/N99&g4FlA$`XnSe[6R9#u-SA1-HW0_0;2cPg%Wm"'`uP^n\N7HUG.PeeYbW/RU(Ej;<2#Yq3<4YG>.OWZl[)V4[rQ%5YDk %mJ>PP,pH55eg%uP\qi(a*+77R]F)b:m&#e\&,_!eOmE>U;O,aC1t %4mLHR!fZG;q^?cu]rFES*NE"38RE#ZAlBU0"^-5\@J.#68HlFZbP"P^=iJV)A/QlT:LblU@Bg7'H>X+TD2 %T+K>31L?/e?Fhr^*Xd-/g[)&LIL`cf1@2AN[a$8VW1^#Xm325jM]ttHR>N!p!:Ok_2K6r4!MSpmGORq-)@JOh=7Sr+h %OnMloG`ROnAA-":O3IG9XS!0qMeb\Ton!T-@`^Baj`$o7/.B23U1he!"s(&ZGmdC:rag#)mMB<3YaWM1Y*T30B3PYrNuEqb47iML %M=:NcC[a!-]5C[*2f]ceqq21`Trqu8mK`fY\[aT=L("'g`DC<\A>#BC.UC %af*SQC++e5>?J97fDHO&PnbO-C@rTI!5,'6SFl=)`22iMhLHgU.WB:AfRr.Lh0LYV\p"1F]d

Eub!78k;K_\UHR-%:#-P,0QDgHF3Qdo:g66c^ef %=@@YjDR8+VgI$qoV7F8H<\QWdAaW@IJQV-oWhAf'1RSgZ.%[LKe2Z$\mk;mj%Uo7t;%X)#c%'UKHG;hIAZ(i^.WV'-d %c\@0(j^rL'*T6ukG;oRsC=@RC%W7ekD.S6=(,Lf_Y%0pcm?e&@ldOW+%UA4pi5U(_`oIQ>ktT=misT74@r*^Y/=r1`-go=/R'MKP %4;l/?A^m!f$,AS/q"Fm#m49HgGQln!ZHlaTQUK90-!QS;O1e\>l]ifON!fHPL^Do2j %loL]qD/['=US$R)^ockXB7S)E0^o@g2'cA[jE&n+)VSnA'o0?Ehf]aD0LM`U]>X$jY/@gXtC`GZrGjTdGsp.]sP4J?ICo8CRsUW4Wt;=KS9Z:4gpQ-gDQVs#F-1]gjg-!*^qmI"<6bT$H.5meiW@`7-+h5e-Ok[u %L7J=nM5rS8GaePb)Urp8ColTT5dm_[JU6$Xo6OT_i&cXk0P3sLr&jc801en%dhraUY;ZO=a*lD*.o*:cO^78T/`VhBLI(Pc* %@^3@(MX"dQNll;N%EGbNVQ;S)K9,Up26/cP=ktg:ZCPa`b'M\dM&nedKEOo7AHN^^?nm@f]"!=l^mT!"g=VQ_Bro/"hFpVZ`0+S. %Z%GK<2$EK^f'k*mAJC!RT&ms2b@;Ks9,f9?3E()-(d_M?;,!d,#X.J8hL%Dt9@k:ee=(MCL8ZC-ah6'5+0W9'6:e%_$eTG84gpF) %%RJc+U76\Cs3tn8M!U*ioddg_Qnlr.)2br8&Z]Okd:?Rg'4))KgB^e:*.fXTi^PZr_oTkj+X/D-U"qMbk`K+:R0696O&\I^+6P2t %Bh%C%/Z!_r4N+m<1e#EHlni-\;%NF]AGI?V=^!0GB7'L_,VQPkt8$UDMXP^$HKNs)N2B'eE/%dNakY_V">b5XO>SgCHX,B/W %J"jZa6/iM*?"N&!WCuqXNX"XfSoQ=QW.2,O!,\#ucdPYCb^hP]LNiSO.^6F_?%FjJUcrS3;6Mu&o4_k*87h;]Zk\M(.Fnj7?<']# %M36Ce^X]EgTJ)(AYSJn6N^N3Bf0nnnEN3nG#m$AniY3:k]b0Ub&tPo?dO>_h?K]-q*/bb+VTqn(*4LjFL+r=T#!TO,B)uGUSJ>$/ %:kFu]@N]N!]8qT@k,$chg:b9e%TLf-Mh7PNrRO*e(:jZ/$;Tmm#a_<^P(?r'lrEd9N2&>bMN+Q7c?5X1U/ds.=@>k!;<6M9Pe%;i %E\bp46kS*Eo>G"N*oiSV\m9>&Dp>Zp#&\8KB+I1QX+UaJ>[5lqFU3EK+Y!4Ee2IMd-jc5RfJefM7W;OA?T%q)ZI3cFIFPJoBiIDV %OI_-E5mXSfPR?t<%m7*kqf;%b9d'b5;;[!(FY#Q'?C.d)UWP(Pq4A#&KG+_RospnSaH+4Nm3M;;CkRt/WJl_51pFCTMR"&#j(Lg7 %>`#ic>74\9h;cOK@iI-_&Y3q"Gr#IGl*G!F*tN^H*dqCF#*,qA9d=mAd5n=M*[i*/lC[Y_(XaMrA-mk%Y&OIO)nc8-kOMj^`5:OLZ>2U^a[W %l9;MZ]Z%D6Q7$UY%A$q$Q>t?B6^\@\0XN$Yc/c$=%"<(?W%.`\BLb*o4""TMVetTa*VF]+E8Ea0nPP;* %'-&MS1$cV?:P`K?-/_`uDf:W!m#E?+'kf43.\fbio0G:R9&&H4)._suXBR^CG3%*=i.X"gPrSrKP)G_WGoV8GOEd&51J9V]al0$1 %m-3Q_q8dBpTts:UiII"FU':)h):XRe4(aDs**!_+V19s%jt*b(A+a=R0+Ut,*L;Lt6nKe+eT:m<,*,k/DKLQC*)m\3$83/*tjge/%->IO3L8?ALa$L %+ke@Y^5fNN=2^EkiJQ95Fij2D!\)%(iK\*s)%buIf5"EI?Pd>I3FV7jNX:8O3?#'ZKI/C^V$i@8SK2dUaWf_L<,D\LB=kDlAlb1f %j(en&Lh?*8]Q+F6oA'FFC*rZL1aT7R@'@On*8KWITNJYFE*O?KBI7O"*gQbG]PI!E(^%$[/_gJf%Ys[UcD(a+*+'WjVidk8,;1ZJ %W26V:KtkLFk*^F/refNFgPd^C$$J.TAWsDn,=Bf3*mFCh5.8p2X4!-`A%=878S+bU:fpV]1$XQ/1#(=n,PLW5B!NmRU,/UBQWDG0 %i:T(7b6PN=4J0s8EmbC0Dn-Rl#3I%JWP`sXaAD"D7>H&IQb*>@@;M=ci%as,2Vi5L5bsL2DOf=E@I#`ZFJH_[SiPWumXW=`P&Bg2 %b:tt4fujVoC#JS$Ggkn[gZW`YRVb-Wi(`NK*-cf6]]o'iD0.ha[+TU`_40"+N[MRGhK4(pp?Q]@@r<*[GChcUO"eC-n>=[@[]NIk %$DZrL?,17A/3$j\$+tG-hDRF&UJ>@S`q+l92R&<9eA*(p\n]6QMKnAO(q]\lBB[UbPGl8j,mq./9jON"gDn8SKjgTJ60U!(&MgUi %ErstS*XA!YnBf7\EBT=c=d>e#0opsuYcNE)'6X"YL(_V43V\E(MIR?5iYLHX5.<5\O5nl*,?M[UOl,MoWHrUR^/GCPn!gipQ:CQr %%e.22:'ZfG4A9]pGA5t2'sKR$mrX*SS_E>BqbGh9%fNL%.q!.'hrt.04,pgEE8RX[5OMaj$C40TSIY/'e"D`;^/M4Ia1h3s?u'<1 %klC06Fit!9%61R$MInF,bTZdG_AcO,bG"MFW\dWXm2dp)#hLpRP&ue"#2A %@*oF)m!JSfQ_ibn(O`!ol+B*6OAW'oa4P@-kjoQpUW0WI)q_Sr=0DR>@s=H/A+C4?F*F.>*&lB1W]7#hPJ)fZ %&*_8Km$$5aHQ7ftiCn:H0_;pZ2`3Wn?")p3Q*0Qr;PK5uDC1FinaQ",MQ!SCR-$$YO";:o<(gbVCn\kh[< %b?Ft]4p0!E48[0kX'f^Rf-sd"E*NpE`n&<77]/hY!?#\WXUMStAKM6#M&lcPQ9"B;k$nD;jmX#S`+"cb+8"UA^tMD=!(JcX3m5\\ %b?lM($YW_`_DJRa?Xg1?CV@j[$k37+YoCCDZ)`2tnlWt1*[9OoA#cSpOtgKiIs31c^OPZmRmBdZ,-e[7I>n'N*1mEs+'a:X*/ %UC5fjjVWJ_jfB^M>3UrTl6$rl(libc&tTIM,naS#Z7V=u;V[nuo`\GUB-4Wl7p3\B;i'WUug.dU5up6oRTpG]"4'<1h[Sm'.R %Bb#+I#"\9C``@TGRuUE9LZ'"F6X@CRdj8GlG44QI.J((P4.TK?@#hsZ.b`\9d/&D9mBs)WFV@AfG%WduV!.4=AL*!d$87[j"bdpJ %#fH1I>"D4k*7/MV7u#5gD!n/d>Kc?-$A)g:L%33dhd;o\G,Lh&G?/kRWq9U.3S2+OYeB=S/(#!dbSRVfONG4,f\4^A:)SPZiISpR %%1FqP7cBJ:%M;HGf+\TC4"j]VCt2X18^a;D5)]K^5:p9X]_VB9]=F6)%1#8ATjfmm'im=P3Xr%Nq_HNu;D:6dpN(b9_b6X+F//ThFoX0IF#h6o %m\JCbQTIRa.mg4Ee&/MCm>W?%*XT_uPN9qD6tAB>;MiXFNELnKfqblPloX$A#d?\oCPm)X#gn`$`)uRVugSDt\(= %O3WL)>>%:b,AGI.7cL\6GFpQCi-!"0XG8RVP?g%0=24AIMi"$BS_7NWb'98s,-`"h]7o.#;j2lY0No*`lAckgU)'os %[RT1[ou*)"a%MB:0_hJQ(<;8gCVV\nPT+P]4^L#pof?TPBWHCX[0W7'Opa44P7(t@%L_*CQ\h26>QJafT);"umrTK>3Smd\C$(F7 %rZGcK8'*"=jE5r(kFVL?PXfL3gI\1UV;dtKqfn#q/k@S<]Z2'B+?PTcgY&$Z %Qchp'EF6/fYn#fa9-!d/ubN5neB&]ThX<&Y]ffc.,X##c[.P3#@"&LEUj<(cacEq2io4+5W: %R$ke2Q20r^W_lJ,a6V?C&t70Eh^(-r,VJ`F2\fQK\bt0=K,=]GU(Z/:+QkCs.aI"Df?Lt0kYZFQ%'G9$M.`#X:&.CN`bu8(1H+*6 %,qkhl[p!&HlR=u3?<.J@(+1T^SId,aFt<9+bYg=WD?r2;Q[lJ>TCrdpS.;5iF7G\\2# %NV+%@2WRT!-pLkM)eh7C])jlA+9WA7[$JrMop1fjc_jm\CHT^-"(_FG/fX])t8I!g=m@H+9CiqOHc5L%)o2k:=\OZCaX1:RET3)88fGblfHeLXfZjk8[*jBh/Q`IDn&lL)^[f8h#f^Amim2ui[%2kNc %qlg,$`@jE&Gk:k*ohBCTH#P]do^?_u7:+le0=f]$h>cjakehnF5Q6L)s)O<@IWG%(J+%9hk'R-jn1'UOH^erp5NeDa\iR*87#-if %S)Dn&YigmL0qq/?(I7TN&(KEB*u#rLo?Z`4HsUS(XW9819/;[GHiOM3cm\l7(Hb68Okg!=QDV]+cVE>;"1iEgqTeHJ]HV+"QRg=- %s$6=9^uT"P2Y['P^\@JMYN%ZM>5f7ld\FDD/%4a`fuT2/mCc*cTl4,"DE212@UM"gG)NHb]jgp=Z?9PulQt2#nB/[@!'G's4.q?RRpo-VfO1(SEq:; %@(&do7-(Qm!qLmL*\5H)[OKSpgST+44_#\garWs&0aBk88q;Ik%16pN=fYHHGm">!17iJR"U_;D"Jr[j&F`r`VR4ZRN-0$75ZP(X9:;9R)0]X<_ZESC[%5H1""FL*oCC'j_@R$nBEIUh6RbW,TL?+#=>LkO.ObMQ %B*2$nV,U8-hsR)5SPF-Z/dS-I*rd7E2)C]g!o1.PZbGA21$pWFt`jU/qn0 %#4$0D-rr/D*sC`uB8cpDA[hdO5p[A?C[%loA2Y&`?QE@Z/dDne6]R4rIl;9)'>"B@IWMc"FN?(GCW_Ql1OIF]lj[3:Q>K-o!`KuTVCaTc2qU\o,dL %[\_-=.n#s0J58QTWUX">FdP+_W#h$OG+[,iN^P.qmJ6%3O/_6YT2,NErX;euUekm),nQ %9j`(;1DdB!lVle=0@0HWt::^$LVW+Gn,KdW,X>:t->(g+:#)!ooUfRL5!JX`TT"\-emD %>&JHq&0I*g2=RnS;h2aHg6pQ[(#I07oA?kr%@G3!/Pq$*o %XWSc$"h(('SX&KBJWTJt<7!o%h&;BT;[!p]XD'rh-Al7T:d9_s)L>0h]ltD/(OrDO`+PK-pfT0aaEDhnUa\/^KcDalGAkZ++V)RJ8c/bHio$7u*_D17`STXrNTgF>)JGd %2_sGc[fDecUC^a8M9W^oJnQXF)SL'oLCn+\(Q)4F3&aU0&YK;lj:&D)?F%9V61)H'$n-9J9YM8U63F@-\80"1P#Gej-R7Z-NHp8D %))RI+&;'EgN"g^IM[.^Jn=R._KrO_rlnPYXZ:*Q%0Z+INRWZ^l.XSdm!B\XkZUG=>L5rpO.ZSif1MN\E$/=BLpf7nA>LSgkE#iph %0/#jrI&kk_aVAP?NIc)&2Nk5hH*bsc7\H\p-,FP^__=lAJ"(I5!ZUji1tWX)m&d!R#mED/3cI(Y/4*&9ZIB?r$6V/-3^^BT>r... %F24FZFsn,5.8kWj&rT%3F%pY*#"5,B*DhrMHqo0FO;SfJQZnHUomg8;WDtt>pgqk%>o=e*dgPNGHNT#(rXUsAiW%gf51)88g:^C$ %B#"HNi.O0J8Ijehen,"*jJ)i`k/T8I\!5k %W]QI;?B%7U`u5VCg9=105QP@pMPYoMQ[7qX`fi4V:osU>Zb+N/:gFu1@Bb%ECdRh(T/h4rUJSOEPuOTsM!]qapa-?lQJuHt.q7@n %VVh0oSu-('$9SN@8"6r%b.hY%*J!!Y<_b8:"6.l]fZ.DiCKAfkiC=2Xa]au-`u'DRc'@/oJ:"!dl>3+&kG%5R7jI*DU7%b3r0,n@ %ZZ0OrVU/SK2I?$O7_tI0^F8r/&:pEOV*Gh+;[KE4I;EMC*?hAWKYGQEA3Tq88R]2=\;'k)nK]trjoW`\>F3N?W873.d= %51UX9S]iSEo2\Pm[3a'?7sSMHndJQ=Z$>SJ2Pn621T6Pr9X2BcD&fR\qReV"']`p:^g%;qQ9-=Bah"jZO36W*C?eK++StWaFQG`mZ_p0@Sei4UFjp<(Yg%2)1`+1 %D[sUO4i#eZHQGf^c'`.,2eKlD,p_:XWJF[[9&Amg61iWjB(nH>6N%1icaf<>L+g^6,>NYboIL>Y1?$p%(8mHrm1+_?>*ll:6*`N" %".7*4\*Y6Eb)O-q"ECMDL`k^A).86D1pOfmX4cN$?9:!?[Y_RZ"`Yetmr[*C_Na"lZr5LiVfj.Umla;;U %)S6D9?^mO@.05fS/iIMD`=-&2D"FLsQXDC*3sY8_haWT[_VVm+"q;+%>V:HkA$Y"K23!)%8R=3%WiScMnkG< %P,!gJAr0I@.XT)PWs!B$nkao&+>Y^M'6n6E/tup`a@BD`kAdqiamp>-d7c;Zi)@8##LM6-3CutK/gF).%1J2Xpm1M-$T^*"FcHJ> %am6)IX!_mVBFIqLaP`f9aet);YZ$*I_oiJ4a=T3M+"oR2WSh`:[;;KXBfLQsXB!G8%D=K6)YT.hG>r"mRc^u8$InZZO(7Iu+=hGP %0_H30FB-kQ!KG`@_2,.g*]\3MR4b]4"?>!&ZrINPS(r,s#1"NEc$Kr5Og*#"hZI[[,maU@]OYC[$h/rVJd->l1aS@kSb6U-kK,qV=`C]t;CbH2I<9E2#gP^(N7K1_=%c-[GKWZ+fX %B0[u4@[3bSlPp!X?I=S2fN.!T4rY?4a#jb(f\jlh+1CH4hNIpu?Yn[G)AoV1!Y*pfl3P0mNh9`6;;8JeeDL>3Vd6Eakr]b4L1!3o %Z8IJH^nBh:;_cKA:5DApqedRE91.2$N-s3Jh(9T&ScR+H@#NYnd!RN2'dOaBpmtmtEG,P\Nc`E:H+k+LHX"cO"HJ*@Af51Bp^NV+ %NOiMcPZQIp1V;n^VWJl@+Icg`b-p',`jSRT.#El'9KP7*W/p+=kgkKaPG6H>P*u5XP[V`1Nrm8V7]d2$H?/^c-,[NLrXhJ9,JqC$ %%_LTBWe>,j938K(2`2^i^L<4#a]!pdFS=DjQ%*3;i9?CKP\H93^e)a^YZC3W%#DQJ+OZ:PCL2$J51ncgoI7P21CAa5C& %+U,sTaF<[^WGILYa[mW5LM!P4C#q<$!r7bM>Bar8>6>G$QU^3A7s)qELg>4_X^K;5P?^9\>9S/L:W_-LCk_,ZM[?)ml.$qLHf"0i %b/o7p?5GcsG/.t,YYM4L'IY;u)grc8_ui>,Xq;d]A9jT>!A!.<1M895,6"k(4+V1J)[q68#N_.PN"Yo5 %*oJs#;`-0Feko*F41;)I?kt-.2'3JlCh2U$j`MNilr]A431u-7&A#%&YD5#gcJ+1"!#@fro'14!>^L4MdQ&a %E/1#R1b>s")U'ao"P>BphG@($KlWC%]qf;f^ofJ$d=u(s<,Fd*#/:Ap,#ZP.pf/HO[T\4tfOpjG:""86mH&M"^KG5IlMer5hg1') %d^sB1iHJY\Cc8u5]$A*\!2=012bH&^]E8Q7KU13tI]2A&00$Lu_*UFlXr.qLooItdXf"DuHCM8rTPdEmFtD>$"7D_C.1ROAjf'uR %CM^&0(Ikb[8FGKjT\X5!ppAg4&5JtX0R,8Zrakrb7ca/1l_Rd_O).M>g %fR0s^#JWd:>a*9WVt$2Q<=LpCar)2C2V&d4N)9`%GaeUZ+H!kF*^uo$7uhX[]6AMJgo-"6C>G3WhQO"HXi)lOCgS0/Kc"LN=?-i'(ra`? %8A)<1CCh'$@194K.[k`KVk;ulX;u!`_AX-pc6CDNi`*0pU$/:61lOf>geJLLlph5* %m%ls-%3NGp+a?26X`kL#%(9`2f:j!:OQ1">A^;4qF-f/>!db=n]*,4lfLH\2$:L1ShVf*KcOn<@\2`H"nr+;$b=-f1H%2j\]S6M3VUf!P:_E$E4#/RYcS55Uk>)%JXgGNOZk1/&Y$QpeR>: %2h5In6Q29J.m7]9f`>`;aW`oT93Y_eeL-+7^h'hh`jWh3$oUL9$k'VVAoo%0_R8Amb9K[]W5E,>Eh(IGb9%`oIUCSQ1G3Sgs"k,M*F$iM>[1RE@Z)bSe %a4+M9QE=G$r5b[LW1VfrZ\X'Rk!on.)$o$oV,(8^K1^U/)JZ^fSm"KkMSff?WeQ^+/>Y8$q!0WlUH-)R.., %=6gRUMc(7l'?%Q9DA7i%jnW5V7!tL$+VMrM12fa1ohoWGb]3@"4,O?%K,oqDPRE0_G&)WIlti/r]M-X?1cd*#:s!19Db"A0Ncsli %k&J:=$/kS6[_&m4+)r`Yfs!pJ6mX[SDgS9P#d5oiT`%D9o!&L%53t82DO<;&[cIM[Z+$lj=XlLKi39+VhIKh6>V$6*YLBnZf!n+? %(gNS>i'Ka4[V+G%1FJJDX.[TAO-_m99&LUX9c7k8cD,b;@eXI'Ib'P`.ohTJ3./-5^pY'//$M"sjtuW4,nBL+j2='^b-L"12R>7% %^h%KhZW4(BJ.(RW_a.I2+g.HC5pUgK[2/'c:b>e^9LY6=jkQeK_QF9i81SZ<3t!*KV3FDJK:WW2p1Kam*+p!+^Np]^Snq,$i/I6: %Oi$+`/@3N`'pY#\@3hZN<6M\G9[n5K.9\Um@!Q#5:rQ1iUrpgaeV9]cgY?e!)MOup?4>nc*/INZ_j!?.-)DpN=8GbNb2V'E!OFcN %VD&0sZO;@GIBTBZo)^H#a0(!b\ka$#L)rTeDAjJOk5Y?:kZ7r7X\\biC,bV[R'@b.=N:!o,0:?bf(lIcG0GM=9b3b %AmJE`5lUf:Hda9&O5iq/$?-OS7hO/c7]Z7%r$=[q_\:B0QK=6=@Y3!B1s!+OTn*CsqMJmf@rCY6>b8%^4pOD5)C/[?`sPI)U/&D0 %B'&lb*Y$QnE#T*LZf,1Uq@E[HWo=r)p,E_d3j$t4jN8E)h_f7bDj>ohE0YX.'3bOVc>$Z:ep'SrXQK@bQR+=[R)O)/qXE %fW_+'BPUqG,o63^hZ*\3X.?"mSF@uZe1;N65,*'`BEWWI_T_YJR`uim/ZE04l4O>8E^="8l;M%)^LT1N).;]';;g=nCn_i`W20^9 %Ba&'icqP'?=quV`#)j:#A"@m/$4S:%<7>N5KSqqt=Td9-QCE_9UV>Y#0I!A*iBI^.a,`jE:ZI#?ble6A&fs=r>;L);_kE\Y,DSV! %_ia.m&[,m@TQ,LXd_boFHYR)qC(r""T7CU"7*cL!YSg'5ja]4kcAl,,$2%7M^*(MScg4K(AOO%,M4?+/0Nu[q99su<`=aXg\ClJ0 %>=f&&8HqN_Z3ORIPu=7q'[%\[MuH-*NjkSHpHjOA,Ds<0LsWN[9d'*-#`bc_'e4s/+CjDE:bccLSuZ.rXW%`h@r(3D-eZ;1K:n?N %,YHb9U$n/+/67?\itS767gX/bkiuIs1-rH:A3q>=CBuVe%[qOe*$/Ku/.mnA0k!?_Y9"6g`+#+(Tfs^]EJ]nI=it:_f?i]aPBB4LC:-b9*@j`E$[rI\+UBKI %bc)`?`Wng0H&aPW]]MXF7;E&)HW]Y2oW9X%<+5se9U6qsA2Qu)ZaST_3YWgA"q9gkSN3BqMdp* %8.l0J9:[p!,R%KRBRgppK#I"\kRj]U3RJo4<2b#X);?NJ"&@Fk0CKKL1Xm2%*78#'cM2aIL3_ds9e%1Q/#Y0U6*U]A4@U/]S-N7Q %Pc1/;F%!IH(7=@M[YV8RL]P7lrrBq\_55],ohF>lQbRl'TfN;:l!uf33i\Slg)U`XeckP6clo$bqQ6_HN#X^p@)CCK\bpKrSKVdg %F6,B]G&Z60fO((Y5Z,;mbVtN)<*qBh33=>VR!m(NUPTlm)57L>9=:l(!"[GEW*]uqlOnjZQ2BA6t&8&k_)nPNjN(2Qs[f8We.OmE?.F<##G/Q8& %P<33;P$=$l=_M2[TAjPmaK!(B4]h40#Uu_q6k)ThqH/Xg %qkQV6n.q\3&M0B>m+Mf)L<.tYcQ>O8+k(sq-q%mep;K[dQ.T)7R"ukZ_S#70nu+9`Smm9SF,8.i'roCf&E')@>mSdroNTX9i(JC8 %?m?T,@99t0-5l*X`(9kjXS.Y=kYtgiT+,DN+[:pP>:%r;4j^/B2J#q#+im'P'F8@@AXW]u/)iT<^dZke1jJ$9:j=!=s_`GN.sS';@Le]qVWd_RtUE_[=q%)3H.49uYVk %5l$OGl2V3ECKhGt0ueae;h[Z)4-<6A#/4G5N[@ip"=,3.VSV^%Bh6Mt%i'KO_I^,fLb"tB@! %,I"8,)Lr"R2#dU=NU@B1$e*X>gT]852Q.bZ)If,ra2"p\VMn>#MC$>9blpkFPYAL:C!+g;&rmZiU`h4ZQ,"K3i\+;#nk`Y#,B-PI %=#O)V4ie0J&2;0lR1L,3NNStaT6FeX:*2at\[JQ=pFSbtP)#$hViI-ML@fbojD7)9r8->9:_>A.J60Su0f2?9'.de8E\M+&+2Pa; %V[LC36m:QpX9R9C%qrjqH^l8%'=CPb5#l3NEAd1d)*^!cE4q![n?B_'(d@ntk.`,$1+B5&;:D,,9LFo9%O,A2^TQD#8&=K8[E %d@+MQfl&BmgkVs8&.[L`CAp?$$O\R":UX':EfE=fCHuBCsm9T',$f./&!G@ja;hI5,--;>4;96B(n,#=>l<*"fG %TQ$"/51pj!9+:LuSm*MW$;Q5>OGLfn6A;@Y&=jiI'Cu"T_A86`80rn2BeAM8K/jQB5O`^sZK@Q^SF&t. %-VLh![FR>2X

/3BC@m)k8-RM"@Y\t*$4-8AL>+u4S`6r93_j[^=+QNMKBTO`lc;%f/E?Cl10,X\I>V%EL1':IP-H:>RNl<;%,S8+@YTQ-4!L;&JZ"Hm# %#q5lV#S4mBf5s+1]gr2*V0q2)dbn`+W@F!o7I>)R)9u31SsF5Ehh?k)m[hY_9.AgLM,D@$TbCPR2(,;HHjo"'iikV?!CJuQctVQk %#!(r@aq4Z-4K=,uo;p_+R4!Q8Nai*/ouqQSFK,&t$#u!_:QQ(p)Psjme/.Dc-3`o:*)0hi_^6Bldtn@n9'*)RpGbB$"s0i-0ZMFm %q2WO>kM]d@O&]\r#\/a(JL"I7_:M0O,/EE7/%I*f3X=Z>$['i1;5;KO&]O?/9HujkA5F#VidsPZ#de5RSZ8k,dGugMltdH6O]3 %4TjDpL]Sho7#UddE_H7T<TLU@URV`GYSgt?*R!,7*KoAo=U"lJUXa?fE>9YX/_Mc,p6%b9EuPjWHs3` %)Xo$I_*U=eEDRf9UlUsf;m+Z@PK%9#8ZHABY$sa1,0\+AgkI:$Hcr!;*l5h% %%AFjF.mW7:ecGdj]C&@PimrLP<3P4s?-j %UNrP3dmt2bOdn2(CJYTD6YkW/b]!ZG75K"dq>IaWed("5k^eZP4,^;Fh8B:a.e'2fubLM;$9cHO#B-A/M2L_=8cQ %;-fODE!qe&LX4pKAdc92%Ns(a60*rV[H47$26.;1c'=Xlo!*oI./oISK#OgX2rH*Dc/64I8bh:=`e99_%KD6M;@d(H9I#X=TVX]' %?*n#!X!V-j[MoZ-+rMop!#Tr&-a\6A@kgGX86GeQe93*H((>X=cEIF4bn6+/cqbPJ!uajrXCLM1,O5Ve %T'WNl';TH)_DDosO$farWhH5nR9ku@Lu?q0Bh%kK&P5_le/ULEaQ.%C=6U'$*h+n(Z:%12k:.1iTtqKb(_Yu;G^tKMULCXa-&[2^ %V$1fml\2\SNK3L!f"Ag9W<8"H,kA5t!S[_0H7U8!.!^A=,I6RjJ3G2_U^E:cErM9/]_$ej5!k"PPi^GAY$2bH)O%#`KJ"C7(9LOd %B0ga8bjo(mW[QX6R*fWbHK-T"a)n\APq$!93tVQ3]B'KK %".[N.6D9#TBRj0P&=UIF&e+'W:"'QEG?Tk"QK?(5R_g9%H"YJ[c(8F83kCCZEh0Q#4p(7'O;Bcu3gb.ubdG1rc:5q3a:lW#:J3Q1 %0-Zi@-q&m=ac]L;"X.$c+F8!F.$8u/OR6uTkQ',^mLV_D+++r>;:Jqk/K)-&J,`j-:FADB',TNK=+.S1i<"0'cLL/4W\]XZR#o,F0RT`#cRt*Y`eNk5o/S9G&mH\AZ6K*u-/4u[n>>C66 %6"R:B"ij/"2'E;,>S)qi@aR4k"7UELEkEFT:,0?=q]TEP*YsDZ;?ccK%X;?WK=%;snae?mMIT."j`">FF)A#r*"XKN#VTXF/D@%i %pJ,MDiF@rlZht,f0`?N\HRZmDp'Ks%EJ=hcD8dutdaU[TLhYO_J29VEe3IK\j:ZGEI9a6DqhS?R\3<1'o79oR"1O!='E1;oSAP$& %Aj%&9KUIVSO_ug^Yoq_uJ3/(qO>[bDZYD/pC2k"m?+#b:p5Tn8_gXQ16P@hD$=uZCbchV6(b&_B<6hU)+T[BlFN2Ro1WsU_Q?Ai* %dJ\OmtdV)MFXS;pp\LHaeo0mOKR&uiMQ&OU.mL2fbUm1-E?$hls+gUC9Wr5(^Z8;"liOdL*7lcJ. %9Sg[*"ZOm6#$I.;f[lr)P[^>+GN"sZ0Gpl_@)G@@[mc8ac]pUL6tNb9+j9pi_8($,bN/@,623':>Tf$Wr$O:,R[1s@ %m4^L4hLYqoPW<$l,D+ITG/VH7Q:;(n[("[47Wu%#`N\]30O%-X()N>#'EUm8d'+kf7PglN7]-eXgoY'HfE%$N+R$.(cG'iI6;g4c)_F?5 %?qh#.Ar$pZg;nafN!"-N6O]k+B1up*Jm3Zu&NF1GR4;%!/.K0dcIa>4*+slf%.T-WBjR.GgNA+4`.aqe=%*@'%P4M1FE8cE0c^Tu %X.D&PLE/0m1PDJ07VJaD5fZ.M6`F@E0YeJ55E?fh$dL.3,,4Ra]rn&uc(uu=hD?bgk.t(JE!c;AeH@;]#$?Z"&R&?_kBHQ;osYGA5"sQnp6tEH=o.@BYSI4@mETD_]6$4TL"BI+_S-i %:9_#iXs0'As7`Q[/_@sG*Z-b-gYsNUP@9:(8YJS/BHG-/N$_5*6_4*[:nE:s-eFT]aj'H,6Sfp,7sl8FOIduUR@j_%".d_r=?8gD %c/sC!?J1XnAS$.VqV4G-%5mj6H)2epL7F:"OK8X:QSuW*9uupXW!+pn^l5336nlDk--lcMlmuULKfXMmd:kNDg`nSobMZ7h-NI+fsO;FZR2Vo%#KSX`4.eZ23XQaaX^(+/+<)IiaS$;*giTGlX\F\OMXN %%lrTJ8>RK.EI&P6^.L2<=)ji\O8s;XZ7DlMLQTQW9N6ZjR'tfZh$M,sRcM>^ZXAi':T/As9k5l2Inh\g%Sm9Q0H!O%+ir>1RssKD %;PcTn$Q&4FPITm!GickPoWr_J`fOj=$*cLPp:/frU?\YITZI+96UcTZ,.uGF:`_8*KE95BDQrbY/NZ"L'7AN5_3K&*'BCU+ %`s?p+0f=h;)JRs8*[ZX3K(iZigCr6C#8*:+T#sSE^U?`KBhgjZ`ubWn,Epg$dp.>pQC'PUGuntAe]:4N2XmUK+L)2?0"Ml'?o:V1 %E'7lZZDYi[-6"A)2^PG)7*;`Xg,cGX6ssZT$mJ_emO?)+)WoHk[^h6s(t48I&JUXbk#B/Qqu""UhkZL5L]@MQ;M?3eigoa@lYYW: %IBM<86YA>(TA_UGo#@DsJQ(!@Y]uU^IYm5R`'il2--CNn2^-=@1;%oKoiaolPg5jsc/*5/2\g.A1lnP]QF!HPDNZ9^/ZbHE9:i_r+,^H_/2!OO?802!XV5Y=KOV,q7g@XirjZ&ac$Nf5RGnWC%*Y9"QM)oX?>p$;L0qjcLC/3 %H0MrW@.:u%aA1YUb5SM^/?f>7&iRg,l4Zq+S!U3Z(-blF^s",T)lN..VBMrP2++E^'8F.O8Q-9EK\pD5!35)7bt"fQ2WuoM20>&1 %V+\P?8r2^$aMJ->o>AdS#1eS9%DH<6r %NUFk6`l2G+'j1$caCGAd&r`MO&htWg&d>a)6l)3+1QdF:XiOiOU54WuO9'>;ZAHeRZ&3UE!M$C0%rnqoRPXSAN[mX!5,0i)#Kc0ut7?lU!b_@&gB=FEJ'!^IqdI\J(:LI'PZpr*W^rotW %kQ&":UWE4t6Ehm=\q>6Na"al'+Utsp]O,P?Fq`tBdq2aj_f?n4MA/,Wi`$r_WKG!7>=WkU$FQ/D9D?EjWZP1R\%6Dk*cXiRRIS?u1\0`b1ZRi@?N>(IX7TfTO8);rR1P^oi1N0,#Fh=ZPKZp'j"p.$WD*^bHN,h3l<+K %BKbDRIKJ9#4P=g2lq!M&&IU"fT[ENSoN1_:9tXD]NR6ErX.,d"&eS-!G,k5f]390CVg")Jii"Bn'mu1^>uA2W"d<*G;BSZ8oNZC: %R*=Pd,9<2N)utOc7C-4/#qD?U;5f@7hkflM9@j52RMS0L\E]ZGf#glfkTN-$\&NdE#+I?+c@BVRXS=obcVI[iPD2%]T?VaTHm>=3?.6_@,$%Zqj"P-3^im`_%%>koVqGjlZ4X[Peq(OB %1KBrF6K(%;#&iGV==oPg.E3\8%'"U/GZf$rMC>h-K'7bgFH%nZ;!B)UapJVq0nd'mO6OIPJl0U9=?=h+4Nl?_AD6[s^n/U1=Fq]% %(>GH;E#C:`$uAjg19Jo/>9A:Sdut3\jVTQS")-tfBrN7pW>%@*_nLuQg=m1#Xei8DgCOlZIseHlF8(^OqgB: %4-DmR;g(r;1-D?Uj$qXYaaRVC/"pXkYN!MW,nqt[p7.:a3d/N=ik@!YuXsXbNX#FAr9oHI=hmMjaI4.NOS6Hk"2/GlS %Ec4R?)&V4.8#^k=$sq>3na!P,7tc.a#F7_PD,p)((,\^95sf!s0EpG+qC,0#PR\<-H9DH>@)aZ^U-]!9j6F2Jfa9(OgdF3gMQ1#\ %:m^WidnYgPYjaBln]kR2"XGR*F6Qb0RA)=Cf%9"g`F]9%1n)A/\5I7B!*!jQ!#48)0,EH&phe@-'WfpIE4=ctV#;aPEQIj?06CGN %X$6Wn;)mkVhq&DUqRpXfoLFW$0%8fbm&;R0Wju2i1jr>^4]LLQJ5O5%U1\'dP>d.r'nDL^3+q+Gh$iuYPT,&CMEhbP* %#m#ZKEK+d7(c"5%,&n\WShU_9^!C'H3[k:U0CsMQfs/Q7VlH`kp5WVohh]_fGL4o^\#MfdsAW>olgK=rCK&SE%W5g::JuKc\SMXMLYAsp-ob3aP.[X4@+q?\t%_QKo\"_d^b[5grOE82l"99.+ %Lf4>K5aaM4">rT&Gmq1+GYpt %==p@g0aeUkB^;P-AS>IKJ4+(Jp.5%*/?J$VqX.e-34LUcs%*G1+W@`"Wa9]\i.-HX@f3qi^e/K@:Y\>CJISGJgqODYeZ596=43nPgU40<;S!`SF@6Pa`L!i11TXPC %oqAfShg*BN9Yk5?0_>tn6\%GA_#W[aZRUC.eG<.H(f6V,[MHm+pX(Zb)PVWSe-8SiI %@p4C;W]Z!@CoMc\>IB])nP#?)oRi0g?%a%\WFeN7*UdTN-rq7FYWeq[[K:F'.6DED)'KnoWgL_F30Kt`<3pgloDLDJ8&1Ol$Nrtj %QW3@/R?Ad7oZT@iM)s_j1'-kM[]hS.:t]+U4OP%H)G%-?KU!a:fn!TXE9pm9OHLs(Z2-$rG:"%Rkbm([+rto,[235ue`);JGM-3N %gU`(8&8[U$%OADlb7sLO/8=I. %1YA.$U$$LI-RG3[Dq["R\(^Lh%`+X>SFa1n/nS(d"sFcuM&C":fe:o`TX];hUm*1V-ATPpJBFPW/`RCc2T%7Oai)D,?Vm&"Sh!s+ %&cJd3c:Dr$4V^gB7t5AedpeG6^kL1P&72ar,'SmBO(o>0e.-JA5j/QR*]9'=k]7fJ5JTtUZjp'^-XD9`a(,Z_cLMuC'hMNK4g9#$WG=jQV %4)!ZjDFH\#(R%>_;8lER'D@[A6kp&I(u)EH2C?AOjC4]<.9qfpJW0%6Cb\73es#2I8r/ceTkk8?a,$[* %Qb;A]5LU*!m#a=/dU'1K9']q9Z!g]o*81lq6^@*H9X.g>).\u;S!DM@T\(`("s`!(EiT@i]4G`]Ai1(>--4c^"KS`7a0j'jZV!M; %OU(EZSj'EfH:08uq@l"`aS+Be4q5_-D-iAQ*NJn=^$nq]<0XP/0!ToYATabVh8BoqQ$F4.# %QrVqDQACka]gu1,q/WcG.?=,(O?R:tk=,AMd,D?t,YctQ6taj[.3hrWVJGW8TjF"_D,H-7=W/?heNbCKY1e2mKFU-!^Z8Q64CtiZ %"I\AJC+ZYA7q8bPS&m_lKJH]+)OF`gp:4>a&.&Ig>I6l()Q[XB;[#J&I:gA([VHn#2-Z^+gI1;;4TRTX=p6ri+r)n:4)'YnTH-=I %@-%X,6T\lk0a'Eh.`8UkrB?joS!^,hIcf^j99>DCkpBSN8T+bs)"BJ9>FM'U^Xc#^ZOA*hZ\i)Lm0mS9&4mX0L(@.cpQ-X8uW876])''h&OsI:peItX]Up^s4Yh6@9H'gH?/(C)ThlF7&7"Q._ %S;#<;)BsPYECEVZ@(G#J^a#++n\(;4/sVBbjb5E=;(F24i0W`OZ`k"K2++^Z@NK4(hBX?W %_FKi$FY(uqiN2%$UD[TqE$AT:+)e_5`[7pC&6.%5[i:3.Q-J>=<(F,e%_HU7I:(6lI\j %WnpMRF(Pp56,`Iq2-.Be_30QJL"6N50(k%$TYa?@b6&j`Os[.g03mI7A5V5YK*d90kaTO:"j(\8='`.'\Ai5@B>%p)EhJ:tXg./SHTq9<3At)aU`Pe1>7:o1\[Gnd%@3/1+DH/&Uf:R'( %p+9?BkoNEF"c,Y7/RP5Q\g3]kY`MX]QLaPW@=:&g$E#^6hm_p/E\ct`5f>P.?.d('f$!b3FJ-1*fU:npNi%7J08(>ki$4Q93EI=S %eOeEI&P[l-33.Xi0&h;:hSu7%?s*p/HE%uFLZ=3uB5GCM?!1Q?GQY\<^j3DJ5d-^piEV0eq!8I^`NR6m-Sc]4a5Bf#QMguP(P3[> %;4@e<[ZHcMJ`qP3;G%]lb<958JXffDqo5&*eImeRNQDNadHsPN$%g,c&$dCancPT]Oq#BSQ:-_g(Ij+i35[tOe,m6]1'0>H60q)D %UgSo.^rmG/%6H0pYGll&`HjeZ=ikn70Z)gYs+#P2/a\buV+$0c5FIkeJ0#qsak9M;/X!ni(hW;8lG149`JODFIO92r3-7lgQ&'F4 %0cT[a0W?;>=[KmMZ%YBWX[6lO %dC+ibjpp;hG?R.gf+>2YZPFgoeYA3X)Ngn.+j((ENY*^CFLg#"S`(BkghX:>Enn66'uI??Am=_5Nn.@n6d?=7J\Y_A;%hgrLh%^( %q(lYp<[)=TqJ,,'n1OnZ)GjNij*0_&-M@E>DS,`6^`d8[%J:WYDI]VX`Wk[SoX.%Vq3c=;\fCh>P`&cr/cX&hc;6+1DO`2o?(ZXPRdHkk0]%b!3Z_ANA`-HSpjFj./prG5,_bGMn22,7a-Lk8\&1lnL_E@V %!NLpMV'QL"bj_>PYqYB,CF+#28hn[?>61t9;!j*uN6B4BKL,hEnc=MdRC"Dj-G_;U&Hdu+'DTaY\*2A<])p'OTH^:(\JPZS1kFE@ %%4teNFiHBQTDErF'oH/P^gO,GL)cUT+f\NLX$[+jk]ag-b(/khH_BHBEYKlV6>+G]8=!g(7-7KY##Wj`#H]n3.3r,bAEaQ>@K6]S %W^$d5lE+YT*lt`)_AUVE)N9"JK/FgHo8)k+(6DpX0nWnRpgB-P0O4\8U?!b<2F5i_VY;C(er,k%&5^X,1lrVhZ3;\m8EpX?*lUe? %,^)X3M&?-+<,[XpJ<_'+C]Y;LPE31fe"Kl=N=ua*-P6Z=cEme-1t/Md,Y17YWoLUc>["'S1r.BD1DNStg.>!>YTCd&V9`<#E$D>i %aiW1p0]f.hRSLRi/%p*a:0qZLPn[Wn#*#cKq"_R,BS8HhBP#0flAhd/,m!pf^D*7r^"=!%rJA$ %RqW5.E8^r65umt/Xj4f[quVAbZgFeE&$SOBas$^.g)+3dGG=#("MQM#CQk]?8.gML?kRdQOokud(.t>!hhaMIQR)+R/*7#=V3;s@.eM>1(*8J&\5`%KmB*gW1R"Ch)c^p: %)U?Ah/Fq*Gr4J^^E]k)GY#h?4-iVa,q@8UOCiFod7^Wafgt]\!:Mu/5J>9o:L7Q7GfOhl(I1'ha"=1&P.u["Nobs;PR(Ph*Xg16] %@7B%q/Q5XUF!<1>LTHdK?Z*!4iQZ9Vc/+PP-!d^''"4%?mM>;k.Gc5[J80VA.5AXq6Z!hbHnZb55_^H(,4'nMpk8mOS`3OA('VJu %`MG&&$F;ie>WPEA-q!*N.QmNCIM/Aa?aB4WWdlLj-7AiJ(/PBp\@,ROPA%1Ki`nq,l6rNYFKij-Lc(0XUDXMULPQtrqS).e6*dPF %#YVFVg8'Pie?i7g%S4^Y>*m-m:i't\O&E9-=rm;"+K33k$s/mRk/p)02A'A]2UI\QbU-']AlZ^2EKX^M:f>,7ed?%O/Xd(%kYAMf %,d]*d]X0(eLeC@^>TIgh[St,LR;//]@:7Q5K,bDBO&oll>>_b\C71l1\30YBm4YSAG(;8%CWS2A2QbrLoEfn]f$m5k\!6>`_*L>& %n2+3djEJHHk"5()WgcfebT\TQ&%t#NI942h@Rg`b177U\%"_1boSIQpG:]?k>>H2[+R+?5WI*M&nD+E7US7jX\+L8K1%PHf_MmngKAmPi[pL3 %-k"G\=df&$s1g%Cj8\ui]UW7)%O!b.ZV)SpaHh$#%T@*R[npk'/+8`5faa/O(\9NO_#rJE*GH_bjG@>cHN5N`:_0GiE/bfq/6`CE %f.7+TF0BU`='Ij3FE@e4$X+HCc)DC40uJ3"pY3[sI)?kZ,/m'ku=rcWV=O8-=_X_HOZp4c5@`1?D0K1F`l5++'@?UZtPaPldM33dZ`J+B`1r?Q"n9f`;\foph[X_LL %4G8G9'2fT.ZSZ`RqPS#s&?*BIjB]*BLg]o=1dkV9;A=co5p3cad,ero^t,lc)@rspi^4&=b;3rLJR+4N/Sqt_V(tY>`8'0ton2>a %O!r&fEB]^]Fqs(7*$"?'U21QR:H9F7OFjgQ$>!OFe2stC?,M5$fXd)rBQ"p8U3X?QHYt(Z5X38ScJD$lM1)NDVB/*"GNF:$F+iba %Jg0=Li8()UD,\&Y<7!$%HIq-[]N+1FoVcF"#DViiQ+p^eVguZX,ssR>XS\D-hGXB+)$"mX^iEs.:[qShg3G@W&ZU%W.Wdp5+-rIh %n*^Cm-`aX\p`BFjcJM7.h8`b9XUWQ)7t*&uP.1\2(WZ^7?pTD+1%+`i:C27IRs1p(P%c4TH-jDp3^BQ'2Rs[q!bgsE:$;#.K`Su/<)bp#hQ/A6ZD0/3Em01@XeX1P'ppgceT1@4Z#Ah6n8TS %]*-f/>*QT).it-f]sf:[S-/`K+$`.s0Ota[[6h&Kah_\1B*@ZCRQ#Y7)4K-gnA3JlGHL]'qJ^%?:@N2F,Wf@"*."26U@,,K%$NpcRNrB)9/ULa,Y,/:"qhRN5X;S;;aCbbC:RfTeR:<(b,&ol/67-@brTOk`/D"@;FR_< %QD?KB!SdZICaKP7gmnN/[aXiEP(>M[,d&R]:*2?=@jIXuK#_+qXV^X&1( %oAde=rd92CcYYmS3NiL,K)IsIhh7SY`B8'MHeL*o68"m>PrK3n6RJ?6cK3"U^=rs;S?.uikJcKB'sDsD2%N;#WHb#ef4-9,>2E3FG0fpWNK77?C9J3FQkEZc %e`(+;Z1+GrE6$(8klE[&):l_;8t0N[oXP;_69*_d>f_ba80dVIM$sW,GJ#u!Opi?qF)Kj2;AHO*/<4IJ.qtuk$r?sK>5@/m-)l^U %;(<,c&gb@Km\U1g&jR:93Q<:?U/df/in8d`A/$<1jsoCDRQdBI;d2iqZ6A2])D4=4Uj]d4Nnp/1NGn,o.?90mNrc> %M+EME)K.#lFmJQ9+:=:QZTbKj4Xn4iG\"](/cfi2QPUlNd0(9=S"_K3a_'+c0'"4!37?Yrqfsl0fim[cT-?#;FIa%KTCHE0E\>R- %6knN#Mrc-;P[FY_dK9;H/;BD2[]L>68IW(;9i)cT)8HK:?;%#qfZLQJ>*C2!j/E/,$Ba"@'c&hq*V2%!<10#!\4/E;[Qa(Xd6Qa/ %93O;A2I3U6/#'([n/So1eY=D%B&m^q9S*>_qr"lO*d0jcU4a8"[92ZP<2S\]Aeh``ifJm9K$Emqf8OCe;E( %P\Xn]l1\28YIdh1Gr5!t],_>+;EjKpRSPE*,ESr1 %X0Ye73MhJL#RYjMZC;YaQRhVsLtp5>W$k!^JX&YkjbPrNI9BAWWjc.PMKpJcA>Pp!qI$@VG!I%qZE8sg:mi(Z("E='^eNaHlATSF %-%BHeMq(bfZQt=Glm9R[24_*P&LWeF6iq8j9,4rCmSb[BMJJS&&@YIB5*UsT.Nt+d'FcZ%8mWF?\nJ_l(dqmb\AnNWk;]4KX<%sk %K:'pOLcT4G+S2%62K*n-[]_3fYXL!sRUtFLNZL#^S]fT0&EgB_%;rZi48O"K8quYZWUE=:W`HV_`6!R,+IH,om#BO@X4`E;:Y\R# %%;BtRI?K+QDnGJr-!4c6AQK=H-!9i0@c:uH^hrF=bX??,P'i'&iD0@JXg^F209oh9>[\8hNm#2X77bo3e#eMo?)-5lA@NDerF.2q %M$tkuE2bBk$GX5Q#l#pqC.Td].RG\_RDf?rTm/)/90 %]NTjFjsDS3mKht2Fr`c=M98[/N"#XF8SDiJ5hVi$=2RSRH$/KFWDG:D3TkRW'E+R+$LoXQfV.O+[4"V9MEc)BR8J>cQ2MjFu8dH"B`iB;$+ua&$TJh]"gEk3!3>>PW %[L*2X2<'mpp=6ciH.]Nm8m_^RT8;P1oQh^m@^&l`n\L8*J;1*Cb1!AK<@dY!MIiUoi`b:XNkS]Te)PIbQrldT"mqAiime)E<'Ced %Hd\A;@/tC^K;sc?>\Zg:YA,Bh="JT=hmLnKHFR8>iif/8,_cZm*C9J%45d5+#%;08gXE,rdDHN'eLhb6[_"+:hRohEF!nZS)Q[l&.2FYPDdi*c&hS.B"T,4#CNL/Ku1' %01O!L,76[eCl4$)&4Y\9gKK8T`]MSD/[,CYVl0\&Ado$7h[/G_g0V\$Ihfqmm@pe>UKL#>qOA\RNq7]:XF^j1)GB(l.6RdSWi*)Bq'f(=39MEs[$HW;sSJ,('%VV.rOlQ-i2YQ`AEW %Ot;Lo=J^P"O=T6bW"\dHbhA;nIH.*I9(8*Grp!/38CkpUA\pE$DF]#SH-Y&Y%BUFHCP^k*W4)b^07oP"G6F"hBEKMhZV.OHV36tb %d**Y:."+YIiF_k3A.f/7RM[)6e-+k[mUdUhX+aJu2^RA>V'gR$OYmKQ=]%*B5lF6ur&rR:`&SKpPuZbIAo6ij?Yf"M#Ol%%`!`ET;@6-*>CWL.sA'So\SjB#eF3`4rJ;rfY!%e&4H'CF^_33!#&b=)d$\D^iTZCh`V$;)`jLE %"RT+g01QZ`]EeYBUM+@PJ._aMgNIMYeWe-m,?n>7Tj@)Cp*su>FeCh13s$DVA6lF$0a2p3?S6W\K@hXd*FM[AA@P*7cXId]2-J?V %Qhu05`*(Y(_5fF2S04/&2ra45fm*2]%56&^^>o_U%dCCOS0LZ.bcMAA7HkK\VV?k;!Yu78\Yc3B,_/,RNF'^F8f8(QNJY3=f5/pN %2#o?1?s]'K(fZhERme'#8qRD]F>d';McPj$97bu5g4A6HXfk5s]M?h3G"2Q-;K(QZWga&s)A_iuRlunTcD$CXVm(s<+[h.HDSPu) %/.[E"%!Jo*6j1@`!F#[_99mq7XQ[#F)VVuQ^#'m!KV;9Iic>h\*(rJ[CZXcI$s2EBXs6!VcoWqp'9Dd_@Y$QMTlHSXurbun!F8"lkLnC;fH%'mor:<-Y?(G5l]f9Kdd3+Kg %rSiYqqUPB@5C`Rkc1iB1jS1rhrbhYqIuHVik9,2"P`C3>oY:C74*j1Es7OL_=pk?QN6tZe(4<""impYXnrUF!o(-)HgA,Fqo'GEh %jJA'@n`AXmOhpjg^HV0CN_%#:\[a2XK]KJ]jlNiO$Hr.U#ul2iB0Co-)d^N6 %*=r3c.SA!hiP64s/gX[IFHBuubJk]-6669$/u;anM5PY:KKE$7p+^/*7^C8mEJSC57R.gij**g2g*KO]!UL1T8mLYLfqI2E-P*#7MJuPVP19GY:J5u\g2-LsRF1/+!5!%-h:@]QV@=N]ZK?#baVoMgJc#&f^UT+a8?EoX54dnJ!HJB'"J*h/7AuZ["FOA*^`Eu+@9#"+&]QrfWb`Cl8( %)HGNaeD;=2VS_m*j)E'q6dAHI\!n!MaIF@nBF]jb$qGq*OnCdZl75.q\/+R/q4r@>30IIeQ#/]O9K[pBg20i!PBWIO5"=i\;]lj> %'>%kE(js[?\9KtF#m7(Ud8R6H\d*&8j9(mB]KWk@]V%Gm0K1fqa:=8p*bZ5`mE@uKQ3s=Gm#Jk9Z %-;3omo6(eQ/*f9j;]%:VD1RU3"L`e8'"DKSBRPOg5:8M(=N]+__%\e/W),B_WaXhJ=3RhAJ_6U %/*/bsh\d&WFjQ:VS$$]59^H;8\P8kj*q6M9DSgBsS/D!2a+CB/H`46ab!i.dW`;Si'Q2(>C*OgG;Me!<)Y5sV?o6sR9(:eL2$B5,LppF\sjMV;&;(uf?ah;+bWBdt& %/P1,Z@:g)t2jpGHs10tEP)b'.S[$g?E3(XjRT8S9BBC)^G-),nP,aSba^l[N:':6g/9IAu\,]i).p2eYF>(IWQ1J4l>c,N\?L!e! %OLsAh`j":3?7D;nI:I.V8BrlCX#c(nkS2521CGQ)!gPE>7*L1[%iE %N!G>]^T'hKeWDR;WYj+T$)A-.b\)P@HPiD[hRY%kI?eNg61dtZ,QbaHCnmL\b)0T:Xt^!Xq$D27K`Dtk4aa!m;\]9JKdrpi=/R"W %J]`Vd-sIG/ia[j;W.Gget6'4=Mu<$(Q?[pN.A8?4rmmoMr1b]QohArOEE\Tfq;YU.*to(*WoTaZ)W,1<1'c4 %8L+:[&=eQI^"ZZ\+rg/**ga,lN6W^o+DoMOfl<:&Wb4o$aqWJG_BT=X1+TDYlW:8+2`__C#jN^o^.Nt0HL&.AqSUe)KqYPJBj,:aSpl'5Eo/LG6#ZYt[;0 %H!`\KjV6gM!F>V`[3fai[ZRWlNM,j2:eUsPTODC?bCbKUg$9?`W0g9>7us'u8-hO5Qu)!['M"Q/4_^GDc,9+7R2nl:+]_:1Z=qNE %>uM4]jJZUYCisD/+X/plS;Z*FZ2[PTB:MUfAK*(k^bd:@LepfBFd(/X$@aV5lS,8DOpdb/\G@NdjN7afgbst465G=C"l'klW/>]A %/3>32=_PX@0^YYnjCMm9^K>$Ul_81E,]JuACpO5LF7>30=]8>&\0t#eU?Ns1[f9UNp5]dg`tB$8WQY[=f-T;E9M1U#GEj?qRh14] %UYJ7BisqM]ASRR#ffXjk)ih3;:CF?l/#M*]LHDOj,VLlfdufW:jGHN<74!Qic[]sEF+CBmMS_%-U'=7#6>]>r*?D)0RtsH3/ %KEAeqQkG5uc1c`V?P.;!Ds%I$NYH4[a32SF4r$_Kf^#J\?^.lo3:F&o0!\@;RERrT)*eTIkV^5&RtKZOQcm8unAoPEMg@b]Fk(f=8ok@Uj'cU`gCeYgADZX*e7SVO?X:3Mka; %:F9cZ@cJeR)A[kdl@kUj_?E/k_TDt`TfRG?H/*Q@8]d6%e4eAd%@.fer.ZNUo2R7A0q!*OKud7Tj;Plc`X*DdmdW7Z(]d39bbUFd %'2!@DgQ#bR@M79Y.Unl9#Fsu"j?s#uHA&lRWu-?Hb/R:CjignqfmoqNNg1V.1.i`(CK)AsWH]uJ0QoaN5!0l2PERM1Ro7\C^?Z@T %A]oXoR^nPRKGSJUAJWo%a1.F89$%Dfabi5-6k>&8:5P,QS?@/uM5\QWqff+3?1t,2)pMjS/_6IPBF;Z*_a1Od#V+*s0MXUZ`,[B^aOe$MXV`@+X%uVnDj9T>AJ,aSae2OMkB,I0fCcY8I(GaZn0k`lO5W''9mO[ %Yrlr_f#^>Xicj!UIs?*bF`W$)jjU+ojrg8g+.iDuC\ek9jIcGHn,N`HK^V>m9oTO/];_ipj&mebUS:+kDm5Pq3_rl`j:m=2eEmVDg2?iK?@X-<#?If&KhhRr^.Ru=VRe$C-6"JjmPu` %:;3E6pR519e>1[Shk&KdS+E,uYQ!qeincK'])ErSAlBAU23$?Hr6*4JZerDVql_s=npGZ-3KfW;WVPA<`'=15`rC"5'gB7Dr;-9_ %q9>3ciVD"eGNOt:aK[J\Ke%IdA[O1V%h0Jqcj.+0IG'N&*?gN8UC^.ZNQS3f1nb#s2?hd@?KEhDdHPE#*_OLF[:tL3m %ca2)ic`c52]bl_m^OF5#rkL>&24qY,/V!T^Z^41S*E9fr7Kn28l=A!*(VdRGIsk,p57/\jD/)rR-1IU#i3ls`K+<.Q!=q6L,:7NZ %!V\4i5mQ2RmW?eV:VPJI,^%H758G:/\(@gtrp'@>qTF6Br?"Q!H#_.dF0_c$Z?ls#V"AM>1A`rC#E#>$X#;i;?%MX!,2A+JMj&@! %%6pR(GO+ml]JtC^?hWfH\)j=&i#ecFI9PECA(o8h\D+G=o18:mi+WFfp-\AWhnOR7qWsf_CubG0>NWiD1:1oCk)gX#>O6X%UV41@ %XlATR1ufA_2,#*^F?cL`mf';(>7\ne=kU5qo7j3)n"H?+"4WGYq<9LjQP.JW81PH1ajMa*e=S=SNo(@nYuRb@*SmW`^.Dj%lhe0K5cn\@tm %MsFHZ4W07Ikm-(Vb&hoi\U7B!d^E-Ga1ee4Ra#>LfPPX!h%u@^E*pT**T94Q4+Hn3rj\q1@u_(/HiJKak4S'3PH3"_hY]pl"=I:6 %QgaPcr2<<`jnZm7^$Sd3BE,Xs$^H\McG%')^:^ZD@p>/UJ`!'Cc1OS@b+W8$0lR[,^jULX4.+\3D:alChm'WIQ_jUBDeh6nn=@Vu %k2b(+K5`HW4o&u"F0Z,-T%D>7:4GA)I*[XTS6qhX]OP#mi/,\rgn*3@M\kP8kMP'=B!9M4,djVNbphG9)B/U87t7`<]tSd^la(NT %:[$!VRcNkXgmREkl'ojTmuAo#N7q>PgV[S,+$)UbrjpReT"`81:>;5^@s+\dBnEtCq#*4n7YSk:'DRE=c(&Ze:EIUZ2E%$lfSiMb %C"q-2%Uh/cAD#,j`ggFtA7aMabm+TFn_:@/*o^cq25I\TH>#5a2B2d2`g1GbFnA4:^9-'N;D-edFa:a;R>nncNsqQ3QC*(+S2g_t %*!0c]X"J85_"bteG$D:uljLEWH/V*qcM0cbbXWn5DbJu7/=5#?C`^bG[`.hJ/tuQ`&SJ;]quP']HTk2Sh(fALpG(RVV1#Rjk*+MX %NB,[Ag7,?9Ul`WPZ@(;4Qj812qMg($I/pLm[';&C%P728eu&&qE03rf[O1QoG`eW53e)SOr;Z`Q0E9r0H*o5*nc:W=J/\5n]ZD6/ %>kS3?Ms%K"A(s.d]\^uqo.GLkCYE5uGJDe]WX([Nn@/R]47KcSiGiF-;q_S>gX`AEGhdkjr=D*Zm+(d@lsChZMqaQ5ntWM#IsQ89 %qB3ZrptLA7D.?0C&aoPTDqeHYO.hgBY:gu+N@g7IlZrp_WX-`;Imlps\!?_m`tWtRZd#]"?f.AYh)rH%HG[*.n-)Ns@fRZ6]_CL%cS+225Jndb %.t>`3IsY(+(LnQuY],hDAWAF]s'@8*pBtMBT!52:H)0N*`@:`gljC&`c`XI=]AJt&Chd!4F1@u8]m9;AjRhf"%tIj;()sqMJ_QC# %:oWC;4[`5DHotUmH$+T- %e`GK/`]!+!a]X,,mquu8,5UWN2Z<:hBqS\$8DKWS4!IY43g$d*Oa!`2)c\>#fS:jH;gUhi3N'p1T%d6\%PR$9_<0VS"l7g!%PR%s %-M#M"oDg-8T`?`(+3XFC-f\.YS.3XaO8%Tr?rIT$Aq.bI8Is5Pm^lDecijo%>3FCa$?]N:bqcEUFdP;D/97\K[s82XcXS*l.)*4u %rdO;d[*_t@OTjm['q!bM-_kKmb*_+>(ro,JN:NWg[TSUVK6S`P2m!1Xa@?C_ntdBebtV8@^FkY_j!_VhNlsd#RR$Y>mfEf[oXqYY@%9RW2%+QF*7>_)nso7 %YfGRir+0Baj$%N(O7M0M@d"+gg[\"mR_cnWho9+%kJL`_nmOV_8+(%po6So+qttEg2LXBY8'Kc&Ij+L26SeG]q8S:#J&7Z@:Yg%8 %k5.sA`,52p4[,!KRlOj]bK1obog8pUDO<;0W,TlQB%suG^Ugr-e>c2srF&dig[c6U8,gWuB:E'=*W0b4n^Z=kZ(n`d-&hisSF5bK %oGa:FNZ[cIDSWC!jDR,3`I3V*rQF<5e;4,%qYV?PglDpI-H2Fn#]K.3CL7&&5L3)C5/2PfojTcSr-DS@Hai//GPUBeb?1bTS$@RS!lN?u]XQPW[`-.+k]\4Fmd!mO\_l%] %Gi\mD=)bi5H$*J.k2bOVPOGq;-_%p=H(CO3SGr6Y^:Mh??[mKDI^LcA0kYHPAg]6k>s=^?CkM@%D,?9?+,J*_\MG/,1]i/`:ncfc_r\ZssLr!1'KH9YWV]A0cC3<.ad`>9It %cC^PXG'BtT1`Oc`2sr)4Ma]6S3;B)[2n&MqpHA,Q-gu+qT5F$(*;n'*V!&j2'W#n2DHebs*+J3V]))2X,`P %pm\HO$Bt#9.K,M0c+fRM>X*,*m=T;cES^&pZ\sb-Da4-ie_/X+B7j'PI5W.eo.R:3qr[hQip>g6=(a0M]7+mCoe*lA60\8dQ+jo5 %ko>r%K@75_WI7=6mig6"&";BAoD8PF^L*US[IiYVcUIe0A?;!p5/2Jdrrh8g/H`>=rq>WL?&X=s5d;`lRaj1k&"W*9Daf/>Q%L0V %lYgc8T7/o(Y55Kj/*;U/Ac0s$*:B1LhRn.pUoQ_o)hD`"m5?i:gCq([\VGuAG?!0gc113ap+__cm,585AuU(:cRFU]189 %q%G\VWTd!5;/2M.S(,7kFYH9Jiak7iUCP;B%8?.sN&hfNXq/ONO!P4ninY:Dd;9O%bM#b7ZM#D>e8&'q[[+&jl'nI)_cGe^EF[6i %h)7.,^Mg*feTn)ZEEeB8G8C'gq+lL(RPl8P;;IYZ:HSOS'4q&FS^ntYI_TX(W?CHl8$mRIMuV1qU^';g %[tb6-%aO695dYi_p2=kUrT2;Cg"!\YO:IteT2)?Nb?*;^pQ\:0\)fu@U#2Hec1SatZRsB()Yi^!gcooR&@m+C>WkKXI]nm7IlVe& %p7#,rs7L!:Npio+H3ddST[Pt*Y.hA',_Ne^ik0Y]EdDeIn[n,YNOeMZa7fmp4l*]4pTP8FgR?B9li#A'bMSAEoZb(7\W)<8XlI/Z %Ze%/!2lC$]g\Jh%Vfm4]8,gc1-?s;E[qGJd7rGY*_4+"?1VmhbnWFFS$Y3$YQmYW^?X(R0$]@q%Htbm*pg"(jDPRApY3LO %H$T+=lgsKkQf%OV5P8plhkgn'c2k]Kq0ndA2O2&5S]ZH>G:I$Bg[a5D?LN2Z3oSYaBKuGso(C7OpJ)aDS]^kkhgVsj^PkqMc3upK %4N$p<+5bWP^Sg_oD=Q4FqY2Gan$b9QKB[a?bW](VpF"6"2OPV08/qSB=PY.`m:27P%QSHs9,0PL]H)%L*Z=OR;+JZZj)@2]:"c=- %[EUhPDpMeG+5\ocT5A=7FmuldnlKJuG@GB,8f7Lk]V"(+Chu0$n+G>e9QlpIpBn,#\*L*P>[O'$^]42s2kQ_W5!+%2F7SGG(Yb,9 %,hhMpK!Z\Z^uelMLCg8j:MsB&^PB=6'BY %I5gnjcN\pr*i+qH]J_XB%g6j\/[ablDtd(U41D=#c5hGI#:M&D6]TL+'p[&6MaM[C^6sDNfl>oQ,3Uq^215HnE,/BuS0GJJah5)$ %\?U=lV\3YemhbF`mQ,$4#;,EmT`omEJF*S)E-#HH# %J,X?`jaW4Rr9#2NH^'P>Hh>)P[l\n%^]2n5rAZW@e'ZWb*-/7Uk]2b_.kM`(9uj*^:lj=ModQ3%Vd]Kr&*9`0qsfGdjGnT.[J?TH %-VrQSmEVI2#UDT"SF^L1s8\Q1` %d+"-[pHC[sAaL6VOa*NPF()L=TV& %s,HTQ6Q@^ub\'UuOF!uu1muuhVB23Go,B1sJhQM)B9f)PH26N6?];mJF6ic&m#.Ks:3(KbQ\?B+rqWar#2Ht"hcSCrcb:5$ljIY) %fT3<#@tN7m6D)N%Zo7X+VrR='80@7`]0o":AIS*C43fGN6JIdK=LY4,31#`ICrZ>H<(@Vj`pe>PNCuIu5Vjt32970+-p.rIF>3Du %lt&?JV2*!rcr3/Trksd.V;0*%j)OKsZ"TU_YE^2^:3l2%3?CnXV\.;4a0@qja48WUC\KIJ>J?XShV!NEgN7can*]b<@o1o^U%(@H %O&:kDF?\.kj\aHGE\Yu,3#B1WoE@9bM3#7>Z&J+,1lo@Boa)(JqmMsg6j1MuX4);=3\9iC,9P<_^T]P3"(i3]0 %.Ajn5.B+X4m[_>m:gj$)j9;fml"WC#Ka**D-292UW%A)9Cb>L-94^)S:E]X&XETP2_ki680Xc@`bQ9Wi$ %kGpWUUSXnV:m]nmc^"'0Y8AE2[R4I,oVhpkF5.X_?X8sEV%0fc[;XKl\QB/KgM87a.X>oA/ks1og11akX\.Q %\T)F9;$I+US_f^Y0?0Z\PfE/eBp=8IHY*Inn-_F"fnE0C)9fqGrOfI3+.0U!Xk4ZIjc_jfhjrf!Kc#^n>;hjOb4I=/WG]'ePn2bN %?]QFMiAe`&mqCM^>9p?g#+ *BajA\upuR0YU1kgDgGWqN!"GSsd8\:STSUMrUm\ %lDCI&#E1QNm7SL95>G#BWRBF?.q>R!WuPCqe7K,\7Q3BR^<&6V`:(\Z&BB'ndFFP=ho[3YFR?RQRVt)J`GR/PI+e*SncP_`V;I+[^Ajr7HkiBXc!i %2;8"KZKQ2T_'5$rks9"T*7PY5H!26*B!2'FnULk5K\,mjB;tVXB/GaD0tth< %+\F.D]eT.K0*'fG&f>k>+gW`["$PpZ"aj0MVDMSBbRAPT)_j0`e+eJ>R5Y[-(mN=0*+*XEABU/"pZ[7ja/\C$N3?/U4L@N.Oscap %WMAdM>`k`ETuKe;.V%q=YR`9Hcm_`d51@N4gY7BE%T^DA%]sb^I:Q+-+YM1RPaXp %j8u'\(sJ3iYDk3,\/eAKF5MF_Ib,7d[8e'1-cg.a/W&][Gm*[>dPgr">gVs42J,")hIKnT`K+#%T?nQBHpbh!5!p9YK1H6"9,#2[ %Un!6LN$TlL?aZT07A@0A8I_LB/D)D+'SJ4_TD8PXNN!g(u$\7gW(MYq/0L5=\>Ph'fen':\M** %?&#kMC#3F'ht&'_ZF%e1)\PM00?pTgkJT+k(6Pds_]cOMNd$'Y'((Zh@NPo>$naEi/I1Yj1b-RB'L-6!//lV9)` %\2CP`jQjt:kpV]q@=4\rP[0hU"77LX\bU^DJIZ6T1.:??c?G'cX$@)15#ud?6Xkb4N?r\0K-U>E>ZK[%hTHW$16*C+ZKL`D*j@^R %E6f]`4if]TIID=B/2ktJU`&9ff[8iB;\mR/[(FBHHSOmBjZJl*p+`I,lt[,i$bDGl#-h`u"R2qiPY6A6eIG+(iH[M$nO#N2K+4!C %R]PK.;m[Ti:\j,LST7o7+EH14)\^nMI?#id7U_],jpHPjnp5.YGYlUij`OVgRH?qK]H]E7]Oc)HR%_=A)r@_H<6lm7U6+*#S$do@g^l_=:ZpQ+tp`L:!^lH-;8WiAp9U"Y<1Pa-N %](%ns@q?tV-"%KY'%,VR,(rHA%EHD8%DEC1Pn20]HF:grKaC=NWnZS3:b0tNHP-,pK6B8;qeBq`MYr?ja)m:+aA*!Hhp?3Vh;6kI %(0G-uWK@?uY]*K,#:g<[A[P@&\W:$5OW5`m55j=3_7IbL5iNW!C[CE:n`)L.IVPX1OG'Hn-*,FbOF&8DAJj2aNe_Yf5D.5(Ms(&s %e_^rd8i;I:3FiRSPrZS!6X:c-i>ZN.PM1./4\k$&eXj%^X\'tpL/dF]IB8+c;SCW,pd6*DaQ++Uno1hHmQ2=@Yti]7l)rb(aF53e %oeYIrcAj)E@R)9>#`_J(]11epO!6N>r'/e/a1&CJ+)9Q%VJ/8.ag(j.]f`1#=^ZO*h\aNlop' %hC\SNX(hkFj'7&N?ZY'/h65$le>DN+hT50:92X!?#KH\!?&g+G"4QkoNQ6s7pN]OrH:W`:ofGl\rjf6sNHL)o"%8&;EAsD`Yd2d.1 %o'.V8MiI0LRLqtN#5!373#&oa4N*p"e'I#nnW"<3in:-kH[F$VqZ(g%p&17DmLJWI89q;.-misea5IlpI-+o_Y/3jKV93q!?Apu+ %=u>F'Gid"Md+F)9B-Uk2WJc8+O=uL@U*6jfRCYCULdCH^=Rs94^2?L^r9$D*]#AX$$*lU8*NTFAKog>1CR7 %])V#Y0le)$49htYX$#MWKYWJr,-e,:l'*3A@SJ$qY0.\U_9&T"nbRZHFn\/iT)(Toj+@a7GNC$3"f&eC4`ilAK*/\eo6?YM4RJP[@$d0i/4%M;Y!s-nq49g;J4mb1s-pN"L*>`Hh8`E %F1\dU:sp%RJ.-53Nu`N30?&N:%WHHGM1@baG\8hM#mMOc,IZTSL?21J*i6lo'U\R(Hq64d;?G$5F5kQ=D]IuXHkDtqiK&]6SVo(cXa3$%q[?TmpL5QB1I70^IcqXW1YMt=9URj7q@\jjF*eICRcG5TK[Qjs'*s8Db[ %:PAU8-9T7ST%7)cG*?KSnA!9JhkSLNa3K`aIQfY;*W;9/n`L]ab(nfXB@g3Df5G!/5'hKop?'p$lTHD=Z@Q@HA.o3W8rdH9+Z>?l %*.&PpKI$AT>[;IFI3JJAHTMI&ab,'R[I'?X9*uYP*)/;^:3B3k+fpkVa#,W1Ma=:d:PP?4=%:,i67YPqn"rDhd2H/@!kh-1In&Q/ %nm(^;`/9rnCe,KEk\=#9==63):a[]bLBc:#I1&D"/%(8VZXidgLD5eP#GYqCZFtbWn\5!rfO>$or=6O.\7'\h5?KO/3ka:9( %T[M\ANQ4j"/$5V"O1.;n%,G"tiaJP-qF?Em,(DHT3K8eRNccaf0PO]mEqDk*:O9FjSlaQR)TP4hk%iZgg2nP21k]5iQJP/Fm/ %dFa^L-<0i(Qa7Hcpn-b?F_oK'+tpiYoHMsm.=`\+74SK^?6aN95"[Yeb+nQ:]Nhg\oNXd[R`\G4a3oY6+dbi(pZ!Fds$5)OX$^i)(VrQdHgDn;fd3T^oBH/F$J7NF?#mH_Z7H6bJ %s5ZMioL>!JV,d%/NiF.*@j)1j4W5p`b"5am;$R.Ze"!7YuGIc:JiaR;PRIU%ROb,l/(Q,=?+.=AH.]`=R9P3:&HLId8&;6[+JO %N[8INWQ+(`Fc;>V+[/7&3"BXR9B6CV[uJn\7(/IThk>9O=uinBkJeIsaRYQdToe.k'&Y6:aPFZ/9RJ.K&iEDpm;nt\:Du5aCG<2\ %U1:.VZ+@SC*4h6QStLa'TlOWgA:i_]jo:sdGM1O.8CR15JG6j9!DQTD,9eof&fO=])(6>R-6i1(L^;GbK3'.q-HHrk6sV@M>$_R"+-OJC_"s-^hNeeqq99_pW6QYcN"Q*egnLUN@/(\ %#1uH;62ffjntQ28o?"_go;eL+;Zfhda.;J8HY;3/H-qph^o.3+hL"GOG3Y&L"-UHGE6kXNkst*30@smenPa3N&D?R^Hp0LIO4,ua %K^d/RdARI<"#ZPe26Oqf@ahV5%5Poo'#*]f&L%1%R4#tr:A4UMj\K&T.u#qs#&_t:k;<7.=Z;8jn1L5^,G"%Gc=WbV^m1OipT.+' %hIh+sP4;gP_!"CQ5Oa$fe1fPnScm=@a\7d*s137JT;_Nqi;&qSLdHHR6YJApAO?s_oI(qPF&fF%2\PSB?P\rp#gT_f0#`tI?5-+!ar;(A^'SGkEejD$J#eCeRq66Y%-)+(IH4bJ"=('`Ui5O %;kWY5gcWuASj$d.Oa5\ja:-a=M/q_^&9GnG1&Xcoq[?a$XNU3\-I;V3n]@cSju0.embtrl8$n,&car=$g`4d(nD(a6&"]\Eq8$)b4+YF4hs\"FgMHtMD4NeH=jd"bISL^: %9)I-D_bF74&o;1LX%dCf8Tm/7'QKWRhYY:GQ_rQGRf %#4N\*/GFu$kuO@k^-$3()0r+-@N*rP+6cn!47=On< %ddEgC_'T5QJ5+-5Z"_BD\*XM$T0;d&$\jU.''?]8P$Tt?Jbbg*Q_/CJ-R)03U7?U"[VGjk(B>=nYhcTM8Ib*YPJRUe3@R^HF>$;J %^us$ejLrm/:BcJ9ZTAFh"0C?IH1JRBg9$#+lj<#rj%+Y`&IE\QGMfiQ@]Ii@Z=3FS8.c7@T/H[m4IbT+,B,!g4g/Btq2V82h)j'/ %',dH(J+`k4$os+P5`b'YruZ`Ug"=%=BE.O@rqn_45B5."VCqOmlZkPCEt_?BnXWhYV"b%`bt73r/FGr&pGO?3Yf-]"_cXIe5C@\$ %jD*]^E:-lNajQRdh4EWKS0ZC\/HFQ6R1[9^"YHm;2o&sn%>Q1iA=@Hs>jbODqhA]a83W"p8`.]4eRIGsI+XCMR,%\D7X!nVKhWNW.UoB]_O %_jDR&D#mW&-;.K%K"1Eu*STipe12#j3R?j"hgFYOMK*#TajS3<@i %2M[F2puuu/#ENPhdq/+b0@)taJ=BNbcTQ?"4p+SW'N>Q"?@K1#bf8f:9TSXd'eC1UaBa")o9hb;c>+cIjmW'Q:VU6]JKaLHe7L1* %UF&1X^Ame(T:>CF;Zb27fm'AJT]**=E)GdnR%7Gh%;@H!DL@kCgA`r_^eSl^X\2FIAQ"8ms.2FgCclLphuJ2bQ!&7*-](CfomHE) %9YQr'L?m/E(<5!@eiLi@%Zp,Kr63s8f,U3#6:IIbYq*2U:;:8[O_b*' %4*\!C"3"cc`Nem-:!@P)M@F'.f92eSFr.1]SRFb)0c:[:j5\>b=*r-p9l%8(01/6m5[q#Su!/_i9?b-Z4kC-Y"`VO:c_FB'%K&C[`%U?k0Yq@foc)i:b?SQ=Ng,P %JK'#TVXL*\F-F>OR1iB3SWTr'*-ig,B-n47O_H]oBW5].;fS=] %Vm\%$0jQ_3)LeLRQ;*PfM;.p/L7:d7r$O"Kc11TFc\cdBG3Mi1SufPL\\*1K@P_*fG&(ic^?^n[\k79"/@*;fAWfK'm(eK*'g/DP9("fEB.9Jd6SOd^ %LmOS9"e4\u:aBpKDMnn],#]Fn9fZ+JPDTKu(gELrmIO^PkrdCkU?J$u`fjT%_URnl&gdoi'Sjo^+Hh&2;[/i6]1r%FWokp^oetRr %JF37IdK'r*M<\^0),d+_ch %0)(c[T9Xq0&KHLG2RV]P*2#Nf#g[PhB4*h7)#n!B$t^q5cfT^37@P$U-f!N_dOLPh:rN,jV>99aJ0m9T!Tm$[c[O%0SA`G(H[l'< %/H-*bd9h:NQ*C:gK#5V6S3r\U_jm0[ZJ*fNnu*"t#=t..K0+%j*=OnYfhNSAN5]bFfhI&o@AmXa/-"=jp9'C>[#G3lAhL2KMNs1!`;rEt %!R(]>)MjP%J#a'XIY:lkSI;UBPDJ:IV@l+<'&=LL.)N>Y._(Oubq-,YLCR`ULDQU^G2U7OX5kPed3eLi %WAJi9RN.mh)#lqd?r/D.Bh0!p(o!D<&PeIC_BTf\kI\:(#[&MJ]B[R[+(q=5=i?!0GC3^XG>=++h=W%0+[a_L]5l.g+*3Nb;Ud$@ %UMA>rdA+C&+%Q/=`-E&uO")`C0G2RtSuU_Z;DP/qBj=8qqq?6O#01f>09-`^g3g]EoITNnqLl^Gc]?`1dAk1;SQ),$o=":"6M,Y> %2']&5;t_AMjFO/F[t)bBqbu$kUS1(1(??L>f[0-pNojKrZqKI44:sIl53STUl2oZ\kn_D1U5X<@\#ZMe7;KlpUqA@&N>c;1UkF-. %;6T#M>@'bNp/3C;Ut!XS%igBDYe=<(ED'>#9:3VaqM)C_[T+NBL/\5udse\+:`;)+)4\nqk5Q%ah35Aq1UqX2&.FA3]ig\YO&!R@ %kBkSi-GlDU/XGc!2(WK+qUrp@$7q;m[fM=[ZVH,rSg&k!Q4$t8I\N*V#85#q((hoM?*@5bd%93%`b%jd""-<;nAr6d" %R.hG+5l0qTZ;>o[5Et"3`T!7f9r]QHpC@)`e*%_/ %`PgqhDGluM)AIIrMhpX8Qb/_!pC4NnV=b6:i.Lfa=.U%;)+Q<9,q1SOWJ@_'H#0ejVb(p?F7U4ef9N%B)?/jHJD55@Lq%OVU3$V' %!K/:l*"B=jl&6Nr2FlMqVrY&JG!!pe)Yd5GGVho-pUrnMr9R@:ZS %TH$1('.V:i;pet.]pheugb&$>c^pjR)2^\Fh8i,<`Jal14b;c^nj9PX8aX0HNph$V313iKUW5HeKSsG#Vk3ELnMR,Q"+4^^+WB5R"2Cg@eC;ZUs[-6MFG^PKu0nTa`QPCV` %4+l'JAp;Q>&Q7`DiYO[+gmD'-C?JM&DJ"(_pN(qu5P:3^2h?HqX+T$,h3)(H:ZG"9ec@u(/]kPO'(+@-S*q,^kp9Y]qd#_:U0-i2 %gBI`>-ERd-CA!hJ.AUe>YVd&'&J&jOAb3MsTuK^k[OV"0*3kOoge3Rs*&Sa.1_2"aP8lS]?0)nZ)EEC7i2!]L!iQQ1A%2#MqSn56 %Uhk*MidAJ4%Cp6J\M+0LVlKFgR7WtZlHB05Tq!3hK@4?n4s=/'d@Ni'":G*,nS1>j]V>DUCd&%`JmTXbq3RW %M$ouOE@(1(QHVdGn0mqN/fgoki[W_Y!u.u0mCFc*9!BS4.1=]>af5o9#g8(e/>YgYYmLf9G,>:;=N_WF[W6U+rE8(4X,ad?^u'Q` %*,!6:e1g<*MtW@=V^Ll;HZKc2g^J!*BR\>$-;#LE):>E@HU;/aQL$;)#cYD]OA*5[FBSeZ %aiZ[fO-Tp&6BMjW$dYGk,3sZ;W,5F>=p[Y01SS(-UkP"cX_\E1'3cdJ!%3"Chf\#CD!1L(;uj6`3FR78UemBi2_gLYV<-hB5#[5% %lbmu2*f@I)Z[EA'"fAm<;4RmS20e%X7']d1ILrm/P;@9V,28oB5>Th%TlNNiYg]?"%N:7C38]FQ>AqX7/Qdt" %DZ#Pm<:L^KF4KocSsHd^4Om&.fOII'ir](>c\UHk3=2Ak=((c0=-gR/q([RM^WK-.6hsT\oWl^2XMJUBO5?NZ(X!fQ<[Mc@@KB,K %e9*d1TD(&H!W$_(aD+nD'+fVEC:gZT5`?uWLbpE[%h"_]CHp"\)FtJEf!]ijC?Jm!I7"(RBg2rG_i_'!-,=U^cWk$(BWQ@>i%bb."cfAE!Sd](R8 %[qp\;Spg\*mX]A0!0RV1hA(^Z2,`9(,4BoVTD5>I:QD/M0[0[ %hQ$#Qd3lfs`RVO-YGu]Fjog=(.S)?D?8`n8>>cHt`W@UQGgYY?KW-0')1kU#;_U]%OAqeFFPX[@p;JA)(@0W-06!%OBMjff`Ls"_ %77a2Q4HJ\5>6$"+mA3=jUDMl8bpu(-%Ag$XdIVN>=@gb'Ka/IMP%_-&+S=Cpr'?L9!U^3YSDV21+&OP%WPS,picWla`@"[e>+J1) %`1qdJZV^.lb"1VBM!T9_s7$s63`=fiTDoROM/_PKT)Z54ZWg.@tG%P'U>)!?M-oZ6_31q8rN6G3p_bH-X^(SAqF*uPT=+<7=1JcZ3P&7Fh"T.;;`;0"\:r\:)>\$ %Oa31[8g(jCW'h,H4oNbO_%Za6aiWbKMl]8Vf$X@6G3VWI\fO3hU&`t[T>R'LBBJMnNci]b&bg%00O4b!LpViN:*rKQhH.%:ajL,b %b.'#//>lX8"\31$PL7"X$%*JCUo-M/JcI0RS[5pu\7LYoW(N"G_s0iCD-+[A%@m]jC)k-Wa:9u24g;*dQ#fb]V;dR)hS]F-<;X$% %gbT2VZi=J:6IW9lobHP%;jFPr3u3YP&:4sh^.CJV>hOjK5-_$ep?8dt`K"QaG8GkAA!s&hehoZ,E;_N-O %YQHs%XA>)gc6+?8h#[:epA;@+:fb>7Y>Zn)a(7N&F!;e<]BBda1FcI"TfOVIO9tA"U4g/1[^/T3aP_j>Cs/iVI2>cC8t->S66d_i %Q%BV[5,Co''>6D%a!Zh2S^.e]#A[@$oKCVp,K<:_Hrl/f#j5skH',>sjlQ1pYigsH[??]0oTkF+GiBd%-C6JT,P;?McE>[_/H4Hd %K7*Y0M)3jiELk7I>pZ:+;cTQH&rGm/N45,P%u#)#s^AB\Ppa_"84\UbB!42<8aLPYu1QL&uJ(cNKMm5gZlb"bN*B,=U'p'^b7ZgIu"Fhk1OGQ&+"/?D(cXNm8nm/aU[E>!5^b@J=o`lJf\*JBCnW,JlsCr"'2jiVg(^SVIQSV^[?5HiU^'3El=lTg5tPiCGB+blAo%"3j[UQ2V:7 %]^&h+#eX)hAp((1?PM.k_7/l_P88Vb!fRU>A5^j+T8E0'K1>nadlAH7#dLrJ):[WC#n("0is\bA!)B83O+o>VOkZ%+Pd(CIHacWaTkU.5I?^,-.d615N.;*G==p/-GNGH0GB__DJjh#lU,rX\+X9NJ:R)L,l4J %YmZ`[S06?72r,nUaC2ii$TCLEM+%%gNmLP7_QX5:P.N>@LGQOra,n5bq,(4Ec=hHp),oc8P]K&hUl9GM8#N(@"ESqV:YM$ZaQVAc %m:UIIOfM/lJ9Y_GTBj(/CQq]KB3ZPfYmifr9K(]$Ln^+t0P_`eLm`@6>p[ncLhr^ho_ap4G*_CsK10DDQM;t^/@n^p#WDL:JIV`O %Q8:Nm-,4R1e0fr`@=]MX"*0pJ:RH^8')KTm85A:YWhX'%9"=(>Lc*ZVsE* %"Z"LPV@?p1OqiiH/[ZWL#cJ!T]jM-Yrgp^=C`0OK_cIG.gIS]f.4P`uE<$_.K[Dq9CN``31^&/>0#BD)WhZUQKZHhIT!Y$).KV1n %*&>^(`_J'^O.!rZ^"lrG;h'&V\"[Q+V:EU*l*l%2jm0dQ81$O%U=s;_FR^Dt/p08(=!`C?CAoU,;<:0:"nD>T,rpY;gMlGck6dDj %`uiIWBR5h\SN#G&BbYWJScB!0JWWP*%>+FSX#?fJ@MTeP!:XZp?^*.,]^8Q?@V1ME,eMXUqq6\bR&gMsM4rBWsQ\DFA&P[@mGWW3#&be5/7X@a+c;X%^o( %i^71>H<:3#.%0k,`)pBT*Q%NHr'kFCm7KF%1$C-t_,UP(SrcodX?.o=eT6=^GfI9':h1-%ZP\D?q?S[s?;hMZ`@\0(PR-BN#$I$Y %6@:rs-!MkYf?pf%TM[D]59,g7@J7oEV*RgLUU+OZq_UHl%MNZ>?@CE>([V8-Rg+,lJ:66n/a0g\0Jcf\#Ucs/j:>Q:4;U73g2,"1 %em"A%<'oZaNmn;Zp[5FIUQ.`KV*[,+:C6I0l^l&EAg:@W8)Z]57AJeE,J]WV_'K8QFa&??BG^+cLtp%a"1q6)D\E"g>K6?L"_)o, %?WV#HAF5r1AUig@r)V2O5\T5m;c%V3r",be.8C0p;:t.^2WkUnJ!a7rBQ,V(l+g$8B %Zb/iDs=n:4@7UP#gqiO>7BGaj)pc!-fe=f&0oVl,tF^3.He'G"(^Pi6i":H31qnM<<6$K7[#Z=:W'gm+fm&RV[Tjl0;;[N/(Xl3&Y3Ed961HZ;.igLBJQ>.&Y[ %S82979oR;&Ac`2IfJjf+=[A,5R*u[WD44pk)V(*j.@E.he"[$p@dOT@L,EgBGUJVa%r9r.G*V[IO5u*1,?mqMQa%R1+7eBV;pZMX %q/0Y/EOS"P(Af7C>bL%FScb9A\n#BfJ:]jmbcNn@;7dUf)Ge!j %83r:LPfC%BH)c7>MG!7l@RXlhP-`h`XPcq/\?>Sb)*h$#=G=WW80t+0Yl^;QGi!Sr#;)1JB/PL)X/F+;?3g5[Z:RmN"<$Rno6_kP %,(K`F3GmS#Mlmq*UGt0d!Xe"jpN3H$K_=@]^M7DZ*Is+Xc^`^`F8*h+C_,jWp1kX!dd$P3/*kn[aQ&;CStI#^KZu=t)CE-!WpCZ- %1q,$t=%7Fm/.EE0kTCt$oTbMUq3b/o)7OZ7R;t.5ZOhX7Uq4jnGE?7+aJ2umh6]hGK3=1,Bjo$LmF>NE;P(1&;`VIVWJDSn?P[e/ %7>Q$JP*2X]3K,=?!:4Ns-,?e5RD*D6-PZOe_\A2L@G9&Dsh91hBrVt4Muj?p8Y(4l0dV=/o!C=]9bqlg".IK.Xnc(G!kO1ms1 %k:[)>`Rbq"?bIB3o3Zb4psk9ach&m'qY\mE07q!C?i;Xls(DB-?iKNol;.HJn,Mf?rJ//fnbKSBrm-)j0E:bGr(m@ln,D@^rnB[; %L]@#,TDms0I//hQrnII9?[S1^rBGDO^\Q>SJ,8F0qU=@$l/2O,^\d!9J,_HWQckHYs7sG+o:LO1n%/MUrS;u$iQ"1_QbWRT5Q/P6 %,*Uq7-[2!!ee%'R*ADD=kJ_t(!O>t9"t6t!e=D;B4,@[8_89^7&3ifG!M?(*Ml6E%gX!T>r;^'k+!"Or"eH0>p.2P9l8CdFL&i(N1d2Ge-4m;T2g<8d]UP= %-c2a^7l/01`B7U;-[%&=C)LaH1TrRV7(NM//h1l*H&29&&bCpeWhK=dCVcYBf-:0CCQ\U$9te9DVI!9O5F#;a0kkrClg*->_#@T" %2R3Z`0fb;;)R0H^)fr/f-.f:@"7(94_fs7Ol`kn9VU]R,(\);%gfg/*Xj"!,f$aMom<""H;.Nd?rb0n*!8`,/bCSkVdPl\\Z>B9, %B;BX*!;Mm2]j3>rLC/m.s3I;.`71c[Z#4Z8ALjI#1Z-^=B'=FGG^%m05!CBMo&L-+o.Z(,"EPcY:U%im2)?]E#@>-RY3$*8=lrRk056u=J`A.4)uV@J1-CuKEi3@G,EhSlakf?WE8LmfCO>*bf4";+TXF1lBJgBDkm*p %YJ""$bc20uRSA(\<_TlWOs+^UG#F7\5.qgj\"'T+cTiG2ePhXj8Tj?2/`N`_&"iCqac,%QjHtA0C]lOl+-q>RhZa;2e-Wp)m[#Fe %hfA+C\?bZI`j@O.'MdLf+M>fWh:C^)A-eld<*_(8ooWM1/V7eoA#)0QP&p*X79bk=&citPn>)>@IaB]FSM&tCq\2+s\9-RN#d7A2 %7%;+AEf05%YookXq9`75'V&2a6G^*k);4Llb;`kd1)%oF(!=:hD_7@``RgqIl+,=iZ=froa(aF\KJ.qaNmN7N"ek(+k#Ajr<^6JL %kaEp&UYDE+FE(n'+_s)Ea1qg@B55PaCXSS?AFc[AZ,a5mE6nnq;N2E9C1qc3-GIW4SRPm!d)705UeCXIH(n&cF`Oq(8R&`@f8t.e %6.p3Sd^V5qn7rr"EDo7am[`#TK]KFaHM@2*1i[nUWI87&Tno(5V.KTdlHXdp0>BXQs7lKQ,^]G"7iCoJOsoA"WPG>NoTPpaN^0dI %bQapelOUZmiI4ZEUKCun%QsJh/6Kd7McI613(9aEXd]VqgJ%KB",Nc3^8f:=;M6=kj<[l/gZ^9dVch1=aO?UHRl.9d\&ICTAcU5% %P])UG&1.=X:\._DnC.2>:b5,]M#8H;T(c)aD[I(a %pS67V1[Cnfb8J(IP'7arW+UJpoc0Wbjs`.OjsZ'@:'+!J(PKZ2rg(*f1$]'D<&Y<3=b9lHTp7,]g],Cch$h %%$?=SbM&"FG,$UD')&r*mt2u&mGrh(:na``CE!RMR8q,SBrq$Ho:o`L13,+,lhZ_j!=^:h4#IAiYp %ldhillQIs`;Xd-"$U0BHq/s=N?"ghq[PT`D9mB,D5e6hT7->:3k-hTc+@BM+W.pJooQ67pi&3#euTBl`8b?UZ;L]9$`"94M8df7oAJU0A[b$?0+sFejre)SlFWH-20ZU`9tm %)-7@T\?f!]6#gO.>2'X);BaF#lq<0V0;fT@i8(-*$6'B[*Kdm1XksZuQikup4<3e="=^]NJ>^),HUrTSXCm7OUE%lX]J4ILCopXQ %KT561]2Rj1[_eK:d*R?%>"Uk5\aCl>paK&LRPFip70YJZ1AOl6V5Z>G$J_NG=#r_6NY4LB;XDQh"JD9Bb_YlH!k/mKOL%(O?ecre %](MQdUCE9LS_M;D.%mt@G183ed\`ao^i?+Raf00Z.ZM%eBJdg:j_33GE<%4N)F2aQ?j2UV\]^b2IZC=`H?*7VHB'&rLcDR'CR#7l %$fnN(ZT-!KZ)1Pr8m'jOG7'ciM0l*raJ?Hba>2^i6IMOI8-]tY,>C8RK+sg&T;!+bX`>3FQC9s4M=_"n0>%g0SPbd@LS,d/JSp_n %T4d*2Z8#+`LK5S*DZF$H*%EoAm\L9kB.)s\euF-,Vf4tj!-%;"beOX]F/1F>4V6B-0FX@Abe[QdZ6P*_p5E)8Jl73GG+`(;U-=/O %@^D5G@]6@Ar:%-EoZ&GfYp)90]+A7c!RI-o\sKMR0D;6>>se9?Dc_"FpXXYA,]`QZ"J4(&OR,ZiV4djsMr_=-W*%Q(`86=j**["' %6452DRC"K_33AUu#shpPd-)s,g.p[R\;=?KK`4;&S4eA!2G7:"-k["HO,!YLQ)DsB'r&?M%jRSilT1-O@BO0'"-r7+A$VtZOZFt>#uM9QP%R&EQJVh?h\*+UH4aG/qBJ3>LjQ4;.->WH(g1$\J'_-$ %N9#5$`s^H>65L2c,WDIkM?FFA1+"3([,Z0=X]_ar1IrlQU*qtE4$r!B^aL'K>!6+2_MaU1XV/jUm`\u-j):tNbWc/ %cTROM*^*qs]&E^3JRn*Y;>rnu,XPjH'+U>ipflj00^n!7-uR9eMkfL:8"F^['[@/&cZL%f0r.FsQeWlt*R:mW:Z5cCgp>T%3:9gWEYDMt5Meur47-S!c?C2#C\Vr!U)$+5 %ro[B6T%a9XJ99Xlcj@^'5M/PnGl/_#D2*lA`!PDVWn[--6?IRP[m,r7b??gR"<"Z&Gk_Aq.l_2b`T_UI"fP#K'rmSkGi,*i/Jq\T!Vh#[Wq)12V:VMV %98hoQCXQqQ_60Gkl'G]S%;rNrckhM/E[%6DC9AZU_u9Nb9eC\!Q7W-YarOEg/U3MH[#:^_8"ejfe;MBi %!&L^cSdnVBLi!@NA//$'s%#]&:A`DfiORk3>oZE"?*_sVUR"f9D@V7-#bS@tJ#H%fCQZtpMLXDM[X'QPZ!%Qu=T?H=E*/QZ5+b-2 %0%`MP')pD.'HP%0TZ2H>Vs=1K+%a\N-Yn=j:YL %dW:E9R;2rGjP;/A[rKpgj`^5]!u?:!Y7VL*8V_7*g'E7B+SHo*hqcan=`c>81pd6'kkooFiN=%;'W.,.1.r4qVKraXk>hlg$iE6o %6AA`.;53`1gQFDB9G*ZL_QoH74u*\?##&fV&N+sqXs3u`hH4M8N9Zg2+qL-m.).b.N_r*!`GXOd1S-!fj^`sOR8HqL;N>5Z;'<_a\I=IgLc`807BIg"`YuO>7!1mPC?o4$@2F6,'FCC0<[;o7U,U;K];Dq4 %ORpqf9k#q6`A<(J1mUS`;4gb=eAtSNDZmdnNb*6iAH,N*VH_haNrITS*pf))H.BG`mJ%"$F/.DX=jIP#5N2g]aDNkU:=Y58K6rQ7EBN;SJ2QVK1dq<<:9@t9)95te %;IK3U:j1QI^`,)h1]:&'p+8XXrMQh+O?W25j,>C$fV!HRaqZ7pd5^aMDQ=t]^(NPX">(HfJ\qSR)uRhqK]kbk1]=^PUZXsdq45U9 %4&@lb5%1lQ!DZbC#b5GoIc[3MnY8*YicsnXa<-!JPCR<*RcVe!"hRuj$TJ<6O&f@t2Xkikc0>B+-0:cZRmcW?CE'XH+qJHe$-/Yt %!9dn&&e@TWQf`0gJ?%MOpBSR?CI[W2r9V4t6mJG/fe(1bfI.4Xg#jl&"/LYJ4$+M]VcaKND!"XZf8CmlB0fk869c-s*9kYibs,YrQ+^DdatkAROrV9\7o;Rc9=H@MS(&8Og\NS.F;)*lVr.GIlcLYJj'NNm]'?.+F%<;Pr@U]@+7mr; %?n:#p'9u&-0$(`!$R.au@'&[:V2T.@d-Qs;q;S'Epa<723G8b*RUF^o]r!btBeFstbb0r4$r#V)(f.VORusfa.MCJV`91KhM:Fl7 %JhOu.?kF-X#U_ln4H#J#;!bZCi'JNL^4X'-V+/d%`,>qY_C&+?PFE&%`(c=F4(m>WrATfFh,%&O(%j^_)^jOL*nhLJ<@Kh"*O4hN %_NG)HJC=nh+T:Dd7q"i`8N5<'&QRTcW42mXjX]He=)`igE4strm-&+;^i*/CGkhM;%\IN+`@E>TY;fgY];C5?2X$83+YSqrGNsjf %!(BAsqQ-7(jE)^o0??lejA&5fQ$@;NR_5!:/ftHftQi';+I43_6J %W<`PN)FG3_+D.u]r^S&uha]#CWT&_3)+!QS#igE5:(&n9T:P6(?KeR8<0;H8f2d7[/Da$$N$+Oa3X@fh:WU1=q0IIbI%Jd_nWs&U %H(sjtnr0N%5L]!P3eUpt+tC!(5@oJYlMdn(M96drCO29]J3)Boft.#(.&fUUW#C`NImt^]HB6pZC:>uC90G-b0)^/U<-HiTolnD@ %R#&CjIo/P5%Z*r"aS)o.I[r4Hhg@+=1t-fEbuX!`rLgLu=mn*dD&Q_4rAb1=hVHZeR05)k>]^T'$cq`Q9b"?q51?(rJ<.7m`/Qm@ %;sLsOW>cJ<],S238d#M;FG$."%U6@,1C$h[f*"&qKqn"T@$@s'%*'LWR*\tSpE-,\cC:decf3SkZQ+\LM#Mj8XuJqWk7R=+UMt&3 %_N?9R73fF&:W^*;\0/C7G#BC9#iAg:>eD#!d?TYD1l*HFTRf9)[+BY!h@X4km#dT=TW1nS,nI/L9!rD0^ZYg*]oaM>i`&%P*BeRW %<'F942kjl-ZZ$"cS3@"9e""?,qPTc1YpMG>`iHQsoLoT/atm3sOA+Af!B>CibnqZXOPC+!q)L%.9Jb^l%m;/HXgb?s/rg#aL=GjX %"V+8*f'Hsm)laN/bM&Bs&Ik7r[TN.69FX!n:Pd+QYGq.k@G7^Vt1>llEju<]ZX.4_W%[d-:7r,2BMAL5TW+l''ZreGT!Npg;L::_s3t#e-<*R(Q:P4 %]udJ,NGiP(ed=NfktR`"&MkX_X`CW85oaSK9HH8mQ_aXY7e;5pLj&3bFc$N7NOSr[IXU%=[fXlM^Ooq\@*)M/-2W'XD81Rih"LHXs)hr&?.8#h&3N`,pQE5tJg^)E/Y+/M3HL3Rpd+nV55_Jk[?bu>^H4;m=eW93GJq@o %I*6pi=Gt&dL+?5le5-9I7L0Hg!4$B4$$Lr6RL%kC`!bbEKOa98O(u_K1"T4V+[(p[;iR3,N*V\Bj"Tq9"m.nad %90":NWi4R#=]Xq]m;nh_5&bchn@J-)kcL\n;+uk'>"k5c9#r)uu!WNRZ8P7O_Vfq<;,*\-;nM(q23i1dTY!=WCMD`%K[D//Y&@h&t,'g)a%2\9`04/(Ia@CT0QOI#K/F5Oh(^G1DRS6[tMY? %746!b74lkje$c\1/U.Po^oc^G[]aCfF@7"lmo9pb8!M\dE)7.eXF:\)>l'@bh8^l+dLW7.]!_&8J+94k*#$99,>f!D`_PtX?2#U(CPTq_K:=)+dc2VS?mc.Fd;hI_;#nS$7'LK7j7T5 %Kq8R\1aOL.;k5@N^YWUWNBW8Ym3gkloFeNcP^6it;![fbh)?RTS>\^:EWO)UM[RADq4hej(X.Cmj#@mJ!_!*FaqQr_SjD(j=2ZbB %BU.1II_Y?PY`-m:k?T6q$='A6`riu8Tok>.C^Up&j!p- %O=oCb#BHnP_O'@?SD^FDe,O*$?25kGi$m#Gm.gb\bff[n""<90McN:0pZ(9"^/fAEc0MhOgQF-.f,rVm9 %mhd0uj5C[W$oA?=W@e\rWHPtR!;b28[(S"a6t>H'\O4e83_65H6aR^2`%"SS"HV$pfKEj\4RX%-chHm*hULBfH'ga'''K1pD-Du[ %dBf'O9c8d-3K&'gJH*V^Xo?Tc_jPn@W=VJ4Y`V"n.'Pk@Zb?V!')DiK1E2f7NMA&]#Ld\(csMHr;a]h;>1M#[]09)mKT=-4>nY=a%I %>#Hh8SIPZZ0d0aJR',s'ngFW+"hX1a/sAT?98o[$:UD_>aCn$qo8n_Q8F;J6\0;tBkC>IG(-k@nb:)"E,e0N;?7-!L0j>p3dEe'l %mZQ!&2VSC.U]PGA9:(Bu.9?;$mK9Yc+=m0[2S4oeo^N]6br;PZ1cGZR"d!3mL+(.r5s0rcnYl[4hg5P(C0uPQNl51@ggP5!fZ)6p %YP[!;^S^LXk>nr(['^Q;N10s\Vgn`OSaQW:PnGmI>Z_JRUjCh^>3S1&< %&W^/0ENu;(27#kPi5qLrc5p=OKPQ+1TO3UB*GRj4OTq:4AX$a,n0m\9RG`%eFL:f^hYV\s"cH)7=/m-F^,%Y8NeEi^WTX/VNY4,O %(]N9_5E;f`fm*b&%9I'(XoEEaI`&l+hj&#!g+g<)n\H0#3EGtF%YOh!+=_VN/deT3YLj];&U+4Q:%bY(rB?Yi,F!;h;iqNAJ`^B% %?eDdW,\KaticD-EfPWKLl03VK%`3*jUZ2]5J!Sd1:Z&,e]'ll#;f7A,_k1aUpflT.Slc92Np]\R6n*M#ZP=;8=bcW<9]/TP&aWNe %Hr9^TU1pedF.#[G`aC5)>b!60U,R`NX>AKq_C4j7\cR;ib!]6_fW]^1=F8W>8J/Tg&ntmeUplQ %fUQ>h2dHYq8bN6>^/Of.XI.;+.f](ILG'-aL(U<%H6!*21s9#&*+Q]MXsgV.I3+k*T=S,%XmJ"RpKQLd/K\o$brir:q%<[YTCWAg %%F,'a77]I3pUN;`]XN+uMOLiW;Ql\GeSkF&d`eJ&URo/8FriP18O4*8Q90]$MqtIOAkRI%0U:S0XRNHYMmB:Ss#;TQ:(u@El`B9D %0K>6!!5.N*;\>gZKJXgeM3e-\Q:R(QJkR-4h9>U<'7i$;_V#OqbTFRZS"PcQ-;Ln]5s^mQ-0u'J4@]?>7%nF[I^CKuq\/g&_V;N/(m!#r+^D(BF8];h^oY_]O@ %r>$bHs6:jp*'%XpF6hgblq2A+8kR21l"$[@>[Mp*hTqG]g<[K=S:hS/_2aYOG*R:s$E>iE.-EGeNr,,g+uR:sNG$kCf;smnp0#*R %8/iZ@Si^LO-n'nKMBm7[4E?D?c"tY7.Cs:GNfr;H+3#u>q.Xj@<&N?\[De5g3o83h&Ph#B9muW8;2.h#bt^Q+r7XVIqnu%+#Hh+b %'pOQHBDaMWZu\W&)[%U64n<0Q,:?SToi=.Ps(jPa0FWgb24]sI2pR^YK1!t%qU$H\C\(a.fYF=s3iOZT/!H^EWIFXq:.4hI(UE4f %ls9^hoPjkkV*k:hEGB".OAKrag$a;qWAQ"s#aR21X-%EV^!g43]i#GR/SUs]9lX4Bo*WVJU$f2G"u-M03Wfrff#kq/;7Y_9/*E&: %F!g,aSuq=H9iR`.&MRC%Ysb"2=uQJ!Of1JG0?&d(Ba^qK7)W8c.Hcn#Zs!o4_3LLgF;9!9.a!mN]+#eCD,aT>gq!1[)a]*qi]tuW %Kpk%<7/ARC6HFONVho2OM[1S\d_(7/H90G\\K^b-;N-+WN3Enp2;Peno\cm.^sO>E7usOlYXAZ[ArSJI&_iue%g@^9:Fn49"sTRW %k-3I`7R*D!7bqFa8BnSDi7)XEka^V.\#?S3C;]k5Y4R+-"f0UqS)ZfT*IJ4(A*j6ODSl$pD1q4PjAeg5h5suE'no\R %lW0T'AeC'+gGdj"^G[-OaPF("Kh^@4^>Vd3;\m8")96sc.DSBWldq=ANs]$(qa'?iIjZ#nhLMW&P&\oZ_DRZ\S]ABl30DQ0!BO_Z %F0>9Y$-ss=VfhulmV-^8J:,BX7K^Dq`qCOeHgiqBYhe#=B6:Wm-.;n,!j:Z0pDC+cSDg=m4H*=3<'&gf$e4--8Kra(ia(u<)?lbW %2Fgp1gn1p^(XN\,&sc?qV16GRS-5MZE]?q=O=:'6Wj&/k7QGltpji&$V1:L(("I[;%`*9m%,6:dIZ'#;!Au0YI76 %_4K.Np[Ag%FDeQ^GBI%4n:c)IV;0W]0X8Dh#"Rs"#+O01Suub.m&38,/&Jb.r+OQr;1Q>Jk/s:QoG+oQM-J`2p2EO!GD3TZKU:V/ %Jt3Xe[4ZZYcjo)h+.U"3'qd^9?K/sNk(e-L/pgJ]5Kec%&1YXoG`CbW8Faj.2Ll&?cIdZ,U8WS;m4.qf)F`Rqr^SK?j+!4!lYl)< %]/g8YkM=\E7r`QgB@#6S,j/3lN]j,YZF@KT>6=&.-OPb-dYVo[K0N;_4l#V_YjN,0I7l@RSA %I[BUM'65J,?nE&Gol%Xibn[&Qq`t&U+1Cr]V;t.%MR4hhU3g=mSCARio;-Vi %S=UF%r!JW*cj](h?f,n>fGAedK+J+KZ%+k$(]':$MMuCfo*$6K41>&3=[:[s/fhR@)ImgPfXZ:F5`_*Y( %IQFes;C2O/1R!SOi0.r=Li]!&=Ok]R.nMoT<3,57*Np_gX-q"!W02_mhDJ2L["\YDN_-`,"$cWtkI/QQip/K!/]26c.h;_$a&L?p %5G.rK-@1"/Whdd#UsP5A.rcjZ/)MNtrn83_6`SjDGHi+uJmuB6o@6*G\lmtkXt1$EcYE!HMpBLkVB?^kpB\d/;&[k&3.-jp#KA`& %E2SMC:VS@^l%UQZfoF$I+*c_@uD]F]Bjn+@A/646VmfP#S!)@Usf/7%"qf`ffC2[>$FH' %Ns,pCk;%""MYHFIIr4(*'Z@=QTFlmjr8KHbj`S1[7?!o\iJ?%bN,\!>?KaF?3,0nOK$Ea%^eF"'lFX/b&2Zu[;Yo1[GpVVS&:T*YY/`P!T>dE]IoD@E_2;`Ej^0cYYoB0DHB+RuQ3nVd(k"\h\^cNq_(T4WP0L;-d_k,af< %p-Dpoi8>uhJ(Z5H&EflAgF*pgWHpXoE7UJ+_5+?eN&^/8D:0cA]lFDBO0gE?GNLS_VJ#-t+%.Im %%^Sq_$Y[7BkS2[7^LGt&-oB-\[<_U%/bn9OQ03lAH,in"V;I#b\Y59^u:i"nqpXR[TRF[E7KD %jap,se1G#mhD$Mc$@e39d@Y@J"O-`declU$=]2GY@l?'VIUF,(!*TIlQqrWD_bYckU^DR[jI'(fSpU&Sm!2p2BuB*_8e@H^j;-Tb]:usM,!0O@p5CO[lU%4]F^9S^*\3KDr5@uT&+bq, %Y#g;Hg@+B)N(&;>)IiTFONkM;Z`:\c/,E'V"a$HZ9Flkqe3-&kXZbR-L?9e9jb^Mf7[fFE.L\04uCP%>e&S?ZaLbqbi!,S+I<6YmY9og\Ma\ZL%VHiL&Z4o[#T^_%`% %DQLo2bLZ9k:bcEr`OmYKlml7kc8Q8@ogrbHhH>VUb!#kk@WO-/F`aCcSp)E=!\eVYP3p9/@crqmJ]s[ %UE#0$oc]-VYtJ)oZ#ZqT:YSrM_I[F2U9m6XgB!s'G*V8X64?KL.l=_TpFq\%cK.gSLoX"8Hl.db%A%j#=XOP0b)9PV_(jpVqP(5_ %P](4AH4O3$"=aLn^[u,,9LifMj>ng<;X$$cDIjE_=VnCDI"NgtNL:pfMf(INnf+Dd`]$\aC6W?:,:7#]=@)fC>tI`9S^N#"7I;5, %]LTL^idtoMHs0pbi@UZNCB%.&UE#H(32[2:!Z6C)PKB^D),beN4dM+A$lJ.uq]!spbU%?QfNeii!K](+="F6\jB`V>:;p",(pp#[ %W1]4TVQ]&i3nA!"Nk0S->L&E)lXZ9I(+&:,35(Da"WORK0dJn&Bno7#[PEYaKp,pD?BM%Dl8F6+/?;hk7m7S]3F&h`03\UfhlPFJ %R!T+)\tYZIC538uIW`!=)u(cFX''Zek=[iSFXF>G^/`kIrb#jTc7g(hO/5,(;*-3sq6#8E0bL'BY@qrL2 %Vk&Vn'O@Q8)?Xf?L^K^n/Jir%+Iu2ac=dqU>K8AC\I0Ho*GRVZ]8tQi(2PrLeJ1ZMZD%JCCcOhQd,@F@BgY$*T_&SLQ\"7W"sIk1 %E)hWJhrGdh4(pJ(7e\D20QVGm<;pCk/6)G7W8/'uG<)R7=Sd;;)9435nfpNeanq:k@iuY*Y=It.R'rQ7fI %D8!hdK,PPW)\>":%J:PdKd.;/h>)J`&'],LDZle`a7=8-8IqQh6:Z\l]$/1`!HO %;I2kX_CoaC('63`lY-NdId8POscNX8ggmA?AIO\D6kS"JP$9=*MniM(?4!J"gU'o-H %(?fBNMFcRGJ7?:_/?qYgI&l7S3qD&Ir(g_VBT.RfmoN0\0:"m`p!;fus$,9;@(B/8m5bonGW&`Ull4DCmO&RFF1O02Ud7"lcg)\* %rVjFChTrgkfAo(5nGj?Ob+K[N'-kdSQqlS1cEkIWFE7-E?*(P\+CM`FeB8+/@(Z+W1*1*Q_@-YBi85qEmcZ_UiJZP--G %,"2(DYC:c'dS0YsdH!57ob6oBh-BCH"p4SS(&,#g$g]10WfQsgPJ5"sVXhe3CsdQ$Cql_h %%D#'"I])$2.*e17GEe`X)9<28'*`bO'NC;dqr/>iH=i:tr&Y^:i4ND[\o64Rp6/"\akSo":K`_7U(L$XV*4Vf2/$oJe6[rq^VreD %2>r=N@7n#9_=^adSQjgtF&3a%*U7K$s2)u(h3c020S&c\c79'H_DQiVo8;>IWi1ola/G*G.M(oAp*^g0chXFE9!pfE`'Jo+KX>@?FcpCi.P;b-M:H^]C%3p`,4fq$@R@STT8j+WL %)AP"TTqM`LB4B\%+[^!YT08&B>9lb)#oMpe$>HX*1QbDkM*dJo;Y>?8ka]g%KFd=K1EUA*PX"]@ibs_K?VQDr\4BXlVTnZgr[C^K %0I;/Z<]R3UAR'!<-B_^OeM]fA4*n#3dAoJ%!oacd0\3d6^-pMQn51t9-M"/aIgq#eU]emH2@(r3hde>%!Lqh/PlA#kbaKpmGBuDqi3MJ'lohYASBjT %hcW3uInrfKjO:r06Op!UH^?B$IhR^s/SQrX]tMRa_Y1Lhn>6+kZlis!1H_-NUW`A8MQF@AGIIJJJh(Kl?0pDA6%&3SX.J`YDU)M= %^X)cR(Jk&M/dOXu@Mp7FbJB"6"GW#YMLX#(+6Z)7/b[d(7eo2JK10">M)3"m5<5O0rM1Pl+qLYRgDT$ss40FQ%VlI`>%-K.mHs[a %Qo<3qA3:a&5te!ANfnhfRI#@f2o1"`*qbo\XGaN'n12b$h\S$(OiEMjL=.IRO+!9P!m;JTn4ZL'TdrJX#$[+ldcQ@M;L\93,n[LY %K%;a9e5E>N0>sQ^RXG0EfFjI1%%Q8H2>Q@(q3F>lI[NkKM5Y#!r34X'1j8i#W;;KaN-UjD%!%Nihd\*,S<%;M %A%DO0S[A1%L8]NW3e=rDj%>l0J[P%U.EhQ!$>O'aSl%W.%+,(;g^4h<9$eM$4pYg=[(&%786Df(!YFFkW.6O1kPpo@be9mmqII`$ %qU(FKAOL[o9AHOsc5B72R.\d)nBWR+qA'Z#(tqS]"E9Y]:Qmdd0FQ6n%4lrK$6=0ZB&06[?$7[l(+-l/'?3(T`JRnMFU"QWri8-\ %/Q73^T\t4KR9fcmEj*5mas&[8k"aPE]o!]k]kcM[d/'7-#YpM#20LIc5A:nL,I@b5,9-i(OsZpfhMuu]X\W^YoEk0c?E$sMMSajW %QNCQe`REo*.j8l[N5?.t(U`4"qt*ZKD[Sd6`Efg&\?,=;C8rLj*&+Hrn-(%rLQ2a$O<:>lV@DVq: %G],q?[YXMN`GIB!d8Rq&NmF@#0LJSV"ZYFY2Z7(Y+>"(sU8&\e227NCDZ%5`s8#$/_s.!?O!kFAnaT461D=$!OA.G9IBU6%b.B(9Zeh%N>+Ko;JS!WL9-c<#fM_FWdSBAYN!Nt? %(/gII'`W],Solt,k\t4uD@6:$,/do=p"UsOIeiZ3,ldi9!;4O=+8.XY.JW]d8?mI9<@bQ%,"8*t;DnL,7rIPP/'^+0s#t4kV[8:D %hHV[a,QJ6\-nD$aW;<#;2nsaI0e#=SMH%n"4%#<2=8M2H3i"#2b`d,2D([Lu-m56>j@*]6\tXhAU#AEqq(cp=5d(4*O0]>(>\(KiXoM8rfgN'K5)tnT[BA^3 %PVU%1O:+Emk7P3r<7F/'*o%9Ucj3LX#H,IV5aIK4QR=_u_l[>iU6*'7?]OJ8koS-G8it=P]#593JOmO8FT4If$.M0ed+8rrRk?M2 %Donr?(?Hn,5C%G2s,,4+D";"A"%=M;oiPphB[AiPmHN::Ha#("#ofN76+R%7qk5GHAt_&9FRn&A72:H<1N %"IR.hOU\/pEoEk`QTI=Qs,MF^hJ6ZrEebsIF2q]514WPt"!\k_Wq(P:Vc"%:jqVP+lL1>eg:*Tp)T-H*6f71C0K@7o"LZ-/2fA`R %ZH1S]&WAi]If?_XQ2dPg$q:H*:HOd9r8`r!`>2D\i_HbV%6pQPFV+)FGE[[0!;&fb0>0-D1m)"aP]SFB=+n>k(hTit!jiQNT5n37 %I_^O8A5Jj1E>abn(6%gU/!=dLO*Ljlj&TWS5.5i+E>612HKc_1:K(CPeXn,)*H=V4!c4!K\AC:P%KHQaI[;iND;H)3EkaN3B]%,)(?;\, %,Q^YR7KRt)3cX;nYd[U8/L)-jU0;.1De)$f_LAO6322n+l %[j^.3NeX)#<^Q,djpZb&[@_Ol%`(X:!_;[A%^C0gNK1U/+t:9kDTA=:mr&V>L6p]RQSERV_Ud=%bb;[rfK"-1P6e[:L+2>,fRiILYQab.]D=M76Mu]W!r1-__+//^p_%/ %!Xi8_m1_P`S<0FWobR^9fF"5Sj^/'KlNA\!ng+^+oq#mrr/b8[ceY7Xh%pI)1B<2CB0A%),IbB;3d58%!rGh2NUe($AA3P91VYC/ %Hj&cR,P^$LQEo:i1HS+D %d&8U>T'>V:j&?oCl1E,X46m2d#N3Lj4!TL@^It2@^CtkLTh59K0u"$,eqa1LaqF>.Vn4.&F2\.X=j!FfY3=b.s0Nfl8/uYiQb+M` %Y0r`JX(R[_!c_i].rn+RoVk##A %.ZeW@N"YlB>`)MDY1DN)n(3[JE7_A4lZV3\hJuJF]G&Ngh`dEGfo>&#\SJi"s!cGFBjcS/>^7qf*<5RfWKP6FgqQe_46SIm"bA/" %FQZF0)D*uuO2KSk44;QF#,+C!fT!sorfHkq4(8cK8d8o,<.NO#WYlli[Z8pc?"SrA_=N,I/OMQ-3b0;R;#'7_8$?3".W(e4f$BBp %*'Ie8$905\gS%bW6m?&CX7AY!o3f_+G2CA[V"Y97h3qA4E8F4S\m*(bV-?4"&F3G6$09oo#t %Qg(2b!D2)cH=tc'IK6>*RPc7O]^`@QOo-dq%ND3Et><9:.W`e:09m=?L+s"^M]pBGY+#>7iLb[D!(m3&.mfV2%CEu724WoI1U&6rr!I9[Kp0$7TNd,FsP&<6h %3B:I8&\kl'$r6m)Of$FVbfI-Aqr]W8?ZX/&i$]cj,IB&8;:qg>2nXbuJoof:I,4lk[7OB$-_0Klq3*m\C(A*_p7N;"i]lQ;9@W-_ %Wg1gs5XF6=Hpc_ajK^Z%9$F0.$.-0[oUT#o?3TQ3=a7,r>?s0C[bigsGe`dX(+T4I&bY[C4/9RLMYG$@lLQN@V5-,SrVJDq3B";kRMJs"Zd]_*U`+mUYBCBq?>cO5.c>2A4Q+W)J:Nc1ea+8=.=1lM,:*)GN.dqHF[98g&Ft"(pA2A8V_B>c %TmQ4lkI%7cI&ZH.?"8$12?`&*I48S\>%r:1"trsI+;_XAi1b6E1Fn\7(r[#&0lIjN_hq&7_6ZgV\,*ga9-#;oG^fH %g_"4MH-+J!!D%2-C93D@02P8Nm-N.X@+mIhV,ADn-Fm8rfs+M#3M7g)O1gGRVg"7H %6W]&?D]=OF#PuTYr=0Z)XB1YGq4B#te2Sh7>`%@)G&6V#Hu^k`>pI#lDh9\B;>"u"r%/\%9!kc#,2RT,Aa`ZXS/f;k"&D+/bk\Cq %U1Xn9*BNJZ%<8u9k-JA?7A@hIc2ie<^Nn8bP2buR#YXih-r,6h$rL>I*!;UB,IZA)Ec\usp#^I$!G,MRK"j]U.IuObk1CPH#QmD/ %F_5t!CbJ&#Q%AdeNU`\,-)c4DfaX$MUk]c2=Fjo3FQYNiOJOLeqOAQqJik(ZRTqMZ*Hqi5"sCXU<1l*(\B)fW\VF2*7\Q0Mr"'L=$5HqSTP^AQ!9#!f3,^u'k(2S?U(0$3H'[j %m!]X]MUV8M3DX>r;jp$>:$+ra&j9-ujI+6L.2G4=2p(!G,/?tlErVAi\@)IQ3\V^CXeMq$cI$\DS2jKm.0AfB8ab@7lJ3&hD+A:B %lhdAZDRT#-$]o;7oHA?";UR'`+@LrWC:SZ>?bX_9=^u[WB&os(\-a+A]1,-JAo+K54-^*D4)MC3p&A`da=Qoe>jE-)Nkg2DPI5d< %<05U_?JV)[pKf01-u(f?k>#RT`VY?2>86AgfFN?&J\-,kgZmppG[?t%fr/i %hhPicV2C"r68p&ar2H47<"8@TW]^!23\eEY%D_=D&XBqJ+Nap,^-X<0N])FVEOXBU$o1B"2)BW]<_XjiUTF:bfUss<+bSf*U8ate %J'UQa0"UX$:qE:6CCNj83V,Neejk8.kgqk7k0#TE^pX>LS-]a/lI[,cVedcYMT& %1U+\jn=uIUB$f8BW0b2gHaFDhgQuSER[[F^]sPSXEe>=1:c5qiHAbH$aTG=Y]t,*YI;0PX>:m8,L0O/+Ji:B3*oE2[F/9?(LS(n$ %2-4NEbWT8*\6g5g+r.(Zn=[Gm4YCZf$X'e=B6dD$UP>jqL'Ynr!PEX.k0.=[B!C]-0l6I$rp\bB/ugG59.6IME^Un,ipg;@c'g46 %@rl!G3&re>mMYsKnO=Y89".QgPEm0^%,Vo'bP`uBHc?jp9\/e>[,fE-mBVYqaGubH_Bg+m.#n3q1n=>fBB!VWqW0f0UisBgJ`Ba? %[$?E_0E8b.icHI@)_ipgF^.>h_R2dR7ROb(GQ!8[\\3&bBTQ!TEOm(p!8TFW]4O5)c4t3Q5)P&RgDpl)SdYW'2jW`lMors#/h=te %h)/MYPk29ukfTj(oGO3_++4(I_\d[i9BUqrT&@6Kr-e>XQKQ#1pWF/%G5ZdK$BSJ!c_tbR!'Pu$f<8ZP&3uY#4jt.q"#Hjq&Q-(n %SeC$(mF-(@G;u(pSc4neLop7h9KN"dJ:G?cWM"WQd5UI5,)pF$9:`(';2d*t%Ad;gQsIr#RqFLNhT=o*,=-7?_VQ.:?0!nu*dbK= %-j.?a'c4a$;uLSJ>]r9[Q<9q]S2t]]fEM?G08$c7a;:TiO3EasmRe+sjmLbIlg:H0:eO<@Y'Gr?!YLg@i)(Oh3+Agi19.+K&A)Xm %a'chD%l-M>rLB_)Htp#H*M>TtnQc:@cdLIr,o<'R"/#bdlR"(CRRsl<62)tqOs,lfE#,[7n]oYL%asb8U7Pi*kgcWukZn4_o$3rL %0/*U]PSF0RE!D3cfM'cS$s%p()/O"?aFROgX7R%705bbR4Bi@%'oP(&7eHOOJ$J`:8RDLJE7auCSM1j[\=kir(GSYCONS1WU]]7$ %2EauY;ohgFs+k%L/mI!^g'=PdJlaIeP>?uTP)?s]YWRfqYG#^HEs@UP-K!GMfln6\jXk/BV01,"FU%ckdk+dJU%1\SD:^6R?2Xso %X/G(YK4_fW?qq&;!!EP^BJOOq_kLDK^E^uPXsrrS1_g9YT#HiM`1k"m3^#JNC("+5G>YQkrk-3b1:*op"!=P,qDL-o`Kk:/r),@\ %e\guL?"r(+AF\Efrdue!12R2]g/ZI)%Y?IEO*-EF4/Qh[-WX:/SPBVEnI.K%m\.,0^6mO6PQW0PK/<@s4W^bD&i\)jG"P@;*i'Jo %Dn8+R!?^*hE+b^p6tn=k%"QL_E*\;@9B3\8M;>5`]lr2G#u`u5KiK3>iGXV2<;"XT+Ck[raX4UH$kGLhP;-qXE3;ho%@P<_@C70N %$s`dDTm1bcmd=D*D68";`/cLl5R*J3Bk9SIb1H@"+DIM8ERWt#6]b#-5H`(-fV;Q;ofc.paq3-2hFRcP7RuP %HJL8#\RCh)NWTEJGdMM0\"tVMpKP4/bQ+NGLhb_hQ@4^1H%Y51(SdnZFIS!Ib8n]pDn+D8B2Dq\7N@:,?iEORC>si*o%[p;N7nqK %DGnJ]aoan8\B_m8*@^.[U^V)+$b.?%4fe!i>Z$8mG_DJdLn2Y!FQHY9I_HHN!X&5eSsC?:g#Q\i8-oiSCfmaD[re %_.cXq&0m+O\X3fAc#ZRp4bJ:J45IAG%0*2iKHTr)3l[7Wo\OL\@6!(\Zk=qoOSdl5I1$U%*3*u&#^J&?`he=4]OZQkTJ_YAK.[Lj?*jea_7T*J\T_]jscA8!G$X.i^F@ph13Q-P%b$ub.[.1aS'7#0u&E/M8&@83Z %W+TtR$H7sOS5F.9,tc5[ALSsm^lQa"mMF4(0$IbPDM*uFH_tG/ni'1\/-6XG>tb?%)asm;MTmaX91MSgCIu>W#$;&12O_'B\tnb! %S!"Yb.Dd9J-hd+69=2YpY$er9:&p@Lg0o:+n6KLVB*Z2/grWu8S;0th0]2HWL'i!,,AkCZ91A^4&QHr%+<2.7Gor#duoDI?XQY9&tLnasLH$c@!p#EZgr%h"8*k4i3GuZbm7dHs\_R %ask7B>Y4>Y)a(WYQTt*P?KDRLoP2c?&EXftA5%n7@eMmsG/OTH_u@dn;+nE.k")l!Z,egsaSPkTs'H1G`]F>$0-?PDJ!8p`7tL@q %9:Ha)G3NlgRfL9ES,ruKBP?OjKFmQ,_$&71D+Ot'0+PRG"LAcPI@\Ohd]dp*#\WR.W!>uc?8kBIl^BT)Z8&B7#[5$Je]`!C>8hGY %(F,UQC3:4.;Z@AI\51l6e\?&iJp(+p^ke$jX6[Xl[*D638sog1Ber!=Kb=[n4#OL<5CnFi3dpth>Q(C'A3'W$qI3prQj9q@ko%$iCNe*e$ntYh"cgBG&=EL`TrZ2m7">*PMW,c?"SZ# %N9edDg#l^K=%iUYG;"\F.9aK15Z-cf-ioq"TBL%UcWm*n]5-[7)*@0-H]'9Vk*Sab^$"-3$4Cjp0T,/6qk:6?(QZ=6?oDV,f$5&j %E+l2N-rmYhcbc!b]-GuL"_QH_n:%jHITTS\SBOAE*8@,9VmZ6)1GtZJ=HMEN/L+ %^?UYn"&,a7YS`ng=G!OWn(,hr?ebo;,"MI<6gT.M>I<.](TfJ"LPOO3l\QmM!t.s[J%TZ['Z7=R;-LEPl-TBQX(9ah=kU8c@$q629Z"DEjsa5TtL8aIok0%=?F2c+CdXSR_*.OmH6h(k['I8tI]P2\4p47?!t %JDir^<*HIa46o+ulpI`a&u-;?VM2ZW1"Hul6J,enj>YJ=DUL,/C$l+@fi %l^q3NDJs)I;,k;I\MX^[>Qa*:7G(W7]ILs4W_-uT<%AeV$(b*a*]q-iWZD[:g'LPDN9:q(BV-7ZOk`1ef&uAT@5iQ(/9O#,Gm./1 %HqP(3h$$n*W>*h,Z\nT^dq.2kBrr6=!7gTi0#,lhn)0hP%lVMPC)&`[.]jX)R2qnKg`)qWYg;\Pi1*;fb\A[m$]8u\d6'K[9'E"U %0rH"8W[!Z+^qgX/#/4kba?)K-D-(6N?A9H.@M/]phEE#"oi(*ipZS]kBFbGQ@DqK %7%&rTfl?8=epa>3IWQ$ki#3XK_HeLh%#K,iUg:PXZO2`@_C]g9EE-mq-9"0UH2mXu[Vj=ILr.P#IE:A'V?od-m@?BCcoi?"1@pQ% %eLnOX[V\V[8sGMJC(R(?`O5+*I(k;GHB%M\ZXocodphh>hE*\o3+ZQ3-&>kl4uQ)sp:^)UH3m>#Z>Jd>"<8#&dOktnYH1:"l0d9C %N54:CQ,g?QNZ&o.(0;Bl-[Q9e0FNoD'D01_AnoknVQ2[*ZA4(KM6B;7Ni@h/d(l,s%m*6Ac %3C=WF%h7[b6*?/O9kQ'=BWa<.MM:Q2;`W$[jgm7Z$*Ha=aR@aD^D.YN/)Qg=T43F]HJW:*2!gZTk"\&I.fEEaM4qO;B-'8AHLq#_ %bqABH2W/RDB&=i#(gei?#RjtOO&Tr_p@@*b4EP`TpF%EqYG+elNYNc=EhqK/`u]3_PYFd+8JcWe\r0glQ*;TYl1Q?80/M-tStDu4 %$Rj#HKldp\;SSChCPmS;_J^fE*D`,oE]cDI/UQr5NMgBC"gLd9`$/7[%9cY&BlVqIHD#uT;:/^>aO-%6.S9:G %:;8pCMm0bk(BN?`5X(b\jp)*t9F4n1g"Mc!3(B@gdp$1$ige,Q.J`[,htd6@D*n_eW\2>rKb009QrCHS^l?+'pU %r+e%IRcZB'>/HSb]J!SQ6FF;nNu?)jSVS/j)ZuT!*@/iLO$=TB\YSU@"FGC2jt-$UIFdJC;V[>T?N\37kL`7qUX22s25K22'$.eG %H:IL*A#r+g;FSD"0J!$Z'_"PIkA.!TcYL:=\;pIlAk"BrY=W)pU5pQ5'-2_:(ei %0`5$>2OJW/W0[sb*JX*pbHG&,5@U9)RFJIub"h]\^aguclMRRN&$B3N*'e>XgmYjCliEf\lKc9af%I;>o`[)'V&:";TpRqh$DaP`'\V.PWU8DaTrb,s'S\a;e+@ %>k!Q\N7,`l8Ejd?c&NKO!dgcN2V,d)#1[D(6,'&T+tnoWNOY&kJ8O;p,COPa\g$Xj+"5I,r6f*EF,Kec=armc;InV5d9@_P)+MU+qJl?#=o*r;.8k*0dn&6QXL4o6Kb!dbVC)I7-D8Q6^N: %GaLDC`Z4Z)KhS^*Noo@a6K=R\i^`G\NBBrHFg3u5H]f-XQFl#JJP$IeiJD0uQ8'N?oWq#2!k.@/%[47$*ZZFi4aVimG[L24I %5e+b?or83u$e3=mG8Tta6h4H-0d-EgA>J,_IlIDs62-&'AEi/,i*5ld(&<%X49?@MRe"Aio5AH#q+KO,am+!ok0DnhBn[[bh)-Q_ %4s:f64D07YiQYFj42KJ*^hA0Ag;$?]/.\S<-6AZ$'ATrEik6rpeFm%.j-b%V5_"`.Z`(JDktc!>Dd2\lDu&!=<:5&fs,[3SWUK't %KbB+M6["Dp,g#\P.@_f^!e0>WRf6?&,FU2eUYeriTKk=$W]#hl[!`P%^@ts&kgEgP3H.e8A^ankX&l(;WKXQG8,>nI&S[>i[;;,D %J1=IjLPRdJPSHbchugY<$6^VEO'SJEo^ohX0(DXpjpr1+4h(UBB(36Ieq&q784<#p=/dWu^Pm&:M?G$o3J5`r'/%uqE.2UcPT"-t %A]^H8Vq!C@:"$jZf5-FE$PcqW]GH1A[jkg1(%SmJ)\_r8=!]&o/g4Oa'a=4XI`(!Yr8LX=U]bl5#e-FXd4H0nqt$E;^^4p:=u=e[ %%IYa_mlbj6QBN@6U#^QR*<^i0ObE$`nik)/5TX?:H!UD#M_p"c"6X7Tb"sa77\jZ*8XX_WS[;ak8\XX?9%^mB[7C8*C/JA)Q]6I_ %_;df9m=sb3QZ`&fM6B %J9cEA3QtAfmBGU6DjZV,Bc&;CHQ/VL.=9Bn]/'2Cb]gp77.Qg=JZ.p+@_pXoI>7e[D>eZY0b %1fc;>hNE1]^rZ5n>11G(K;ULJYSVVp5RL"1b'!Mu`uV`jc]l06/f7Kb;TeD$?)i,hc$)=ofUSRrb^:`oNPKNPq"msjLjD]0QV4%Y %m,4F;Jg;A@*Pt"0SI2I_@WH!3k(T#j;+n[P2]clJ\Apn$4=WIg+O5U.4YT7o%sN9Zh"`Ol!Ef156FKC/;J@3*kgU3$sZqomt2OpZF.XGb"$>jJRet6X&hK %Q(6*KApST>c&Sd1Nssf$ldn]@AYaV+VfI< %c5mM9H;Y*PbKHC^Oa/IL[n056[3U!t^.iSV'"'phJ_R[qc,Iuk3m5o`]iC].IeFtuSe2FS.AJ!23nuGn@bHYCE>i.F %e[/tlRTE0?++3uF-KLkZA'(Kl1[1!)*%\=!4_L'L_$JZK'0_2L]>;147q`e@^QL9c2-T,j^M@Yk;o&JM;;,??hh]aDV!mpo^%H6,.AOmJo7gS]L2QLtolHudF %kV$[ki5.nA(Q8G.iAg7]Y(>F?'?+YKm6o9eK)4cRRk'DEX#GkuAWGd*'9:-mEN41hSD)SfPEbaW\`S`,gsq_X6A;$H<,OiRkm$U?$Zlh(4tM %`]NW$H]ie'47WTO"FsNXXaT17.F33g%.B;r6XJaYJWL!I';8FA%XmG")Gedc.0cq9O/uf6h)];VDG&CM\]Z8>(Rcs,#E!@Wc[1HR %_5Xf1GNSTPNr/q-+aRt#)e'Js#Q,K]:le8XQ8RM.S&;#kNH+mFNGD[@\jT %i0T;j&rAbM:OK'lGD,?ijR+>pm4=6_(MTu!9^m6_@Un*u0_jqPKVU*N23#Y';ROrh]li+X;'ni`6(91naS3UlWM:c'EXH'L2JV;M %oISe\=4$F8nXs*,,dA:eT^[o7#AeHm`@iU.K1s'5(-L2kMV?g"Y$j7nJJ/78qO)97j64;0Hf+KH%C<)jIj["&M,*&B&SJSC5jJ'( %ZFe;F`(R6[h)K8oOaD!LZU2jRb@.,.0dAfh4Ce_*0LmBmVCN:pLJar(RQ`DZY0$$#-.L]@N=3QUnhMAB)jEY)_)tD4;B!PE2JDRCb>sN"UZQ-eY+Q0+-@:;i %hNd$m7:/JE:qt19K%^Ui_O&j1Y;jQtBG[4@#l%>9g7b&J8f[]]JYWR9q`REo[Hq+?"WlPU@&j#RR`hr2rJ]0:7nBk9[Y%cIV60Lh %^0Bt=4(&@h9OIaLH\`-0'C%_-%IQ8TB?gcsX5XH*!8ClQ\XEZ:k-5o %LsJ=O)3T0,E+I:3P#I %]PN6d^^lQl_am:JPlBP(bX%m*m&NANaoRC9!o3WVse&k`PUU%.W\o8-1@V]Qhaj<\e?!>G'8>Y4+GCleZjuF&pW>uS8\HSE-"PB]UYf'S6q'Z]33G2?(!"^Q!RC1/d_V&(o[)2h"TRp%9p#Bh"s%a!a/R.=Bimdc6_)PXJHcQa[HIH%@& %Ds8.G@W5T:&`B(&S_#Zi6@-oocjC2T7l(TKoY/r,H]S=G_E;._Yg %UE1-Ha]gor$rQt6LhZm9mU-.m=3&h#]d`C6877N_%l^*K?)=s+;X,hIp,m-]N.(Po&k/.*oO:2uE6SH^p0LaV/t6"K^GE9h<[_fs %c`5\d.qSu9q!`DMRn"HGmAGW]hkl,uqu-FNHTWC8T\6aGh9#lbCmZ"D^2b[Y^RhS,U8YGV5+Nu8;&]0Nf3ppa*'L'_n$W\8MY$.[ %2R-\qqJoa3*=ZN:CEr'oH\7)7:pT=_H_6`+D#ID1fO`nmeQq=lB%YPO]h4C2&_@fqPqIFO@,OW8,[@:$@[\,:a#mZ*G5`m9n8]FEq/_6;3<\Bu,YB1nlC@=794tX*XMglYVj\XP!(XHN#YuCDi?]#RAaC?jM$/KWN+Bj:j=XTDINV6*-PT\?MOh$h*V'_ %6X6VFfLd3AMq-,Ri,Pf>n@E6(habYI7,S/Aq6P#P$/8B81Mm)#,VLh%+ZZo3SoR\(V'cAgEjjK1Y?iIrp+3HqrsGI04B$DL^5;GB %#sqqhQ^$GVRR>Tn['DfXT"G:?0/NF6AdS`43[B6eZR92dLCQ)QF!C8;dnC<"\`n`nfe/2o_#eD[#M[puDg=OggJM;B':%.LQ4;qt %`;`jbq]-sYF["ur(Z("lGA1D1E+L-E4&D\gE#>nIO_L#K]ffJ![#_Lu[PWENj;rG-R(40"I?OWn3"f)(S$lVeHr9CEGMTC\0m[rf %T45oiI4q/t[8]`-Z!q8;c8EY`)FsEDS]EnU)N''R?I,r'e]7h]8P1S+dFLiMQYZu"1tm;RJ!q83[^RkbfHqG(FQE8N'm&:.\>Af^^b^6@mecGpC`4@q8eYomFg<.W3+ior6U-9fO;0Mh&'m!K:Pq#DR1oW;HO2UGs>#2E@eK,M[b*TqK,;E %WEReo%U!SZ)Y&"8_"?o?FB8('`!(a;:S%=lIZO.aWm#tVBk&,++Z@"\g^3EN(cg#FE8qQlW`(D52l]agaR#4n0(_-ig!$3d5l%cM %%HLQu7hi+1RbB:I%Os%d%dp&>JjnEMLrO1Xa[3hiYlG5E2l8C-Xfj=i6VX5&hk03Y=E`a13$R1A %I.#Y;TtBMf&ZnRW+KGRk#jSN^DY&gEefAL[XV<:he5rZWZjUP81JKYLL>=GM*X!MeKs&` %+qI^rC/8?Ki*a'=cJnRh:GdLgg5=]s!(Eq5I3h]ZT`H5?>Om!OA">TXdFNJ`VdEreI+>)p4=NFKI1`N9H`USBP)PLKmQ6l%??X?l %K;X4Q!a9efKc^h)DFoD>9o#W2IAi(4&(pT3/mKX/4fVo!n%j9b)KK+Zqe?>&88?!Giq)QNd[-P"'auMoHY!<5Z\Q7n"n-I]"2]j^ %5\<[OS\hMt4g_4P9(=XPcIL4S&_-Vi4[07b/jE!3CiQl^<`,Z?.eUdH..uUt6si^VQ&len$WZso34c7+G2OTjLShiL0te6i %gqn$rKs!dAL$IjFniGgPa,W;e-4d=E.SnEb@+b@NX9_`&eGm%JP")Ia*EDrB"_C^Ih%Pc^+b-'ne?``Db[Ji^g=7f9NK-Tuau#o9 %I,":rjn-i$>P-YHk9+#_IdVq3B%N<@9H]G)_FoWU;N\'k5t$cJC@RL+CBiB2DT<3kgWc&sf>`qRAmHeLDXXT90VTRE?jcQ:pcOYm(_*t,e,&9H54+%[RO7+PT^a2ArrJ>[. %2gM`$I>.0>D.lFY#k)&J*jtBAPs6^NCsId,c]Q[BUB@EEp(c/scVFt7br=g"2Wa4d$u9oLTdn?WV3Q/5ZIa/kYP %?uQ-O44K3pbeqJJ$g9n&a4(a?\(h^gG._odC5oV]F4?W0B@#[/#pZ"G0R&TY6L>rk/>'9b&&):/BH3,s5OHr]0o^_WC'L4T]AS>emjng):2,p8A %cfe,VOLikhp.[iqc.$c__?o#QW(3EQorN73!]3LOhf0.rOGMHSlhO'nD[kgI$V`u+5FsR@5^JPX-$cQp\)6p)om.@oeP>uuI.&e_ %E!V;%RS^&XTd+;1bcFiH--QrQGUDL&er3=:q3UOo0n5p@]iEj+3bTg#[G=gSo%CSKrq/TktG@H0cS=N'?W,o(UG+C^#pg.Q$0/tP\Z4n$A %cLbF@TV1ILop>b.FWHT.I>4.^*gPWp3WYsiZ67WR,fD(+V6?uG6G'7o70F[o!Ff+nZ@h_\/\'B6;i^(!L5d]?2]uPC4K9Rn*Eb`D %`GR9;;U(,NM/3OB.WQR)H0L5bFJDY?)Wn%`/?NBG %mVq>5OFiW#*GZ$Cr01Zj2!nG$32MW %L8clT+*-dFCN,#JdtgDGjn_I!63]]]=!X^<$\=KlME;RHF;p3(:\O$MhCU7u9l%US-"@C/M;NJ%/F3l`/?ogbiuXolq5_IB&9R&3 %?Y+OYX^aIi/,%bYbk#->aBkjHL.QY7d@!@**:nH(qj")Ui@E_2e%k^EH_lB1F"h+F(@9;lW.0<#bMPrh^tH'YAT/CuAbu&ZYG7R> %;i]uhWe(S9(O.$E$&I1%bYp5ocQSdKFXGs@Z&9ZSVFuN=QmV3>_/2fFmLT8tK2Onhr.Gr.;W!>,_,X4#+Yb0Und)?$WG>%DW(BPj %:=JFU""@b>+qk^nb+)ZPgf+.UI"[O@rn>961F?':jYndTmeUfo>1qNU\]7rN94LPM]67>!-)r(p]_7Vl+9q?NM,RZ%p5r %fojouB*PcD?eJ(tr"SW-g[QR$0]aRA/[E4M"RsJ7.kMPVo@\8:5T]*9HD3.ZV+P&2L)jtH,s?/i.6M1kS^Bts@47E7>qXhbr/Hod %g)]C$":8n##^BUJe6R(869+d#Eu@rs05%8o[*JgTq^0U"KD`h]N++PEmU3^$7Y_".tdgK2gCo+?Q\W+nGG8)oYCd[j_)r_#ADZ3LWMi?"Ib's2b(D(o?*Z.P=$l5"=(/j %T+ikL1,q]/d3AB1A-)Q>eBP_%ei\D>p=N<1L*#%0o_0VA1"2?e2\J(h;]eK;8'QYu7?j,s>H?&Hi^,uq8JX>oK%E!g2W7G5N=l#b&rmB38%5:'6SLP-d98T!-``'f`aek\bo5[OWLiA6:`d+[AE=#=\Y>l3`p<*ElE#!UCkpS6ah %%<:$;8%A#H^;I":nctL")[]>*i>U+apXid-#&QEqF:_cGXTNlt2Q%G(L5kL?DP0>tirbn^<$>aq=:>h=IV5n(e<%KpNAG[U^W1UE %@:Dc.Eec`NkO=a07kf$<6#fY8QDTo_RuHoH'SI+]O1AF7K9:$9emqjCkZMCI18O.!$SX$e&Gs2o=.alma.jPuU %.Wm:1*gDMk`@4Zo&m.S>6ZG;E>cj)MYH#=`!7Ni0C4*'f,AiL=#tH<1*_oP#meNQ?27giD-J)*BO]@DR4j_]t#VPa)4$Rhm60SVP %A9OS,/gE9)*i>'CT;UC-rAhSEl&)+XNBSqYq"%>om.Z^Urtb:OlJSZ]L&f)54YP4naeARR=VS47Z)l&RchUKPq3:HA,;)aXQd+PO %\eH)lak!UY`/;,.bQ&[#:HNCJ*r34hYq'D_)=52+&/Qq9^3'%;Fm/KF@UfUd?oK#k.DhFl/F;5q;U^fmD_=/2AV$aj,V=A3$S+">;@^K*Rf+b6!lVEe]Z1W+<\6>6 %go,;<)]"6c[T\,Ls+XMqXU'N\5c:@76IJ`KgM.3\3C?%-,!C8RWG10$12'1>E(uHCc6JHjX@p@Xi:(bXe(GR1,M)UkU1AkOE?\R3 %^!)$#:5A;N,IG?$Sl#mEAV/4020q7hmU*?#k_N69\V`V95-@n@RaSR]*,/c?dHA %gF9D?9WsL$iYn&PPs99R;'D+R2]mk7[UJ0'1PC:EJa1sI^&9k#g#[AKig9$%P`k`tX9Vsc7atk?*u;R6bZr-A.j2bJFDu-MfK-.X %g2.;P0!?=g`+RcJ^_@qbsB1Q<,M82d!09)`f'Ifo7<'1q6B:VB8]($mqLdK4DK53ch.'/6p %DC&>8Pdo"_mAeML91Rg^Tnl]C*k'\/0&t>K@@]f:.T5I`W*%)XG*Gf)iFQDWVHsTSmgM&5X>.ohk4nc4gD=a[%00ie;?=8>\!oboh8e-OiuI>.Xh[B%"1MTgK. %M^(C%f2`So\4g'brK3+TTZ\MUib/JR(UJ23e.6NtM7%@\3]FVOer>pZu %$$&H6:gS(k8Ci$q_uR]*;daRnWrX\Y695sL2Pr^STM9U5VlR#f'Di.!+0G#iI?cu-&c6G'2G.WU"UN5C!Wjsc,`TQFX]$?g2g$)p %$b"`IY]ujpFJ2BaM[=k,Rem3O;/c"oH?$KH?6rIp>A`O.1'XB7--cI@8*s,o@'H6%:t+YA.mrL7G2?bEJ@X6`_Rlg$V$Fh:D=U*I %TLEM9@(T$R1TcIjD"WQV\PHlRU!Jj1RF93+V_W9GWd]#<&uqbVS0-^J&B9U,r2+P@O+N`AJ5`cAJYX-RO6@MfU9LD=^XE*]mSYY: %r_49p'$E2UHg3#PL@TX!m6YQhim=V`>uCeF?:13].kWe&CeM#]ADM98U7KA12g"K;?:)_s %OI+#E4!6)i"2)J"VN&lT_2'X(^Hkce^>d];qru`O/&KH5#&Qto_cbHQD^fIdfQ<&)L$!1Yk(BMBEgUV!cD:+11.=6^"fQT\;U(J4 %b"9<0:@HU8AT9hZd1BRB]O*O7_Kbfr4213Ul';leSE9L/dQoKsO.qkP@E9UcYn5"QWXMkVnd?2u$@5Y+ABP53faY)tol#&YUHMH[ %W&X[_8'fl\,t_,ll<\c[SqV-d>12rJB,EE7Ic521?;MA99=Tuh/cWMK=mh6FmI">GM[r!;h;g!FQu+Tjjl'tri7P>Ci?>\B8,QYJ?6B(]**J3o;Y5(U'UsXna(]<>+U$G&p3dk9jpUk"spG^+$m' %^:r"/$*m^IiAJg:F%A#*dB*Sr=ir*Y@_"m;HlpSnmB %.,q_eUEi@@%F/<&\jGGErk#^4gm(AAnNXItqnXn]b)GCeUj!iDA8PJf*>P3#>r@q6/Ht@6P(sf^$<+?US^?rBmK+H]f&!D@,-:Ws %GDd"#9;.6*-&<;YTaR#$nAX?^l>/[BCMA\E\O"?rIKIunK %.sb%mC2Hm1Z`;i1[>H(#=n)oaS`Y9$G\?_md53L:[lM6*PsKqh*`^nHKfrp\p#SKHNs]R'8Ce"i:$U%-Im>QZe3.TU9(4iJFVlfc %3W`M4>-i0'_[CZDX=*F=YlfAB37X,THJ[2_.O]>9jF9Ff=EJ+.0ER,^Yck@"G="J<(&Kj!YEa0pB?L+KI4HVQe:4X<_)8mUNSK&( %h8M#O^a8aj3foH)2X:L>bNYUL_8CukgacZ1i'Q_V$FoVDFDj_5Do?!KAl]=3.Jqmhj-1Tp]4_nE;UatiOrOuW?8r+LVTs7\,1o%C %7MZkSH$Y)u'OQ/;pp-sm&6P(]TpN>Jm.J.UDeWBNN0ujf8]Ro52*cX@2oAD0FIL;a?KG?[kcXQ59UVtn_IAu.[i4)YC>o;Y9./n= %W?j$$6$Cq%MU:N$!2rLsg:'^:QHJ"a[rgG#,5ju/7jQAmB!EqeXO,S[@HC<6KgK1*k9GCF\_k\^VU5gh)-*Z-*lJ$f79QgUP\inI %U1s(a-7iS'gJoM$Be6^BL&@6WGsd9ZOZ(LKILCXh^b#G0C97?iP.e9+VOj3M^.%4'0n/-J-k2WUF<:*-l^']'6D/)C+t,\'rtO=5 %><=>"d%f,7T?i$a5tijVmqm$C4C^>'FWO&aSY?`&bgT'.rnE+9-kqQ_$CU[)al-T)Qi#+]808fshqL^%l-oSaT8#/lmsKBXjhmW0 %insS(q3OlQif!i:TCr0?`6\:PGSJZqTr@^4^;Qd/p6qn^YO,D[EqI^s)&Q-=Xg#t.-!U&a6K4LG*i2!Al"]s/%cO">58@$eR-AiY %[:W0bneks50KT_$D=GgN;"Aa\)>/WQ74`A7a]th'&!&OS[Kbp,<)3itGF"(2gpP$u*pO17.1Wak!4S6WP&s?(JPUPG(7SCWhE1\5 %BQ`!M$*8"Z,p%#?5G(h'GbqH[S$@;-2S,aC+&?5P0V==q,]*1'DEBJ2h;G[Zll^,X=>&D%U`lTLU]Q$$(&YhIp4);+rDjR1hUcUI %L1Bnh".Tb14+0JE1bnq-2(lD;@,Bn^5VfP`a;\TUJ@jSpcW*oaW.l?UVr1G+2C*?ib.#E[m$7!dRReqHG\SZCN]G\F)($_bhkOpZ %4^+iPe'=f:/+ug2Q'ZfWqu1X?oq>W/)e7.f62eZ!?qFOj7cg7JM+E?q_jm4qaH[+d2@CV+%cUE^K^=SR94FVt\o4utZhe-mac8o+ %QS_K3l:\d#637KG-$`<4(uPB+HWb@cI*%-Y"P,g$+E`J\gQC]J_7hpA!W:qdBKC'G$n1n5R#8C0hWf/.Fa69N\1e(p(V.N!d'e!g %jgX-hP)3s)rE+V9^GjT9THWXKX&[k+*N].5DU?`7-DDUtm7+'V$MN%mQU7]?b;1d56'L$`%?:DQQ+tei3\]>EdEP4CE\eq0jBd]$ %GY^LS!r*iT%.$X^Yr*5Y4M;QQ,/l&d<-^9r[9bZjaE.9n.iPY,3jbD!P1FqL'Z[!sLb]]P=] %dRkLJW=[`Z$b$oH&\V9qFZopoAsQDEAsT"ZjAjIOqKa'4I3^W#qDUtTZWXj^.lj57cA0V$T4?Q/^X(0s1Mc$"._+ZZo]:&#;PBsO %pBZ[nWKfRimDUP=j'G:60C;3.6'eTVaW"RJC\Z!j^8Ui>3btcuS0aBg!1"Y;R5Gk)H_[U.*GRuur?\\t#6I5U*KKX1$H5)oQl=Q4 %:Du>'JZ7#d;<<#-@1mPh.hL;[bh#\c601Md!2NfqF8rb8AZ!H`,D0tA7pu'EjW.ORm\bkj;7mlJBUMeamL%8E/*-1YJ$a$@Ecjs`L*1ngj\QpBu9MpD3:0A9MQ'L@L)ePno03?U%ja^5*<7eDl("# %n`DEB:4^BNL?)qT"n,)ZE`KLa!%g#32@!g\?`IPhXQYr2i"l^4-:nMiA1#McW8,'$1GK&aHJEk(_JW)nZ-sr5p_s>-s$\a2>?q*> %,p(E91fd*AZ2F,"\o'iW`-YuVrJhQm<"g%.,;dB5^(J0_ci[YYUI>3\h^+W?;TVFqQNk`KR4@Y7D-:OZ73'&b7A9Hd-Z1$ndF9E7lOg)\!QW[D^qm+#?lM^MNed8\WdI&H(9P#,,RH0EGKa0!Vllm1em#b:#!A\C?8udKW#.=X)f>CQM;UAW!pWB:e)NmkA]Au-.Z$JO/`*("-nS)B7'tQ?X@F@&Ds?I6 %Wk[FK\kVScDK8GCZ*d%.i>l)K'^Aer7Y48TOY'Q:&B-cl=P;/^UUUOJ+"0^!+%`V!VFH.R&K"MWDQWA?fkr,.+5QZ+mW:Y7MZ"YKj$g;@72rH]MppPG:@+njbT,5mS]2P]W8q3&eH9+2=j@*JGrhU %'JC:uV$(sjGb917_qkol^AAKSEdu7!j3jQV!K4J"'m>Bk,s(K+]&uV#\UlA`^H&<6@O6q5bpCeN`MaU3NKB?JiE9hZ)Rko0*oun( %r06Q7gefaP5(=phWdL?e5UeiHbQUa*dNI_8MprobmSL61OjlW-"ChWi@r=paiB2>7jRsf4BPU`kOPqk>MOK*M&*0m-nFBSP4Ot\Z %RYPN!6/hO.QECFUO+/`W>\a6j>TFX:l*fqUE$"%Thbm(5C.O:)ooS*='U`)r)ndWXD%<5dY'Lg0"Y6T7]+EuD*.!RE[6r(n7*bn$ %_ei^2Hm)*2CDUBHc%8,3@jCc%(%2`]M#mpC!:cf)GdYlW!6`>ZR)'$_na*'r1JQ-9o>-1Pi7b=Kg]J*cR`k)Tn@_8,.BRj&'j*K# %Fpl=1b*Sm+]_/Tq5]]a,6+%=_+)#*2l^gm"XHcV*InC>Wnnl?qb0Q3foA%Y&`9IbA%a(KWr)9qr %ZW1oQT*bJ/n*ndd!/2YLba/bqMVHAB[KfVDcT1>S_M[TGG#T4%])^of[V%=Y9`B[:O"YF?>39PG87D@(=[Oc`bX[;+\4=cq3.^B0 %m@i13[RmY$WHXD8H?+[=(aKfhOCMr:CX:O`4a3Seg(3YO[lAU+&r[$BGU/Z]Ze$]3l1]g6_RQrm(^.Fh\QC"T+l_;%WmH`dhpGpS %Q+0^s`4TXq:_Hrg._4>j*)3"ak8U*<'3hZ&_][@h!2V`lCSO*YJd8+5CPc;V!lbb8*+EQWiEhTEmakf8,aK%7OU;\TH9g]f_G]mXkR%%j8HK5=VK(@.V %2l!7Ej"Y+)bKY5alfY+Bc]`c_V=T'LaG2?bZ2;`d_.[CX_+UFFGs#@M)((4gN"eV6RM5r>97GA3Shjq*m.O&iTD5Z29#s-"UT>Ft %C:8)'g(:hZep7:AT_S1cp7hfMQ'SmGGjk:fY%k/c:%-PceK:?[SqT1@qP?7FN[h35^qP[qW$Vt=3X*rYV*V4#Cg&cgmTT!$K^7Qr %.9Duj(%\SEM^Q^6nO**B$e=_6+oS!+MDPo2W9/XN:oCZ6eX?XRe?";,7]uWVGm(q06i3jA$'DfW$PXJRKDi\B1h[#T9-QhI*`f"C %5kXBpa[?HGUOj`K0F4P3X?BAo!`pU>@6"ssHNCCl@j]al?j3_oW@YG"3S_a0rr6LU>KEq?2H/Q&GMCf2@ur%Q>jCp.OP@-9/.RFG %1sMhT45[O#U)?<=r=Zno7++/FQ2=<2,/eCs:dM,rED0o_diQU!CWMMs\8%W3b"\90Oml#U"rdVb-[i %ZTh;;eiY0TCfG4M^W%JJA:VE?17+a(^%.MI"G_D.KK:!?kGg*'Y3R^HhBs9$DpM_>mUJE;(KTS8YE:Sa(*aC7ZND^M]KgD:9lnu? %Url26F-U59nZ%4KA %,AAnuLW`HD,K'%?MO](V36GPoN6Z'HqKM@_F'D=Q;M69?,\-FL\La[B81*lk9`pNUf+;+2AITk*0TLmIQmZYikNC/%sU4k(A[9Oa>uoMe(0-'\K1k+O)1Q;j9*c:SROGkIb%^a-:. %f8_!o%MRbeX0RSg7--Y %6rdhg&kD56"=:]?4[[PB7a]`k7C&lV@LGIm#)][sMRGY)4M-`7M1L)LF#L(h5UmU6+8j>,0Mm5TPXm%51a7ZG %KFoR+86aGk>*I\L/_0Kk4H84@GPlam$iN@sUKS>U]UJ3)^qkL.2(&!aE?##da`EP*H"9HnKLU%UMqDOdQB*QtJ\nFIc^_F)kVTD#epDP %JNVrW\$Ea&Nmr\.bf%4.%BiIHPYu0pcVWAtI`qdiP,BA_iRg,JS1'WZ$tS8-6!tedAR,5/Q=OH,nQK@unif$!gmZM/NPUqi89su# %h<,(@YrYXT=?LYYf>'9ZfK+eq*%[,?Flr] %X?KPGO-Yk?fQYo9*"ib&,KN*YF\f+)iU)i$qqsFWm@NRL(s-s>Db"5BZA8P/m@oD^/m];t4X[DGT-ep_)a6Sa#"?I.o\!p>=Su6r %8#emTNG,N?_ScT%*UAsEn1<\TCR2FLK$b)i3_EgWrcD,MY(G[c-n+G/`$e6k0(Qr2Np&>?4eRW#rUqd>^oP>J?'_MOR55(R%+ABt %6j,Q(E-3>6NN-Qtg48/2[DK?+5b-AH!=SGV;O3cuZ,40X5Z6]n`)J$dn47c59','r4"\1m%Q2((s.F@lSZ7Fc+^l(N2.pBe:uj%9 %V&TiQRlsmh[fnGO5AF!cBgOj!7#nT,RT@SHaq_qk9BHN[9/.Tn:oh=- %?-`pL6qJR,^Y_Y\)LN-!3^+ZoCYr]IF+DoRX3FWZW8mdiLT$$;ib.%h.)=B8ME1UE==2q%PNOGo&CYB;XLsRN9Mu(u2JR^ILJJ?< %=IE,%26H%]`Wskq)-s6R*'])+V0m)mai,"Y@]Waf/URQ%[=MMVO8!lLW3iZpVI^"q0>(9*6T"^`bt[Ah^X,]KHbu@?'p!lFT1I'k0Ago4U^iFrA(k\TlqrIl5^&pI^]ZVAbA]Q]ZX0Y-gUTWBA\JC^),QHHh3mCoqXk7O6$Rs)F#/p@lJs]bICFFB03;9N=H5%k'V,'o_nQVTNVtfr<=V#;pOM/s&Vs['JJ?q0Af2i)Z`3r,nNu_8` %(uhC*5)miA`h='+BAX]_D(mISG[n#Bgb*SpKqqM^IMYrO[%i!b/6>*EOc1!q[43:,88ha6L5 %4*pJqbs3c1.VG`]c7CQUg10"U9%SA7m58G.6(r&.n[\cAU+Gl63aKe$1icVa)Le_Y2rSKY=@WeA%;JsoY)=P7JZjS>7`819*6UO@e6[Y>3Te1;3DJ#EO,c6nbtrg4At<6*&qKiie[dA'n+A/)MN6s4@d1SUI(JrL%4rXOEt %S<$4he]W5U[PWqkJR[B#!i7'JLY&YjdA'a_>lcO^/6@lA3Gg)a89V@\(c7#B@eKS[&7i@k'cFd?b4hB/dhe?Apr'.LZ3@`EY_EEM,"Jq;q %7?/76A@Uto80A4))Y+2L>e"?C0[cDPcX1[XD?1M\-:&caNfYnNQN.A:#@5Zj$2IG0dB9.p^@+Y6q#f3=^^.Z&1gMe]KPQ/h28ANm %,b^/A#bYftSn6t.#XBCnBZg&Imc:C3*H:?CCHlcu0`HcCMG$EDL.W4BHN`C@P@WOQOC9QVT:UP`>M^;]q>gjhdOQLXRHkl`oV1)sS>cX&f#WQ]au>Fkrkodn5Ibl9joE=tlrB(4AEA>LXRo48))BYR`05$_k=l\Z!+*cICl[r_gZt %#cqk\Q%/pL"3[609SKC<7pGf:?iJe,3mMJQa_Fn7N/_$lCoNCA/B[FHrh9B"_Vo8o2lA['oI=F$ %q+4*0*L3!O)0(QXTUt1h2EH"8[`mVXD%]$g)BDiV1l@:Oi">bk6Hf-Z`E-.>^T"oqWIS5O1MmbJ"j0N616]"3E[O;gBBci)etT?s %QfM@'0f['%,"9.+%p=1848!-4P^2P,W?+n?j@roGd0A#B;D*CR=U7-_((U`Yq.8*N@cn%KE-Os8%aT(#$QcLm]V]m^k*JL(J^u\+ %4cmokY^)M=[;%2Y@@E'D*9rd@5C9&5$Fm/72hL\>i;+j0eVq7S!dgdpcn0L`-M=Z@&p.D_$&Rm)\h!6h^feq=ZQp5F"fKUFCd:"/ %Rc.)#=[5V^.&O-ep]&;Oh?+`oH>#)I@0Bs`;(&mq$f*oCn%&a8k?9l)k#3*K0cOgN3=/E^J,eVePic4/ah %WQR,.W(6W*g+Dk=,_m5Y&r_rPh<&br*^qI_n7)lC(nkO+%mGF*\AsOjPnMD-Y8DT]oIrhZP7mWN1VW-MKu\2g"6/aYmVTY6E0IsW$fj5UWid#&FuhE.[&R-"Gu;<\b1]WT5R;T[_K&SR"9i7V0((pt69$'ZL+!=AoA,4^pAa@ZJMYADHf]o-I,Pk:;n3,tuM^m)\&rHf=&DrURs/D)%"cQaH.6Q29=DojY %nr;$mU,i)ReCUY@RmEp?$gWieIEkAil2J_!"j$a,JkU`iEc;G7cZU0aM'/%/Q2V!uI&*"`b1dkZ[H5^*1pTo#PkX3;kOO^<+r[Es %ABLuRO?t<@:'g#C5?a0AKQoU7!b2cT"DkQJQb\q4Ks4Gi4Lcr*"37a:g"I2[4D`uTFod*Qkd+b:SK*sq#A@e9L_ %:`f`-.P\WZ#(l?ri;EPhcJ6mjj;+DY=;Tg=9pb_N^rpR8c\W$sP^!S&=!ZIJG6H,#RYU>H6aR"[%3lqPW*h %n:Vp;pIC72e1r=@%YKRSIK>-Ts8..)iL\[0^WUs&::6Mi]PPOfA)TYS>@GtRT@U,(WQkB'T:Xr>>hoAIIBUD5H>uj_DpcMuB5hEN %)jj7!LHdP+EBm^E\`/G?hO9aNr1+S!ZO!o-/4cu1OT"95>7Sn^S.F`j&;>P&as$bEGDsJ]LT"7(?_fq*3ICaN:dbBj5sp6=(Ce@u %1MG$FE0meIQ9XZc!ZbI%7NeC=iI.,kO8dcDi2g(f*R3;5M %oe96Ll7MB;OBi;,8aJ[hK9&9LUI8:!^(PtK^ %_;\1feUs-_IATAUM\NW`,:bb*7m?D8)XGcM8VN+]I`&kiMr[u_[S9a6UduO?:AjVsN-Q4<:F1F"nW!mgPb_R6-8-6COc`MdRAPnJ2Bor1Z("!SW]@Dg8,nlie@4OF %rnf9Vg&=E4&`7H,m0A='ps#9&&O:a5L&/iQ6`HqS@KWe1)^p*Sj][[lEo9rO?,5OE*d3UAW5.r1jfRPT)3oIfnA?ic;oLo]KRem' %@`jQ!P>dOdJ+2f<.m[X3Z^_6$s*gfIslHP]2jSP`hl4$YNsr"L>+ %m_kNF4mF,i+G`>hOejYS-i_)a^p?k#1icY0dT'W5$Q.5"Kt.FV"+X_BcNb1&$j*O(G'1HOl#>Z:8,@SFM.Tt!bWJfjf %!3rUa-;sbe&)9VUN[Fcc(;<_%eg^']:3:sqoh]7U@dTpI^G/fuC %WBU@'c-:;.qW^MTH_m!(Fou$p+.Ph4AaDAV45=k">s]:YJc&@S9)Q0KV8)Fq5P(80A`h:e#&4n=EVMM!_R[p.]uU5+Sko4m+hf`F %-L,N'&3EgU+n&@+K;]I:!$'RCX^V1ZWe^C\Mq?F3][Mc>p*,$.4oY/nR4sWJ\:1NV5eX[]PriBt7]'s(bnF/)9er#!^[Pm+0)b[r %"at:m@`8'oc^/Oa$V'B."BgSuc^=8kOhLKfTfpnqb$q)\dc=DG!q-\XeEX`@.;\IrVYIT=?\&$G %;,S1*a*#J*8JaP50`]+7itcd8j@Gf;nG3\HbnaoU(>:"TLg[t1KM"(8+D&/2m&jfd@:s!&\eV1?9<8HKOJ8EiCY^5@1cd_[h_l29:K:,;,?rnVAb(-8,2,u^(F?tTN%`BS_%ltgCt'U^e)!83n%jpM]/Sb);9?gW#cUiWV`Tk"h>.A_2lpKAOu4TIT]F@j8?Ls<-8K+*)Q/olYh'p@F\ckL8a"kDn\AiU?,;n3'mu4:(:)D`#7\Ql-iBto85i!`&[X&Jj8*0`&U3) %Yk$6f4@>DlifZ4M25=0SRofom9B0>1YYbr=U@6#cjY$d%JdShr#.N(F$n"LVR%!EVW[$Je1]%N%Nk`9e$!p0#o0^4TOg$N=$CnS@ %SX880.$u58OdnR6VCXWai'\-Dl)l7*/r.;$Xn\)*Ds+=8jGo\nGKS`BBQl%!EQY!cKY4YnJ=m`U2FV]qM004ZSRieCm$K.s6EqrA %BO6Nu9hm\B[*)6J8'\HS&k3&S_Aa>V0?tTsg+T]5aj[r'[?'dQJfXWuS2*1BkeJL(#>BH0YZqIGE!Y&-jZN^@:N;hr35MhE6+O0s %$qi(hD]_5\ca"IOH\2ucGcX&k1"b\AMAC@*43BUedGHbBrh=Jrc@n;fo-%gXN-#kj0DoT<1-_P9/E"CkJAMJ9+;48Bp%5^Ncc?In %X4?A&hk]!(:MN;0=tJ]0gTb[hbu[VU.B\GX;1M**I1=QOiNtYe4gPr?UYSVKdSO@m/"j'$Om]_LO$fK%\U'W-#m %nBsm3*#Y;D%.M1diLRlm_\"bk?FL38nRP>6Tb#nQOMF\;N]U-nNX-\P+dLJ#P/*a4cO8]_82BhXG'JFOH9n$&F'BrWo-JjViDOYD %\F2JS+#$:O4_oj_kj&pgQLh%>p7J80Mn6Gq=AIsGbmY[?Mj(q^mWU4CV)hHsP0)K(V>@J:P-:*q&Lmof4*f %Yj[Hg"(Ka20/mq%bIYhXV∈.O#n,('"kI"UG_NeQqsH+nik[E'=eM*asUsl#DT.fQ7#]RDQdbPsP9,:sN$t`"q=iOU.Ilb8%;C %Z9![AB`d!&K71V$\4RF,GTlE8h`14PeljIlg&qEtb$-`uJAprW_Po)oSK_-9TB$tU'FS'\YR!-@(.T*#e*!JqFN#rD5K(eSmXJQK %*edb?6/).TUu/Jj'oD`p`W+.kO^BHhRV10OWPJ*t3lCE#kq_\TQa$4Y(Tk8`17V9JqAGFjpDtN^%c:(\(#Z"&2g.UK+tNU9/Y.1F %psdA])<7ujd@oM=WKL4dL'n"CJtJjV7)%5p8>3q%[G*@31,$?/L9Wmc8W@hop( %P`j4iAb?o3H0NG&M?6(cMMBmO&IP0[Z#GG[W;dqWZU3XrEQ&E2-`_FR8AEZJ.2!Y[lCIR_6)leg3_ZTVG`V/G %XhA-V=oY/Fr1"sE@gEt\5l+5$ce,H*IMVY2U#o*8%V/S/5;oG5N&-=[f6h;\0C1Fa)N_G:&5+Oa[HD1.=2)JCqJ1OI$;>0JNmH%t %OD:X1,0>%BfF7An.D%6rG70Q"3Zt*?'!ll/)`:YjFjHco4;%TrAMRW1%,*:>`4>XoVS6f5CM,iP!KK0OX2!7"O#%V!$YEIt(dQM, %]O_Q[N+?sgclAUW!NNW_]q!L8f.a#"\[($SZhNmKhsD0W)^f5*0_HtiPdA:Q2+MN+,cDkb=O)8knDR$jBSEj@"r"\%\gs@BmdC`J\=UhMF:=rQ?P2qU^'h)D?LN0Y@k++7D+ctJ,cQ9\`+R#GSkDSi#t@$[Ha"?IUm0i(e5d%/\bs?/oi'$f %pZ(U[rb3HeEuWff^ui3;^lr=Osi"VD&Rps]5@b\\el).dXnfV^Q=(pgcb3_:-[+]QH1AJ6#hu2>1&PP\)$oAc"grf&sP,3Bt\g$YE2PW"' %`\sX"GU/jO4lW.8lhEHd4>M9[K?)d)2WCZXk_;PTkes9]k<@d['=KBKLCNefm';bAh&$]<)/3Pn.?'uk*T%#&/B+B %&r-=lp]<6nAAmW8=.V_.X&/0_YYH]C'+hCF2I2Di&_i@eM!4ucjUsM%K&tcu#BU_m>k#\LLmZ`eXk:'2@"G_),ceN-(JX"e3t==M %@A(lEJ*&OUhQn_bmAMd@"@ln;V6o)#/&+(gUg!@Fk$;6jHTBimoopa#,.*HFuW %,mTM'&<:&,'6Q2dEN#.sVWTrar@4^RD486%b+()^!oWaZ'(!r-$.,.#2[W=q7:A/o@ %;+tBiZ(E>rn'igQ.\`6#Kb2(TFln%#`ch0k9("e-VOOK>'-41KYFu)Y5,3j&97=$OFd5qB&>I'RD25ib8uM"tGF;b$d-[\ci>WX! %!sJ%mHtH=u\Ypj?18N=4Q``_BZ!3F'$&D;=:I'\T]>AT]Qfun(6BuE"1JQC]8ff"EO.)LU38?Be[T8pDMllUKd(QdG41'-Q7oDS> %`*?GSTW5YQTr=j]&.AW!1[_TDmj8]I)m&ko*\s+#hlWZV[s"(0)q;p:lS^L-Z'8VUgUI$()8$S&dk>qf10<-XYI`\U2M.(U %531>@N9CB92%NH4FOY4Qn-,LSu\Z:0L#DH?Hggu`4i*?'u.%Mgj"56L+3JRkt+ga[T %@m>!d(e*olH)/K/7eSYm++LHI0Z_[FLLOe\L27T[1Jcdgmmib]+hb\-PEuX3XOLTALBh74C@%capR"t!Id`,U_%Jg"Ki\dI$M.--!dBT\KWVdQOE+5QbM'Q.!(c(-cP%T]LjkNeW3`LDe=5FoAJ3,@1RU&'U4P]]/sMY9R>f_9a>hcR>E5GHp4Vq-4p)7FUN!!`?M!r5g`f;HRXG[.OqgT3?J;MW_`)`',9mc5#@C3ru2-qTNGNLKjJcP6h,H-2dd3n+>A^rIY78Y-YYT)WVG-)`>&)7@f;?%Q\gmXNR&F-S:G/IKl$rc;rn?m7/0-RCj@r)>8e%01f<_5WZQ0Qm#bkB2Q6N7_bjp)"X((-)hk->+V)"d %[l2itY#dYNcqR>r]R:=r^M0tK`KbZ616NKedGG[b:WN]MYE\S]#fu-$eouI]**-n4$*Z+A6]ZSU:6GI,SLVj[T2kBk^Y]5=-s7,!hLrB/LLXJr-HmtGdp%[)3Q$8Cr71YaXA6p)_OU4%k+`E;Odu6eUEJX= %4ee%8jC,3Lk5?c$.l.qg+@kh0!adm*]-B]=`Oef#7E..+8Q^1(s$s8T;K#JD<8@))e62e1mN[3;!V?!3n9YRoOhE3o%cU%D1)_>e %"hRFn:;Y#A=>RQ$I%6`Jd]jBu4Foi64''M?K"If/QeKi`-?aJ<9*>!Kai2jc)\fEfcI,WtX41;r0_CXad#>'^Lk0iS9@H.MlX'." %7r]^C3!b?m^&!J8dUu7LQt(?C>A*&^W@A`Wf6(O@^ZP:`#;%Lr(8et%oDUBn5e]hICl\aEhG)L8dH4BP"?sW&)&R)1X2s\Bs6@@t %H?\O:Y314'MoOB)o*;;&[F5T/`"No^PB8.q;m0Q9Z)TOX7P,;I]W\n!*"'R\CR..n;ek_1i7-L[om^9[o#R%q:Q&cuGql-2Zd9m9 %I$F7+bAe5W^p,t2QjWha0uH\B-[?OP*`A3-$ZJ7XoVL$=*q)#9A9BX[(gDrO'hck2Nj]Cchd(% %)e-!mT>aAa,'`j#)Lu/:$b7UY,mtsA+sI$,dY7];DmB$I*)iRBAfar@6GPf"^9DgZI\"*#[Is1S16/s4q:U.1l<0$7^+O0V_F?M?BL#p`Y`[eipT,`8ie-Iucs3:%K=#c#uKea)XO"T>V=r>i`@$&T:#J0J.,%#-!:#O/^D %p8nT]BN^Va0Y.r1h5S.p!6VK/Q*NS![S!m,A6lQA3qI\umnkHrIWg.s;Y(^s:JgI$Z';Rg/9^N0,/UY7oWfJP0;A=PrDHFK2"*j& %(@[al?R^if;3fHfBhAuEWY[dF)gpV7,,XUmc=LY^n5fr4p04g*BqU6\g)ac0;SPenk^]*]C$7BS&/Q]OqH.*,Z^M1@G^&6c%%.-t %Y*?BYE$n;uR3NW9'VR.4r"gV9=VepE'nW[0?0=Rm"$d+^?,]D,ENP??LpI6AAC/6Z-;XI6M_Cs"N`a<4jnsBu %?J&Oa0+?'%fDKcTpilUuS@%`lGQ%Qs4XE@'_=G=d2*Q9'jA-%8bIe9.aB'3Sk.>:Y]&1a3@.X%4r_YC7=b_S+gV=1Q$9nIQnlC4%WqYEj<.[Cu8W\6CubD-,a %S:6Uk28)5@GUrBGNed?I@]no`2'3D,eZ(bZ[VUe`AGm)U4cXU@d%(%NW43E'7)GPP/LPh-_ %=;692kiEI&5NaH"[o;O:7tUA1bgeXc#OB!'qD/3W^2$/6WaUkS<9I[uDc$j.5&er?FbK %/(6$0>PSASo=[KK-4,0M'JTpk;#Q$b-_s+.(#CG%K*i#3lEm;D6g(DoN;CbG#$S_H$r^G2,9Vt4'm5/aL%le#TNZXZg$7B9b\CjDK2(NUiKj7V1'\]P&EJ[6W<JV=7cdUOQ5_/ln9`dZ,So %[Li76gS5C],;3iV^M,:U7s7i?(r9DSi=H1+lS2_apLJ,*Z6T!;]r:I>E<.NShMA7<%q5r_'`Qn\BVQeRYS8b7LC+lsS"5#*+pL.I0;W#T>'8aOjbG?o2hsjT=osZIbh]238Sf^B,N+SQ(Sm*q.cH`,i'^#HYjENUK7'X$S,7%K %_>Tu$4um1HnmGu/d6ui&^L3%R!R!k\H)$LR6W]3kmis.@923B&7E4J&[]L5"RbB&D!hHmC?**\YOS_M:=fUM?(OH.c8F^44%hdD1Dd$#'`e\j%qcrJ*1[:0`1n86AXkg)>4ZFn75tVH-B4 %[-(XQ#!K]*l\mrCN@b,'nJGF`7]2WnVlS7\:19^mBR:*QRbOu`?CQm&R3S'sW:+NK/_A?&2q@TuLm"7;i2XuhZ-J<]X4EjgQWYbW %J9@op<+&TACW[nPiV7bZ!FE(d43K"kC(%N-=5AHHYM)iR$_=QOTtR'[G\8#qQ94LpNnenXT-ml4n0JRHDH(srgVL-rU1QJW(bjdPFA&c;c&27A?;WJ_jj"!\[I%T6Wpot_qO&^q[tK/*3l>c0?Gdc.KH9rX_V.?d6h=kR&D/4Ek]VN %s/R`-:(N1NXTS\d(HoX-f2X\==D>=2i(t"F6]['C?Ib?]\_5,0"ja$i_JcNYQ\aHJ5`h92<5/?D7LVK\2>b8M4\A)VK!mr%X1f22h%.QiMn.@2sp5Ns7.I$2%/O`-.9\Q?!qB^+U(fAMi %<(Dn[L"DmgQV?qrh-TjK\aDV#hErM[1J6:EIX!'bIFe`j.jNY<`EBsd44db>?)O(!,Ps:6:LWCL*4kCQ&nt!WXa;#dD%iO6I3"uICNos5K.s4T.Q-G8MeRDW6bK@A&+G8^ZZhfQ;%n\RdDLM8FsDC*ct`j %Ok3N4X,E''7Pl78qm>2-eQo^+=HBu2aSlKOk/_m6F4QsbTn!t7f&9Chg]Ors<-"A3`#JaeU4L6g=7,oseW[`H;Id6`A#pSO4!Vdl %7e/nTELuLCZ=+0/c0lOV8&\u[oK8o%(icH(,:&c.N$$^t(tp)CoI1:=]+cC75JCbn?7e4s@6N$RFpl[t=K/OdnUc.cQ<\6\&X(/E %EbBNcU-Ii;88KR#6jWGq[\ftKcH,hfCoFu/:p3H`\Gc5jdUpE>,#dpqp[dY$f+7K=s8:BS=4W'(Yl.uRN)ZBohUbV#l)KU:lqjVN %EQjs=5AG6:bLYN"'4R&V,A33_b4j,p5OA;Jr$$E-dJ)d#[Z_:DK^@Eqk]+L^b:,e4K$?b<=k4(]#,@jj0g''h'7mEE_Q)VLntuT\ %iea`PCSa*4--'VW\XPT7<^p=nNqAp*UOTFn-``7>GlO?i=h:&R\m)?gp*Q$dRP^mAb1e/0pU@)Q'X!g:4>]BW$1 %Y>9eUnG%86Pku;ST\JLNkZ_cS2#]8]J,SfcNUI+$ne(J\JTB)doJ=`nF;)$W+g?,XF'))(X^82?J%X\1?R;?D+3sI.ZI5b.7B`]V %X4c"Onn<279jh#]d;$UsL([j+8YOE$.TF[Iq2c&+p\lSEc(H]Dq9:GPWi_>eJ.OBQ\unS1h5+n"'>1aT0=t+oGtoGOm,rBGb=4K: %9O*&&?/9kJqO+Vb$n%O]>V7NsnnYALIP#h)b+?^^I[:iUWH3QK5>5?n',J!4j^Qi1A%uFYrVV>8"`/ROkAf\M8%,mlpT7YZ? %7\/#L\=!#f1>;OuGKI,f[$LQp6TR\"jN'Q8.,@ZhG17"KrRuk978rXMaF4=cU%$D"k,5@2^'cj)RW%e#;bFp0]Ft$7>o2PU+!M"H %P9^f5';NG_RH$Dt1'^H]Q.rme?cYOF8?%\_82Eh(>+k8G8&.OnfNsl'#P=Sa\Rq4i$(gn0?s(1Y9QfC'.D8CJu^-gd>i>^:+6`T^X5*!Mo5uO"# %+3NT)ZEJ/u%Rh%E;Qp-XV?+cdq(^39IZ@dqpr0,]>!''r\f1W`$Dd"jbEd^=XK)3R\Ne\`@t'AS-.':Z5f+)2SM.2;#_W8U0CS&`>n_dQ2X,0EX]fC]us!,gV[m@'`mI2E>i2DrP5MIW'B/Z'\iVkjrB_ %EA1SAjBGhN`o:ItLuuM[k7h;9hO?)G[$Gm^=on%)&R3-IOiT*8QF@V9%%:d'5P"tBZJZ,:FIK#T^Wn\@&YLB^OMn4&&YPj2"Ka($ %N0Kl7Ams^K."iR2hQiO'Jmb[_JT1uUjIIUBK,C[pI2>kVKXJ=T];VAHO;'Y\;Dd$3&q_7%.6s[1RUD6!^"g[Q)(n36_'h,CroQHL %;!rAlHY>"`(gUnafQ'L8!!1]($=.2\,Gl7ON/uN7?V!o[?kVbfBqrp8I7XZHbK%9Qi>3XWA4) %9dSOGp>[E^Kq-F\Doq\\9phG#t`qM,WTFbJ_9$R!Gum/U9K0&*&\"!6s(Kpb8nUX:@`"YJD4a#E@b'MR"NYf5_C+( %>Qj5L22a2lTkeN;VTEPV?Hj+2%/h<-$B^]nLT-4]jsP:ZqOo%lJn9(W/Ic3P[hn@2CT$g,*?oYU7n7MNQrqfJ/1dm5;&UYJfKV&NqX">qlQJ;J(k5:i$8cn)p3ZrW?,:cV$m3fBJ)"dh'I'9-t.p-oielU&UG_m`iJ'?c)5 %0BqJk#IkAoTaA1/F3Wed:dg8XgJie\=Ae"cp:70&VdT:K]^,$C/S-)%@Pp(Mhtg7X_kBcZ*.mi5SiDpLT"hI!S_\:DN/B\45AK)K(KGP*d.m1bdLHZ-4.-IPf3+aQDH*1.r)C3YQ3fjIhc.$?;'b7d?0PH\d8-@Sh;\Aot %%JjdDCmZOm&iVd@$6OraI]uAF80Kp/4Y#D$,gYBm!\RXphKU0-`^JIcn0=@j-LAg.&lUWP75[pA27m4S#`X'n!KjlXQCJR`R9Q1Ci.'MiRj %8.?=$iI0to!,IT+?DkWZ+B=mECmLK]Cl[H\pK[Pl-FSNnI'?:hC1aZ:$f\fd,skf_cfOoQZhZ]VHmn]+dYB/6k0^p4YR&;SDB^!uD0I&'(\LhZIsd7F4rd<-Zfa/C18$Ep@V7M?/50QpJF?Bn0`M3FH7ug28aMI&#JErF=glR8d=eNc %KK'L"JY4;(quOcLm'0S`)JG,Y>o;tL(_DD(3#:Z=X6E?ba6;@_?s6>FUMD.qZFm!Ba')H7@0gO[o5fQo!/-fF$luY7]a>B-7bn+A %(DVoH9PV9-<9FI]fNLmI7rtKL"VaKmC(r'#RUnHJ9I>[G`g*=!ie26SYWe``-"J!(^0-[?.)Db8F.uMkYPO9J-jUl1V<=!k9/6t% %$A,Mq9&OcF+A1:"cf\7k"W/$+V7ps21$5Pl">ecT)&.bg,YeKsTPtIoZ\dd(QjZ0cqE9X%Dh<.%BA]3GT3Khlo_Df6MJZ,#K!hrH %9M&LKr:W$!/M/&HFQBW84]<3S;fZhFJNm0e-%mJ*K9I%t"Gp6r8I$E*V^DO#ltnjYK!la0r7Dm5!3l-`6HcZWi:979!&eYK.,5#Y %(([JlX4e2=jWD)[;[3S\,-=>bJ4FVC">7nHB4_^!G(-3?XULbN!th&6=LUX-.glDo)=l1seLlW)i.=Yg#Pnu>h\q?)W"\&#bQ7pN %#d_g,N/(I'A;h6r_A[#h9jCU?9TXl8E)WRZd)t:j!':Nt8U+sNlU`AbUnZp$rRhZ=hi&l%9Eh.)jo^hV]F4CEO@#VhVJ1k/i%L\HJ-H+m5]BbdZp@ZHQ.sN.mAVEGWdT)l=iXCeIB4d4qZFd4i#\6&>-Lt4AVQ%< %`_GI2>3K%65F5[@"nm[U;)i5b%/C_uBBEqa]9ENVLAXH)H[trd^FOTE)0i`!&>!:::5'7Mdd=l+AFVrS`D5BP`3IF%2n3#soo*!X!]dg#.EseE,[l\a1e>n[\Q$c7L`5U=DJ9fHcBu=M,5tg9A2?[`L#VW7F3j[QkrM %$`>BV*1[6>7He'V1H=Ibr>5[IcVi7Bqhk>]2++(Jn[YIRP*C!m&6cnSf30okOlDW+!;qU_[>+37a<5=0V=VN\/HIFi"h)e(1pXqM %'TWmeB+V)A!)Wr3^^@'rIYB&IAjo@W#/]7\;/m(LoXc^l.1TYi=l#17dV/^c:]nSd/5RDL.?Gt`)N?G0,fK**%Aph&_L/%H^s"gq %&4/d'5pfXAGhbEp1SGlIUUg_g;\clO2.lq[g3`._8'*N;R-)7(k]l!`'#fD/P-BlSBS[*[(6'(QP]1Q)9amlOXuG[B-X&2h"?P(# %ZRKc7G^$\0'ap'jJM9pL;#h10pq%rd/>!k\XHqtG<(Y46R"$da+QeJAl6=k[$r+bX,4^;n)/@XoP+MFgQnb7j %P4DgG6.eO[O;U76,?tAZd[OLF3pFpUBd]V[UK7j:61SG`\BZ57")GKT,pg"\A3 %M))YDNHE1/+PhsaC]jnhiPTnBTc6RPMKK(Ed1$2F;L55XPR.7uZ"$R/6$>M`-ipjAP!GfGmQs3!0e`qAaD@C11D")-aep)(4!t@q,iSD$K(g/fdA-7%nF/]f[4`Vtr4[H'20c?a%(a/kdg(VGuUMh0[2@ODu8HEdBe/c>f %o"-j"2-9"25b5C*O8<:8q_=?"<#-\.#-)FTP5nEEXs]/Te:WK@.'"ZU-4Ah#\fo['J@7&Uta9/Hr@4/L/J>eEaoVuQXI1,A0s+Re)SF"WH9*>\ir(S#%]RoHUIPuJ8Gn<,Wna>@i>944[%f+6&./".M9kD6Q;H_ %N%3H'j;`@Wi&qo'SZbk+0OF)o5K&'oa_dg.PJ!k+W2@DJ71$Jf(;^;,5!BBc'\+?Q'Ft1r)S$,D$6XU7Z&/`acuHsU48"R7#Y9J[ %$[&cZ1ILpaj;3$_@saru3)leabLB4GG8m(`JE[k;U.8]q$l1(#r/V'R@E@:gJ0k[$_WAQY6F)-,2\_%d!F*-C6-P$saRBb:7unu[ %Iq.qtp*h*p!jZf8)\WYuZNXsc;!q^>&ZPjEK.r%j,@W0E_RNF$k>F^6\%n!eg!0sj7`u2o21ifbe&A``Ll_\,;aJurZX$B-SZ'X? %T^qTt%]J0caCW^883ZZH-HcQc:dWhBJ_(%2(87U"Pel6K5]`;rM]H40KMe+'0c]*(Rg@P+!%"C;'LrF$nO'bk;+M*_2MNV0njTY-cKk>/*[6bOV(WGrC:-g<52I)RoQIsJ:/%_8SeOqgIMhdT2FOpX+C05P&_]k]&h_j4Ru\isfo7t=l>kj:&g/#*8gmsqmtr,Vi\WH+75#/YC)e)m%>-ck"COR(^0GQU[3Be9g&3_,T:-B4'&)L]@AYFR%T[$RX2)#]&Qmds %J-/IXA@ET(44o%)c]!2pjD$tE.903;8A1*.!XjPr.T6Fj$qi:]6\uH>J.7[Ko4T-^jgpPt[bi$q3K@@Bd`&mg38r=YPo:?HcGC,. %*D6fK,*$o:C@DdR6kH`o]O"91/8gR+.6b8U;;P/L,0\!;hS\k2EY%WoGPebuh/Gc%Y?7aG2o*%H:KV(qD09J%gXF!GLl^qp+-P7kHM-,T3M%jiq%1F,td4\$: %e;QNMJk+?>7KlX5jEk>>#p[,ZP*R;%LdC>Yg(*'g7(J&0`_pFP:fTIcj8:\?NHQ<-.apR+cGWVZ#M@+_Dkk>,*oa"`9Fm.2IYt7b'J/N;/mF'+'5)O;T"]t.E&44o/i6.g6#P!ET:8&!<$E<^\22?ZP %oaClS9PjB.arsZ5!`La7k1l,9Lji),)%n-?@gPstVg%!TGfO=plaaAp$tb_.Kh*:>][4j_ %]o3IQ69_bgXg2uNd2ZHeP_,JN1)$Lj=V:JnF*odUa=rHaOobm*PdHQ.3#RctS"M;J4ia@3<\:b=1^b#[@/FJ56>5^b.V`ANQn$:9 %A+!qC^m?D"M;hWBO%WlXRuDm9L!mgeR&"%\=[uW-U21Oprl,7Z2!(`U%c]uJn:67D-4bo[D7-NmX1?W(.lQHl>n!Ylb30D'c"MX1 %aH>)YFBR+lN]:JcUEZ;"ZhaaR0sjWHq(YQd%XVC(#_t=:o-oAK&%"i+GH%(s#I*WERXO*C=IbbFc7gX_4 %`(JR3>#mebTP@FW'@7C1$5KH%U`,lb7W0"_k`qEr_/)pfL":XiAgUM(Le;N!#aE]7W!!-1Y[bXO>9S%&%E">Y@*Y>d]mu_qo'LYZ#bCCnn^g^?j(%;-WqQeZ34TdR+Rm$E@*4"$Q58`Te*5X,sXZQ %6Vp]5`DLEnZ49/(:)L3ke(jFD"m*Eg(mqJBm0_`E9HFT[)noKD-ROJ27SY(!-P9^n[8N^";@]MK?G:U$LbOcG/f:cfp<'u%%f/7? %8X'M>GG&XYP2B-s4*k)&UOgO]!^d=t\0WaM0G?]RX;.Oj9BU;ePg"q>i9AVT=k]H2Ep2MXb2FqhIo)Q0*\Wkr[7BFYTN8p-]BC6& %)UoI="PA^m*9rX/Y0._)G?F#ieHX'[jTb1"7JOYp_'ERT49@WT,TJ!D]A>[+O<)?9$\KsO4TmTN-K1e1e0ThS/(pk+dFe'_*`5`6 %<8FOJ0#/lSnaZ?nX!YjKH^aUh*W\O(,>51LTn.(^"%*e%0qITK!LhDc+IGTYM\R4),:P65WR5a@&!MM]VnCr>j2!ukP@-kFnWogWHj"1^,Mgh@#4!i+faCckP@.;Y+S!k?"/T(G:% %ZfLnf'%?pB,Usu'iqBi$\:=(D9Ud-BeId`8g(gH:S8Rg%I\?Std6%7M(:dF15VVjDSJ5G9PhaZ3eDg %"EtAR*k]oW(mbWp&@P3,5;4hQ$'#:>BXk*W_?C9,Fc?rh,69`R:`3]j;!gkS,#XCAACgnn)OQP,d(hgW4.Ik3euXr\`="dDJEl2u %6'DI2)ob,;_8JMB%UBROA=JE\Sc1$G<,Wdp`3$W)*2Y9+#0a)%IW'O,_2E2`NqJ/O)08\L'o=A_n,qCM>u,I-cZe$=fUm %h2l\$\M_U;`PeGbE^V1aS8?>KW[[_U744P5YN;s1s"*9XjE!?/W5X;:E2,LnUU`B\;0-DtP#IbkCZs\bDcnZUDd"6!KJUe,tEE7m%NL_g5 %+b]M\JW5DY!&H>[]uNlmmZpK3i7&nS$1Es^WECIj$=;3@!'!VDFe((Z/J(2]NeCt$/V9g_![b2j^ %/IGE"qO(=fRFHq0#=-$*"1^:O(:4*moY$n+N^[HF!Y[&_$UbcH@"k@HUZVWI6[3jBEsZ'gmGK&SUfSmrda57pd//sm_&B*V%YI"V %P>`K6$AD@9alAdu=<:*uo?-&1Vre-f+)X'>C.ae6l"HM0U_WK%HJrFE9C='An;lNb+K*T0K(Y, %hXulDpN#rj*0c-2_DWhL"&d$5)`Q-`gk-,aqG@I''-_aVYQQCXqA(I[\mVg#+%<]4`XF#m*9"YEp4NZlWnS:rt8T@@=7[IM._7Ss]A$9=H7(;8BY/_;0GG:Z0+b+Hse0o!&]Ws)P %V=*%E0XmZ;[hU"r!$M[lW=ebb-V;.)>[AEM"9@!r]7rC1k@rT17R9^Z13JK#"U/0W]A'mVA?cF9^1?3dnQ[FL1unj:We/19#g*4Z %aq&@'$s%']6)tPDga_-1+2dLY/K"X<,8$<^l/3kG_I-tSN%.<( %[RuFj+3A49kN_1*(>>7V;DeSqYdU)^3%ZkZ86AIK9&]$ %+I)HDll[G!3l(j[m'-T)8\KN(nD5Eh#%3Xl'.,HhPm$>rTQIDZiC0'n$6"stl:oJM`Sni$Kt'kb %E']Y)9m_b80Tq5ERYV&5!hH88+O13+.#7L5j%??YE5I1A,RGlbPN9j.9Dgol$Pt1]VJVaX;8D57@%*#g!;qKm'?;eRPhQ3W$gJ5l %KOK^k^MiYZg]n$oLUam$)Zat0'MNH>2e/.:QjqP;"3nekK]>Oq8("aqif"_uhcUXLK*;8SkAtII;_VIL7G-pN&AS?E$7tE+K41*C %bkqc,#Me9)$:G/"BIquQTH""i\'Hee8IeSS9.3W\3L"?POX\*i(bLIVL"P/S?pPXelIua,:@*s;GXa37=U1i-=h*+r.UF/G %RP+gY(dX3A6'V$;3EBe4nSd.Zgl-;[Tt7:7&DQ[TQN^%kMAZu^U7XG//2BqmP%]4K"acVId@#O,rON.Y4-&UHaX.pBNimV2Z:L$HT=OH-H#^+CS3C;n5!$I2n3p^`E+\VWDR\RX^HYq@/uBsA %m%\H>\pSe9qUO]TiQ>V&SDY3&,[nrK?_n;(\KE.-!>&@>L9Q'>*67gPpsAAu_i*QMK@Pm4jmb>(?Ytf5s)%GHD@b1%U[M:)cW6N: %X+Qf]*<=5jA"*+ST7D9IKs0G!n9;!+EI(/1L:GHl;.8abhr=ke1q0E4cBX!N;GJ0LnEXp*sOD%)6lH3sYO? %">%]G&/cE_Cr^RS_`gQ*]*,/7UfF?pP\2Do%i1jKFZ@aJTc"a9?&6VEZ9FYbcVEhSO&HT^KF>p683:@T,-OP)K*X0\Rrs@2>ZPtn %Tg1#IL6X`#q;u(YN-J#NXLpH)?L=$*9TQoOQ5,s*1=:!@jF*9f_j)3_huM!]9U3LaeBeQK-mj3_O@U4!hpc;sqIaNXS`+#(YT8Ik %Ajh54\`X5'/)tN#Dq7A+DL=)r)U`Ag:[Y?JmZW"CP#(UglM66jkB8)d06TOtY6SX;54Cu2a3I3E'Fef5."_De=kWs@@>*c2@Nq$1 %&pjkW%OB&S+>"C5JuXb"]njpD1@G'-pj/Z+PP*>f,s8^CM]KZ>HW=LimK1j-L(o5tEeK",D`U?RGZl^BV84u#"[kKPb"Rl`06#-0 %04C=8Q[%9lqo,L^6kaeQ->+keQBi"@R%IPSFRVD76t1^%8O*siP3hF/lbk]T+Z@\n_Ru="%'BW!ukQPWBo@C`@*"URSB(XJ!.jWjMn5b/d+ju.I/ZCA=_*+Ts'.*_QF9n*_%J\sX%]ApN"/e3H&$Q:l %`#?;9GK>k&"`7b4nOSNAXr#lS68BM(h %\?P@_LJ$M:8^7I5EU^6n.ms@\O,#dJkrIo1`C;[!#j]%.6Qiab[npO?PYWea1)ufMXrQ)+SUOYk?+epOg;o#o?n2LOP*\//@(p64TW6BQRaO.r?Wkn/m:P[3TPLg)m9t2>[mM3UBlPG4LBGS>6e+1c$)nCSIg3j.q]>!2ue^b*\L?iR;q$X+7gJlCV$,>R*[2$A0ddBs@(lfN"7?([skCU`& %1C+%+>Ad`&2KTub]U^Z_b'U/<6=1bq4'?Do:cO`ure/%%41hXo/!bFqHEdlH681+@=;_"XM]Xh_`\D\_.b)g"j"`_6`DT*:daIuB %Gpc0lbVTbqP]VO$\+NcuXS3T*:f47+*Cmu_oh=A$#-j$'RR,Jga/>Xc;3U*Pit>m9hDdT#()1b_SJ,%l:*nCl`sJlf&IV5FX_;I# %Q(=VXaFEB50e@nY_O-=1^XZQn"6WSfP3GBu*HPXk$l\-%-8T4HX4VK:3Yd'0^b0VVPOL^Mo,6dI*+r*he_DT5d&hkM;[T2@]g]pT %O&[jnL3@0Bc0nFl$BH#IZFq`k5(N6_=!!"LAYPhDZVr9QO?Qd-;72^mu@qO><&>0F7d?Vaoc5+G<=hq5Zc/_u`@0O#6I?1INsPe-Xi!EGFNT?'`r$`W[a/Hua]bq+uTn/4oPc4$Z%23#[H?FM-NH %lAnpk42QF',1:_k$LGL,3K8sF+iomJMAZ0Q,`W;5'ZNC9$$ljsj)jnscc,.1>(@naPStQZnhqh`._C_QC?u;;*1rc\9*"/HEdTbg&u(n1=7G$UCJV+i*]EN5X\PVZe&#Zlug28 %:_ILI]uf4#W>"2MP%L,Ad:pKR@o`X>XGn&/m*o,;NW9hI=QUHY"HtrEIW2_"l,rK[Z@Ye`#mU#dO1g,L8T7H6$+r@-&rG/N507]A %K*a?>;gm-7E^b5`YjT,B86HS>j*NipI`Z!i0JZ*--$*96gt;+r;l_+u8H$"A.Wj@.&-j[6#jlFbQVVj_7G*&$)ot1nB['I08I$+9 %\DEo`pVP\d[PD[NkX&sZ35W\TS#',4(*1Q=_/6-TK1*b(B;.)J$)@$r)@D!.W&B&R[fZ*Ea1idqNkouHF2D2hDj[3kNQWLG(.K$p %**uQV0XK,[?o\Im<3:^;VEpTt@Ga/>`\-.[Q\C[LX;4*&9ZeT1RKM.#"(X?Dd(hCN$>K#L9\%lD*L)rU'bR?Fd2O'd;p;;3k %NTISNmVV%#g#CcFP1/m91Wl_qO"]H4'^'.O6&S2U-EMe^?BP"g\\_aWfQ=L5GbC!<4:l]l$sPEN^j@"<">q[:SoE_KiH!.qe[.g;1',#faOeD;O$;W;,Dh4_PEj4`jNTK?Qh:F:XnP:>qXLlAiR`:r%SmmYWPGL`$'G.9i??fHW&%WP;k(19tBY/oQjl %#]bj?KuqDk/\VNU7Ea=RhNHn9E%^,Kb8E*"$+h%hA'Z8n8[18M.R8_r$A%1H+U@u>L+X#'/Q`6tY_g@-,WH#Z"iF`0V??^O[qH3e %,R?`e'o7A?+0BCLBrm72*o,4FRhC<(:+T,:Z1JJt?:U1e6mrhbLsjU:.Wm6T/PN\8>#h)SNG^k) %K*>Hk&9)#.5f:M`!WiQq8heI*]1$;oBU37BHVc[+Ui%(*]I^I8L,q/7X9(2A@Wn,N!2b:5FNinT](4egBC-b5s0^W4.B6!$m3E7G %:mb#"VnJn#[`_Z()^11]h!9L/C8N`BRY97LZK(M+objb90OBe8dmL?M;6WPYKd&:4e?VSXM`1q,+Y/O8;<(k:ZM(EkAY)^+<5'4i>KRD6AhiNS6Mg,!Nh'i>)BPVcHUBERh-Q,[PJ'&D_#S*Xa]q`&(U[:\jtXZ8kDnmd:q %C)GOBSM0O)/q_.f@35`@E4IU]VIUs@EEO1JK\NuXpc2;-HaA)`d;uYt!(VTP-GCMLfJ+o;@#ZOee"V@"EM197!?\%)0\+6"&F3)LD9FYOLsuJV)F]A%5dF"c2,(pEk;PV.b`jtulgZq)!k<#R22D(-4)@"q8#1CSO %#47eLQ#jHl6F>RBg`Su\J%GN_gZpaQ(NGh9/g/%1`'3&0+'08B\iW._d\PtK?5 %b@O0h)AYRq%*Z3__aYCU@h"Q<5o\HT&j6g>Y]lHmA\/#`)(nV#+NBrghVq:EUpfrU5X/$1lTiV4f3u/@g:BQ; %cMPHjKW,,_pX@rbh-RRIQ)9X\##1`Rit)2%D2mIqlQRn:k[L=CXBj3bZ(%RFTC0G[f".t&$TD26e/>f`HZF40HRV*m4[-Pr20"o>F#CJQ>=&^XIejK;4d)3eqi,YP-_$dV_P5a%EDQVBf"WV%Z6IF*mIX>VO]"EB&*DBN) %4*_JAXH]YbVXN!i2r.Z0O`1ga>Ng0G9+n*8eJVWKe#bdno1iteqj%A5qfM"$\$nB1EXZ-p]K"lJ@Fq=T\*L/GoJpm&OPN2=8*Gab %Gj2+f0=oE!d0nm)Qam31)%GTJHm:tgD,dEmWZ6hXV,)W5/sGG$]"PeNkS2ui'9O%bN0]htFOI)B/_L6V,5"h1!*0g#K>9t20=nP4 %@s\9A\/AtB4i*K<]:KUS6+pd,0]K$XZ4&cR*"rhZSp14cCMn,rN+*C7.\g_S-hoN,PONGC4L@cGk\14qM*9d#6:gTpmi(SOX`rT) %YN\fT*qV&Na9pSJ`R-IWODGeP+L:+Un$ukKRipUU)EJLs0sKKc>r`8lmW1%c$@TYU@?!RmV/s26J4aH-c*G?4?)J,ujdl4orQl"^ %-sJ@;[EasH2hH4Z6p.H9$LC"_#fFfVdNgb/Hs/JiAs&=lqoW-5qaRM7g`\8UUQQA,i4Z)]%W3Oq:YDgBg*$[%fN9$3VgD`oHP7K" %7\AcPBmNOeq7cY&L:[IJM8%fo:.LPVH>SE?WV8Jm]Y3/(MoIHpL_2n+/K(4Ocdn$!&,MMYl %G>]t?gda&#:BI1/"JHSEG@#H>h8V(u"ESd37tYSm*r4Bd(5I'gd$/T5gDiT'Mkd)Gh&"pWk7NGW)$#6,Khp2!#"D->(^B;?UdmU- %[*90c^Y9-Ro'*kihHK[0gg\\qT#U_RU2cmJr&A41V"W^/dsM4C3qSXqH0HE$,5O=98HPD6`Veb/kmTJ^'Q7A^MQ3rZF %1-M_*W9Ia=/uOL'p^.lbK.7"?2]i%nN/]VN\#"DgQTr4HjlKal?@L^.]rN^aPAps2?O("+^-NK('\?4l3+*T@&c(;=6=4Vr7i1?H %_q!aSI8>c5\)rJ. %Y7a%Go]$C!NI5M\jfS?Pq5]+:s*2Fc'Ar)PeI'c? %M24b0"Hf+C,U!MRUe&00Uc-l#nD,,;UIGr%N%ZA %T?'B-XXm>^'!jRXX_HZn6jY,(J>aP50.H92+=SdF6q4%`&5>?F9ZJL%&(ZdWOV&k8^+=!Aa:o0p]09>S"t$;uB7YVQR8e?Yo\8aO %$aaDAQCTRr3(p1qXg@OJV3E50/bXjghPN,8RA<0FCYN0]V`4DpIl#g$huMj+')R>4'4!f#;3/<*don*CK+q5JYL!;Cr#hoM[C8"J %T3Z"/pJuG\*uV!g,W=NQYC9s&->34]@BsJlj^%)[Q0NP7<^qeC\]LTajendje?/0"9je7QT'@5V:L$>=$LlG %gI_cjrV!^^&u+1t$rDp99*q%+JA*0Nj4K/]jor$F3NC$Ejh:+TFV'Z40Q@sc+V8-Igr,R-8Mub]LiaB2*8E]:@Q)&k"IWDV1\ZU%"+0oD&Sh4U[>iisLAC"S,QP$#jGUb8hc)0P,-/tAOZN[KViIcl[E]*s*I=<3T!b+!16 %89q8Q^bpU@Dum<>',=[KE;_&\-m.%pilQs-JXGBgF&G0pM:e\Q=5+-;5%Z'I8WoL/[p:i2F1"$u;rOX?ge'HO0!D2nhti(cW_5+^$)86_WbtM2PZV4l;;d]141UlOqG*'n/=f!V4h/)s %EP?h7PGcAHi^tLc7&c3SX:Yma@;GXZl/cUpcZ6[.OcQdJAYKfd*$pCl2,ujr_!S8BZaYD\>8_D`f[)%AjJ8*=1/T=:Y_2#Bj=94( %OK,?NnW>^/1;>BdAQ5teCs&Mfj46j:(&hMm+?"T`-;o9NA_Q[E`YeNUI&-bV[bCjb85ei?kX`Jb,pi&.@/i'[1piPX;=Ps`b\KsS\:FjfPJ139q8$cEe1Osg#jqa)J5OZRn1K+lI4F&;7[QC'4O-2 %B^*(XOA/b*qH6Na9r]N367eX?TP]GlO`br7nn]];.J9g805NLt]_i>T?.dk-=g+C`SID7'7ANprp-P'`R"*]X.c!cm7^Y"2,0Uam %C-0tAC/-*bRCiC&BnFMel\-a8bKH`@jk5e(&oG(HWj10f8TbZ^Se=\Jc&!)UgUc&(ic\OL($1t9pSfAi>.IG0+.7TIpa0[]1;@1D4,0GW"CEUU5?1#se0*gZ.6aWs'=XMhuWSY@_3 %$2I/#fA)1#Tlh]ckTk%kONjElD"rm#'cV829^]Z@^f8Y<4O2:g"oQ:Q2j#82:]KP1j/3=be!Zc(a1k`P1mh&[?s6 %?\q??*Qa>/N/S\PieY^>)+_^YP6D_\Tui'f+u`',R*Q)-%oSj,*D3o9R30Eu=`K=fHkZiZh.;3t\:is.sVQKW%@UA32 %pgKmpDFb*rPi@ItLtN:P%==9rbHe$5Jj3nWY8G\qm@#Ti-q"i,5neI;QjH[\_aMBnN.(66`/L#:(I&=-pg/TFr%L)c5olQp0E^V_ %Zg+!c9du&GPOaj0GBDDRPk49ZAe@VsD4HS#AQ(XZ4*/=cPn@F#X>s`>dc?35`$%3OX9K'YT/gAD8P2+V6g:d*(Z>'8cl/i"8`jH\ %\3oY?+aA4e/uh5A8VM/j6@^\`Ahld$BZpjfbGQ]L[tUn?bqE&f`/GMs00Plj0]M]WC2HH(p(FKa4_'kaT"HW7Dtq@::L\(c+\5mLFl8t#:Enn(Rkg72N+`Hp\;rA8dU*2=0[=!Cn/I@OT6B%j8f %f4_3A]:7!k).jHb/C%Ha$pV)_QW4S!1D[F;KT8Cc9UoL!Oh&g^8Di+q\&F`4;m]-`cA81H/^-OI\2.3F("JAhEIKF=aBQFX/Z^/< %I)Msa;WP29s+RV=dh"T/1q9^Z!*R_9Y4<7*E\0i4C$Q$k9?bP[_C/?>=>G.T[&U@ebrf4insPm$^J41+*`f*EI\M(?4"Hn#mn1IQ %WQTS]'"(O<2%?U.s@Yb/.f;IZ,$pbHJ0o_l(GGi>0mr'NfIF(cs4F1alaCpue`,W5oLdZg:1f8k`fGErjS8Eco %QQ,R)`=.)\^n3SuU""HI'=43`G<&O3.?po6?Y`\[PmQ0%jTcpKO]3q;JKJK%hHmQ:A7BQXJeQ?LmMXD-qh.rrBkQ:K)%o1c?N!.n %'\^_(?Uut+Gp-dtPj5N*;OgYU3-34iYEV;=B1l_^Y$O=[Bl%DuM\NFu[?p[jaGa,P`B`r!$$TCrajAd#acbAV:_M;",SPoq"nmLH %,W.j_7VcYB'e65jhFNX*afPAA8G4Gtr3k>P[YLciaf`F_L.R6"-$%QuRUA/Ke\$g<4Gfa^D-c>qe%Rs>*ebQ1rd3;R\bpK*"hs(!D>Ym<*0!]"oip++]Z:sk*0j,BblM=0iBMr-Aal7;P2fq&CoaRHCG^T4h9`L@hOAt1P/hA7U/#e2ZA-HQlaWm4! %FDLeq=m"u(+Q\!YSgUrEW7hTpC0adX#)[@Pr_f.>L]CUs5]7^nBp[D8b*5bZfg/KK9P'2q+(_Z`2FuoSW@X`t@(`PG8%>G-q2,U9 %f^&h%`p4X1B9%d&S'e7@JpA(1N;//MEU1>P"Cb8&8B&U:(QTCkd+K"g'OUI@*a>T:P,$7baK]#2?TAR9:J= %,1JN5L4DrCaZ8+>\iQX[fid@t01p2fFsRqi$5?._B(9U[V()CS,5+%V;C_?5TTr]j-29N%AXa"IEj![*BGL*+Sa^>kC3<5CEjgh] %C,8OE>2kfISbc_qo^('4.u[T$qI$co#FiU<-;p7rRTMJ4ZF6b^cC$AmV$L[6XHkEl<2tW]P:/jt3D`q,+qOnn)iEkHfjH_m-cLn/ %mua'[.,-p9KR2@m#?\6?@u2(tHTDC'O;*d&?tjOQ"2 %\%4#`[JDVjFmA3;QG4:5^42Dk"m0VX:[qg$Ak.r!#m0VY=Bd\/CVk)`TTCrD+pp;'SiR;u> %#5"Kq$AMCHL7bbbF&7Te42Dk"m0VY=Bd\/CVsWCOWd%MtZKcb6S_ssLG(MZ#g(V+RCY.;$D?k)6H6@&.Dtp[Q]]%=7n:j_cJiA)2 %$/Y/c-[/U51RS_sr!GChc$g_7=tCe`VSgfnbGGf.SXi!gcPJiA)4$/Wb!ZLP$skB?>aYlRV^4!/[!2gjBehXGMHGf.Qb_>+ %"E4(F'>3;eRAC8In8Th#"4CX[6DGEiiT$Nf%3KeG2gjBehXGM\n:luc_>)"E4(>-[9.P:B!F!GChbcA'Mh/54/Plpp_!MiT$Nf %%A1(]2gjoCR4?((S0Xt+/59NTNXRBAZ!=M"(i'@N/T\mj4$j,U9I%BLc@lH7R<B+8dni!br=6GmPm*gutS..nC?.l+r>o=I1QEEnce@)Lgig-ak"$+tu6/'_O.DO,MAY,p4Y+/&go1@WcQ+)U] %Hd[qWbg4RWAThur=6;4!\hXLPf9L!4;A6N]j_B[ZXuopGX=I@FQ?D;(@C*,,8X6G@gCpG7K3Ra,b$,<\/n2Pq/'gCqdR`*>Q+)K6 %?$S>3l+jVcR7KEN1?Wnb.s!$!\oQ@oB"IPLA]kXnFlf_7-!bf)H*Xlg7I3_'h:@jlcXskUh:pACb:PX:^t!n68NXM(20[Nm[WU]b %3`LO^es3:9p!`$7X"/+*$)tmHZJ?kqkfT;o,s'PeZC;sXg][.D_)g(\m9=>JDu&h1Ep'JE)mJ1WSrBMC,TDW8%!L'U'!jBoQ$RV6c %E["6W\qr7;;`#(\:W<[=Y(Wl(-c=/IU!f,4WcKS7E`1_+P)?.^f`3?V)/J?_<\qW$07^bZ[FU=/:BjZlAi7+91."j%;_B78.Q'4h %gaf6Wk&lgPbCuZ;-`]@j,q*MKZKsmh.B:aGQY/F]^MQ^e%@*Ae49BXeJRS$]@_/[Z'D/&5a_g02TdZ>2-)G)-9M6u`?YRUs0l+mJ %8`Rs.EiX:7+Rg-u\Q)p'&@7Zb\U082gKKQAo.s/g$VT+=Os%>$.;HRV+%Sgn:+UiC@a&_#+\T'^_:I,_c@)N9-dr-!6oCUYSCq&p %jCEPD/6pk(Q@rd;jg1NekIQ&g7K:>]me_i?2SL@YWcjfj(HiXb^b/E%nKD\=I8Q2lb*%r&FsodRY)$4T`k-&19hWJBX^AKuBGELT %d?;sG20'?49]A[0MO^d/4R1=_MHiaipnAr[QJs40\(,1i#Xd"$P@6%&=#Aemk>f,d6Z2K-Y1pqJC&9kK/A$j^U2<6YK7jsgE`>Bp23N;Lbh%!iu]bk'[=LN0]GRZNAf?9!26ICmY"gGR72!"&) %FJ^3O$_hTh(,dQ?ZO=+D\OMc'.^1O`KF/J*mj=gO*/-\t79pAN,`Fogj"(Y^$Cuf+$-Xh3ZcYRBD>%pA.Fclj9nJgUF-%_ASZP2H %b)J2g_G6mVKQ87PS>J1ZVXF"F#J2lDS0et"EB1%gj7:4S-_Mdi)J;qh^[8cSVb,Flh%hi.cci^>b.QhNYb0LVihT>Y9ro1Yeuqd! %XL.R=OYj',';\ap13!A1ZHK/_BkeS;+^>+,[4X[Hiiu5;X5TAM^L@s=f;,ii-Zdg/a.+Wrj_DQ@T[&/5;<+o!TYk:f2$\f"mST7sFoNj=[GflGOit"k?$1=fMK]R180odo3BL-\b,3D6+7Z.Hf]'qc]&%&;c7ZUUE6d^jRBD)d*16PEO`L960EobT["g,MDBdV^@te"dk?Mca(LE8H %2np3W'5+dc$(Pe,Ue]Mmg_iPkY)\`AcQ';`)10oO5f%JaQVZ$#2P%/sHR?hXU^F(8[HJc-in8fhh,h>.-JShQS2:V`FV_B#coY%;+4m1Mi2r(Z8KWn[1#XPV^di %bHN=(k"pF+KiC\N'/9k-j^jX_iNbFA#ph398Yl\Gb-7F.3).*nl6JUu!RFM^7BF0'Em@OrYDdMI[dK*QM_7uK>>kY\\0sqm]]#i^ %N44!)L!"^GbXI`gFs9r;gPOSGr'!D/c%OeA4IRk\=%K2E+Z]1#F`p2OIJ^Pp?=p#le.11$1F%3%_bB2siPnk&he1cL55?U85KloP %[[VMI)PO`B:5`6PHPds$LE5O4lr!V90a %QnPVIUlN;`>9r58#LX(S]5o.lppT#=(uSgC%6*0J1$^KOu/1`fOeV6Re@2Mcc5&o"odLQ&dgU>@`XJ^p/cR`ZS.#R=DWu %9Jrfn856IZRpJ!IDu""Y%!b@-`L=_qZD:7Xi%T3UP`aSpTnnYk/"e*;S8L=[TIM9aP+d?`="iI$-R7VVH$d^gXG$bkI0!A %)`/#sH7D^sd.0"i5M4g'XbO.,FWqd:-g(oC4[[o`l[)F$&V>50tNQA]( %QH^"!@X9ec->9i%'0,R14J=MQ)C\>,gfTu3NtQZplsZ*faG+=hRa?,(AP5U@T.=$%3Zl;nbO\b*p$`?/MNH2n+Wnu9os.&N&!oS, %B'RZB`\Wlo[XKRg)!R^U0O'I-fhOb.=3e'-dX:>W_,?Q,M%$WD,,uQ.eKYoOg4%WA?tkT;+&mi.n<.#V9Ke^O6SaN]9K$ZDWLhU+ %bq%a$9?\EIb&o1e$]_=(L$9FLprhMG!^W('f[5!M)#NhU.mDO"D*,@kAhLr %3PVtq$I3\*0Zdq/>!@XDcSebDkbReZV-MFQrkgDjco/_=hQ4P`@^=$\QlFgSW0KB+\tO\!g--aGk`OSdcq$fTik:0BAQUiHaZYV!IUR,UNFD6eUiB[t?^;9KE$([@H\mNFCGD;Am!+>:q3CH(t*`,*GD>9*VVWg)nHb.t'LsGipc`E9]Ro.l.n1YVcQ(#p^C%,mDAQf3g7N"'7eIp?$\H9a6f'Y-XC)a8\YVuiZ@I][Q>^V"HWYq\$lPs*m[28R.,cO23 %YgB*BV5fP8riK-`I%e$Z'^F\7UNBE5?@?ed^$9[FYK]8>or\%fG.t>-!ZWQ&NOQ3YIAG_OGrI/?losZ4Rf?oXpsT7Tn9j-b:\g5Z %F8`,&Tu`#;]_X)$E0+I3]apPkVWqVR_aIceVYhX&go-[;5ERn(>9N1)K\:>VP.s5lN^/Dr8*SctS`>4R20smbq[]ukDgG;3-<-S>AuI.71d@hF %N,9.Jn8#H,ANtDq.us)>^XO6OC;>On/ZZS@fQt4Kb5Q(S\(`PnDm((h`V((sgC&Y;#NP[OCZ/E!?no+O6E:&,kE?Kj]:l>!:j7,N %\m*`J2rKkFf"%B2`cd-e_X_ZEh]AZ(Qd;!&EV=uDRuB;=`UDB,GcQc%T4<5\ec!6=jR$+C@5b1#dMJd-ApVX:S*]L9q(CFTKsOKW %DZX3*e[F/b5P+i]Zi=XlZgMbGId6pAZUpPQXR2!)T>B3Dn*Gl+NnN)_ZOKthKeAq%fK4Fg^/oLOdVPu7rI&`9ikOdD^7h4iO1PGL %7fM$]jjk[m2R1LQIWt6n?[queF7IB"_8XguFLh3UnZO/d/O'1#oO;h?d:Y'o>@(R92Q+l&YE-s^2G5n(nqXR%7uMj7)nOj[^\n(I %]t'LfH+[H*ceFsB?QQD"Fa8)=3k&-W-gR!-j(M^C=*<-B48JF) %L;j+P(17$DHTrGkBtjT.l/@OB:0t)anU&-V?iP:tqJ:4pH8.V^i.8t1a,utEJ%57-1]4*$?_/9FNrT+^3aBF)/KSg_ %cbEV1^-!E;B=%ABF1BqOFT()4qW!e$naY#mc1:4jUB><-jZ$Bb0>@4!H+[>U5DI2XdDtD9ioAiB5$C(YGCSL[l.X2?:HU^F?LUC% %p!fb]ApnuMZj?Q#iTkB+Y^;RpWF,6%h4AME)u,??EC5+0qp^hSnn>FUYS_Qf?hEX6q@nj,rDR&E]j<9s*NqE^7+NscMEN%aT3eTP %2iCb(kH!XJBAnn8\bt6V>1W(*^&%N!`C'%5EOTFg^P'S$cb=k@)7d`VMU+ILH9!aHYFiHE)tmWg3c;I2T5YPu2rCaof3kc6auH80BDq"CS7,qQ"%rJEN3"kJikGhbBWg[i4+0;W %YD;Y?r9`dA>PiGB^>+_J]T4]bG:VSDpnqD>Z-9Vf`U?RfS/,5g`IQC(j2TW)h(=!k>^#GFR+[&jI=k]%0i,YM^,Pb#`l\5Rf9,&/ %+"r(%ZHSN_iPIMq0Ch>pUlQ=MS4)]Z3JPVgo9QqeD\FYI>^WT%@Hq/_W],$^*6A)grN%Z5XU_AeprFYniDf+9)h3eeb+F4^^:)*_ %2psZ4>tKPCX'J1Qb29B$Orml;O1,D/>*k$67=1B4r1fQdr;BoEe6@u^csOe(Hu\\on`p&/a8^=orlZa?)("5j>AVgTG#"7o_r%#gIehgboS^USc5/Z!buQ\pNQmVBYBE&pc1V:*[p1XNf8T7in`oc97iLI/I+_^7B,\h_r07App[KoO %?QECG&,ZO%]n3Nb43$t[)&lK0.lN09XI@B[s3>G`Du/aaaUM3ofaeU$`L=,o=8`\;gLMh %2oL-W'%)h_#2"Aq`g-\q3:7X<*Fl]%`YS"[gP9?VKC@u^m@EoLU,21JCoI`kYAJ=E__F(,V/XK,meGKfn[3JZf01`m95.$R%I_Hk %4E+m*$Z)O!Tb/^p+,I*D%g^^)mhje"A%Nc$f%r-i&'EPad'baMp[e`!3>XmZ<\:/OWscse(i11d!n"Y %[Vo"0F[J7N %DHB6GKin@9Hg8c>0!4E!YMBt$]?r0Z%kiVshW71\Y?u-i5s5*:R42,l"I-iPChuh$KDYXKcKQrG8UmeL[a?lm/Gf,e,VscFI %XE"30Wd2Y:DMt^SjU$*FHG=CU_76mP4f,Y]$1Oh`5qVDdo9Al$`J$Lh&^G4!9PFeobc0lRj:;_m6Fhp&s_X5Q>\RZZj(IN`Y$LYI_m\ %pqZV&1dd`QqRDU^]H+:pn#cXXF7W!,h1oHQiF.W"*NncM>Iuc$G*`O)J^+-f57>g$pLP_cS[I@oX)Mo]D>3MQb+JM/Xo7c"+6/Bb %h&]q8b67TSn[7kH]&q4Zi+=-LD@W,iLA&NYS_\:m4-"JW*:5?`i2=QADGO02FjIY@SWJ$8df-4Jg0JU3Ihe8-$>HZ'6&QhjVTKo` %]45Wc_q$`8E<@2OO.Z9ps#@X#:%#GISW=9403=(pGj").H?2+gr/WfJ=$1C3I!0mbH%*#$?E?'rQY0r@LS#So^-4Ru+'Mh!bFlj> %IX-$To4keZ@IA'"LI[]oLfZIF'Q/=,G:KNJ7bEJ^Me`HQ*:bpMW\T;\G5<`3k+!82Q/C2$j3`nN$>b6GO %pi>00f5jPI`7AW"E-\g_:O]n3N'A:UTD3mgNdZ?.%&msX!eFj0L`In'+54]Kh:oP9iB>.TI62^e.#e)Ol"cFL %5='Y]G`_F8O"/]T5&\$]ebM3/dgHh0k8iFZ %Vt-W\.6W0$1bRdtpn+Y5`Zoj0"WtiU`U_XWM=R+g,PeP@rq"Z"k4*hJ\_d/2p-\H?bW>_-f>DG\4Vl$4nbM%,@sQsu30.)1UXk$A %J>%,\TcLd],>V;U]C*^&s1?b/EP2l!YG(`o`kC>8FnNS$ %G'[a!pZ'lc_iGnSL"c-IG=d"f8UgS3db"Y_^Y-5+6M$`- %ZS1h.:QJ9$Ge7%lhWiY`VI/f)BsW,.4K<HA<7p3hEq?E<1_IH)DuP/SphmLM\7Wn> %4&,PH_(e$=K4`+E?HRTeY^i8!?_8n\DSD&/X"iIDbOIV3jlP%PI!p+WJaYSfLZZA_LJ]d\\i_8;n31"FZPSZ4QY5>3?_T%L)jLU,iMrb>1LHg68PZp@un`7%&qXhl:Y)2[E5PoBZJ,Xfl^Xmu5m,+ETr?C%;YJ9FQs6[cQ %qL*VXhuco,7RX^&HraBm431I5CBs(S6!"'$NT-Z+9mqIVabN@rlF_leda9mCt4ON8V$l=faR* %;gA<9\L2h7bOn*e&UX?"E5^aQ*jH4kfehP2+%RjV_q9?Vpp\#P>$bP5WR=@E*1`T?(S,)@@=MU*aXb4pp3#6FjnES%=r12"IeN!3 %iTjjB*^8:_n9a>k,Z)5SmJ?J."t/R*on*Jn5@0=>lIk`QF`FZq0:olBlb>,'Q@EmYIf\RZIqYiH4S`E2C4C3/5E+oS=[$3miU_$lVrLA1h]=h9*YdPclR0Fa.A-VA %QIXmj@V?Ol*Il:]AZJ#J]7)K;$M!DL(kKXjI$pq:s%moD&dO=HhG4 %*i?MCg>Acs2tn\mS_^W^Za;Yo=HfGWYL<+eXB[P %4G'GX'BB!1"8L+o;Us&AcAV_&g1e0E[.J&NY,aTBmE56n.W)*Ai/R$oMpB.ks@W#DuR>n %76M/ub""MBNB:@JWF7`VZ;dB2me37P5L!;3HI/XjUr6&;b#t6dJ);@gekPQ-Gs'=>O'\I>FQ!RPV+]_Lo.4^O@3^38?O0>.=,q&5URloG%9L[$18>+CkTiY;-:[5h^5f<_=[FhQV7]HB7 %n]1OEJ,T\i(Cn/^ScA5TO6hd7+7&B$h/Ae<:Y#c;-_n3Kaf(]cqq9RCkMJd0"M[sJebFJ$mXM\!S=cqI9,X/EiR_H9E(8r&I,_3Q %TDfUp0q.#"57d-uUUlWkbeHA&4rkS)^qUF-Vs!dRrB')1X2/29Y5`l(I5Y`5Dti1#Fg71brN7/[IpWGpZR#A`.tguOpeH5+5.o3E %q"`G%i1$M%_p.Jrg2(WmWo=YgIa<:EDT62]>7TSgZ+W7hr0bWU=Hh*K"UuI4\ZiY27fOl>'(AG?&#'[-ha[mB$k.XISK;'I%VU,TN(JR[[+"dRZ?,@bkaYlL %DRf3SFSbaTe"cMQ7Xe3tD1;19TC$-9UDH$S?Cm0T**D4o/%X[k?Ld.RXEslG3@W2j^N"?XDN5N(E4Z#t0'(bOpAFK+[1SK"m.>8i %rMN/To,IP8rQ'oI_>;Z),qG&M_6n2D-TM+u:?gO$buU-Wm%'H.Dg9=1S_c).gc+X(enAUEeYD["F7oF*eR->4IWBOZYrk/ta8S?;4!>jU>mBfQ7pGs)7VA8"%n)D7I@8i"@ %h`go'e'$e3lt\;rg@;@N''#b57TT;#ZT;H1^0<2'>^_+,puUJ^`DW`lQ\X5%GVTM;OIUJ:_hLJ'>lDq;(W*Gi6>eUZq6f4_"^**%Y;kMqA"hm[- %m?0uc\#/o+o1,:.Qge*D %p$m>a?E13,9m1%$:#=hf[X;5$H1KAW=#]g$9:KY=%Z@[TfkRiQ5;/dO]R-RWH"Z-aAS(MB'NMs&:TMq'5%ZJjg=l?n#-3BcEN %m$Z1$kMP(a6o-nd=o;PFNNGYk2NDWCoB3N@^HGjEI(LF]pNj0ka6*@CT)\2]q,<38oae+P;hY-en,.USnC(km=.bLo_R"WpR.f5, %iQ;Na:@P-L2FZ\u*Bi3Cp[\+CHtuZQT<0cT>+I4jD>/dJ9R!p-4=k6aUX'^:/hbdeC>X./X8R6PgQt"1Y2*^E*,Se35Q,CYW]p_Q %N1W0m*4OJ5:M3X:H$m8.*D.5$+5,%6B8YZ+ea]i0(ZR86?&sRbQK,V=P?5-i$u"IhI8[PUs841UHhckY'5nYiaqbigea_&OC2kk. %DrW=rJXeUSE'YOm[mHP^ioT`U&e19KhL@9:(>&sWr1IU*O!M?HG2GP4?bE7iTKuO$&dZo*nsQ@e`?.SFPj2"o'<'g)e:?OE=+p7e$S_\e)f9?GE:AA %T;Djb*IY[`*l%8\PrI\36d;P!j2l]Ih[XV+7F^QierN^D=J+ZMLs7jto8)F(6qUO!`lItZsXRce6.GM%5nGV%XdiC_`X24Z!nFD;)M"bmWA,J3JiMm1j[8K*?3oO*M42D^6cJn]m+dNq/Y4lYheC0ph]P:>r__q?)D5_EGG5C2n7,S-t/a# %gW2MU`m$H+^%)V9?``Wc9Y+?^G]UA4(PD6"G5SO.l"n*s4^DE"ZTHhghi-1S:c5mJ4h.3-l4fE$i>W=(Ga+/qDU>GPI6IOId(GhH %2eZKorsd]-HG0?5UI2:nb6H!#ssmC#)]]n3mtq)J,^o$?Wgj2&Gh=e9K:bo=)> %^G.p#J`OR)ImSou\gXa%k'9]1];Ehh_sUh,K?`@B8;bI2Z\RGO@Cp;e$dC;aNf0Lb:7X]g:+>C>:2;Q?Fo5,36M-Yal!*olKIkR1$\"]Z_QPG/p\$b/2'\UB]6);Z/_l^SZk9q@@^7k %$n\W/?g9r`h,u?n$cSm\b*K?Ed(E%i'taDL]j?o2N.e,X1P3uS^/gl3_JF5^3^6tVb's#@]hPI;9,&23nZMQ5 %`_ZDED6I)I;VDA@QfXKfC-J8;)FDtjSH1pf>#-^5kDc,!lW%(JcXf`kT?U\VrSZj!Z_G_:lW%NiV#:(\4GbAaO2AoM0JE-g.$`tINM.e?J`;"mkQBB<`FWK`M-1?IoiD5LE,*n;e.rqsq/`m"&6_o(:Lrd)]9*h1IaZR?OU %o^9ohmD@'>7]ZHY=A@qhREL&YGqeuPrD+4G2kK,561QZ"0JD`.g<>F\q7P!(*OdX:V#-Q1!kZlP^joImq&,]c$gg@:lQDa!b&:uGa'&#D %eJ,s&RB:5_DJ?6pc^]1kMhVbF#n"?Y9*k:@lO*U9XONU3YGIH:-@*=u/mqtO&nTf+c7Y20_hX6ncDU7H)'&#I2/CSpr1f_ho.h'H^WgATEj\XPQA.d^3X]@FrSQg`r.e\Y69;-(sP %D\t4T[FTWj7a)j=Q.+/V^&!%q;gEZ=$B'reM5P[]EF&bLY2&==Id>J&B,l;KCmK75o:,Df]!]Xn@hG1"50X#P=+2g/H@5J3#.1*B %GK%P=TBXe_`_V)/BHG;Wk[7-'BfBp\3WR:TWVj[I[I[GY8\/22XU=aEU.d,BFLtMU!dDk$1Z_F(g,iARauUp$RL$nnX3\IC;$k8% %Ushf>;7bElM.;i,?]2DdeDk/T,V0t-9Bk-q-.WYe3OJe"frh78^=&9ZD?$`(C$+_>Vh+o=IA2HVW3q^SM]bt@F"jthFQMbtf$bEW %NqQ-B\THi%KAEs0@i+Lr7P0t?2uTVlHu!Y$@YrOl<\"7jB#Uj;RqHYg]qmY.mkrD_7hD,X,Y/AUCRB0lG3eDKpVhGY4dRoSNS@\h %@?1dcp$c(ef8EGJVl8NlX7sd.8a.YncuZr\=5#mOGW/sdF%`=VCdS2)m,su[_G^1]p%;3iC5=--@5IRRK7@'9@8h!-fWU:@AJ9N`Y!C`IdFfj1Q0A[lidC?XJ%1nmW`U@W_QU>WbJ)qB>6l&c %#4/B#n#c#qYLb7NKtmQ)YRJ*u00.u&QB/$^KVS-k0/hZja1bS,kS)%U.*%t4U2914jT>H(6n-J9j,9kSgaW<*Hr\idkJQ]`>]StTVMGXM\V.F/on2jlouB&&Eb1uiB@C' %--DJ!#hUd<,(JnS'A3HM-%I^:f]#$MFH4LUQ!n.L"2s1h/2gP'KLHBkR.4`pU(VB(`ln`KTU9rQn.!Ds!9*@*6V,mL032=K&KX;c %\jGssc^&oY)=7tZHQ=Nn-Rr@DnM:jZ-^,1C=#M`,HsBR1j;0$9.3"`#@tTWI^L:UH<;@7JdZj7['#dD)&U.F5Z$t)NE#`tqEjt^;n'f-qq>u8q %j0.0(p97BEZ;Ss[2i?_oVeURm[V#D;kUCB@9q*il$bJ6=*2/kNM1Eqe@pAQV`nGO?62gg6ZCjJ:MPo#XX.*ZP#meuRjh9ZmI!IAbogA/OYgF#) %+$)Dl&RtVPD)5O)J(="(Z9`#PK]D,HFk63FpZ>muk@bO]*MelRVqmK.TRtR47FUB(!mi@1CJPc-rPoPZs$,;dp.i$cQ=tnqm4DaE %irOU?Ii;\CpSO?]<4:UjRfPgt;Nba]7d8jER";H5^;Ym+eK(W6'K:<5H8sdd@_F38Jput^D5QlO)..n(hqV>?J!GfJk!A^aDd+(b %7!9Z;JUf:Z?uTD#PEt8&K)r:d$a#J6!N0YL'dIMUqGQ]95CfK[YHR)$lEsA/Uf'gP*sUc,ltkXtcl\\qjh9L0Y*;-If]F4AT-[*V %gBYb9CKho\f^abd#*:-0rNfp\@?_fK*.]"H1.^i[mWD(#dQAX?0hYI$N=+9"up5fqVm/ %2$XrL-$+&^2gB;?I-4j/'T:MI`U(&T*Dpl:-!s %QLWT]a2DaDm*1+Z\q!55?:cZlOTiZcbUE:PmA+7%oK#$bdL2c,k@Kkb19L)HcAB7)#O&cjP1G-\2%Zu>-]S5*k3L%9S>?Nd#,*HF5N$&3HsaLJ8+>UM.s %o2"o9GPO9WYZT3R^&tLT8Gg^I_c4GfuS)t8M@^%aR6nEbd,!@,25X(CG$8#LXM\b`ld?Pec9IsqThRkVfWEUBZ,LPW.8*p.OH8'/9FIaM9W+9qP) %1:18hO,jZ%ah99Fl*@.3ok\L%DeQ;MK]Y=?K\DqjGZ$i0lUHI8Ip=&"o/c0fGJnA!$dXbT:C4,s'-h4lO9>_0X %d7b'eajr7hA6-+e7V02P]^"Gb^3\1d?\$o/]ap<3r-!=?*0cNint(6J'!qYu1C&2ecV7,Ui$DqAUdQ."2]]i'73?^k=:f1T`7XlTLSC&YMbI(4W,?`O)bH39U\ %B"GKkdXEYa?el[D9+GI28a1Mh/)[/XkGTV:DOqfi;WE2k,I=+'f"f"IT.ccF-;"J2=mKLbILisKFfoueGh@5U?I:\-ebjkH='XC, %I<.C2nB[dd?11bfd`Xm\^IqHB,g9D5U`H]C,?lg&$)4.6X.[!a\"d/q<5hW5JP=2\"p8m2S9c754sl %:.]u:G$(\,*d/^Z'-9@X'"Hf1\nr_Xn]bNek5)"PptF.>km(F8R"Ma$dV%f!jc9Qn^M*h%8:gL\4=tA\A?_kbF7Deal=,)u00tO]8A5Hr %+N0&+Os$mXpOK5\L"aFI=037i^:p_9Z_-I.BoJ/mB>o'u398pbApNEa_a,?D2CV`:@4n(0LFGF]Z_oXEJN+kWIFGFcp1*9mm[3IWE(bm]cUMUcIGi4\`8Qlo[-lZ0?ej[R.o')bU_Qmj@,elW(Wjo@8HQMo!7a0hj3mI>d4gptH&HHLV'p<]GG.2f\o1cg;YLV:JCFkUEgXjtj[O04KPIC6@]H+mrd@tZ^F>hYCFX.,SOdt>VKmq:R>eaMX8`Pnl&E'*a+N$)]H+$e#A %^OaXXr$q*KX!]MGI!8c\V,+"iRi=,erCm%1:SCsmp:KMaiD%'#9>I$^jm&&09eU)TQS7(8pO!FET_\'Q;Z2/fj$5g<<0O/B\/su+ %TON*tZWu"XX0d'N3c\6J%pGSui/N62?K^\9k!H-AE4@%Hc0ptUF5gWgo_c&uoC>hgZ[(o&mHaXurV!8kN4U[)'H?-pfgCH?_E$9N %T'XX4j0=\-JVcT`PreY8]n('B6+iLIa9F^!=Lc-fKCaEF#6LJC5csGHmAGo`:.g:3qOpVFo<%fAKTUbS\5JV`jkCG&;-uYn,V3e^ %3HCi^XE&@GYWDe^GZ`+[D3dgaFrfPd]td`@u;7S>l'HBkMJrQV3srO:IGS97,,q*823eG:0#d&A8ioYDISMr-YJL %T0=?J_TAAE]RHn%m9I;E%F_Cc#/[O@Ihk7a%pE-gDl(o9H=qXZK9q/P*4,ZcSUDt.BA+Be;mrG:sg+40s0>$E#:WN69H#RVn).##r<,;5` %2:^9:0$NMB339M9@;TRHc:uH\@#QWE/U,KOTltYWROrY_j1G!=eOK=-9p,WTHpP[ZrR5l7uM(Tu14(@:]m5*R0#WRRacD=nCk\@V"]U)Wp/Qf;6CJLEGmCs&g6+V/u*PX7G#?&i]_( %XPIW^DeHuiQV[=DGOqRC6KCk%W=-`U>I:O2pH+?42C7?H60S9len=1;iOSj]dB7rt:PYL?]_Q"W\0FRoFWK&BNUGVPmB>)\MgFXe %o06Z;G1NSXUoc]9/TlRBkHk&/37n>:qX4->GkQ`=&2(C=:W!EQ7@[@>OB_^bMu5t4a5ss"i;\$bK@-B3tEHY*`E$8#hu)PI=)&o %'t.M)MjK3'^%)nh%_`02KTUeI*`&3fr,?[aDk3+0:TVa"WgRhZF=S$.@#]qahg'f]TK7pOr/3IfN7iMu]^@Z_AN`X6M,49Xo7IZI %GPQE+/AW=cNo2s:Ro!4^ro-$r.VtXPm3b$`.%FXM3n7XhnT65t607NmSPf%m<^H2Ca`;&4Y=G#l*N-bBp]u-2Uj\:/XG,9d=s"`- %?TsPU-]Ug%LpOJ78r`j4df._M#=!F'em6n5pZb:u5D30(E#sNC#T?8+p#RS7O(r]O^'kQYp=8*BS^BS\lF!T:im:hi)f"^MqY)D5 %T:MU&e-i$aGaF\KiLJS&Z%Uh6eBiD(mDJ,da*m.=jh2IA$BS5LB#)ASiG9N`FO0E7Fqb189fV@PW0?U*-5!in0a)0B]BK5Jj/SG@ %8BpX3b!H'13t(^OFFW6.VKVF>G9?kZs7q694'h`_lf4un,;;hm":h1;Rc>EgD&MNj^7+mE;-!uQF^,.3Tg`6/7D6-FbrqsP^r_rAPpW5" %&'o"U9YP`fdstEn*+GbA;!(;mP=Z9_3gYF[h2!D&,mRU2U$I?@j>hX1Ul?&L"@jj`:ds&bWI=1t$bp:`c>]h3V4 %HhO6!LGZ@4^9D&kKm@[EderBUEQ90#EcreZ9jucml#ckqTABO/G5RHA&jlQ^WZEipD'nf(fr>/u]b;=;gLG`/%AB#&Vt;c3)G>;] %r%jOBj[d^<.1^u2\!:N"hV.'qh1bKK8SIBL&Wt@cON%pHl*^5_[XXX-!3Q7^jko4>q-b0> %;UEOAp@tL>r=_HSM]LbeFgL@oFDI^rF1ld?jbrbGkA?cOU4!n#lg'tmWWsZ[1k_pdHd3_tp?U>NNbQQUUpufodGCtf3e7G%-4Vg$ %!2O6t6LElE_\];WSXYWUYB!a8f:#q=p'OOo7_dnQn)^oHB[Z(g]6Q^m-!*u[mZBD]g\HO9,0eh4!=PV*YclrMdU2EgOnM!%Q9!Bc %eVn.:n]SP&1dbG1'A)&t0\bt8Xi(5JTZn!_V=bgf'p)IFL/d-c[)S31MOQVe,0YKbgW\*eZO<$m6Ael)g=^BIa?0@R^-.Eps.OjbUU`IoFu4FA\IeQ.Cessg%XRt&XPG6"p1`OWRNuTe#.Z@R8VgG?apMlC.Rsn\%tk4n#hiVM@Dd'8TX&*JPVc'cDhTVoR>tCd=1ASQo;9,rG]Len?oMZ\$gD.@o"21hkoSk %UWeYXS3DhZ$UYUi]&,L2pcW7nY*sY%#!P1Ag_\td:G8aVb8/'ET&1ltp"@-YY,s]Kbf)o6eAEJ9aa,_iY.HWS@:\V]Q`33kW!-SS6(1f$/o8.OAEWaFU&7sf]g'0)XLfij^?_eCKAr+UA@M[-9L+K;/aSF=hMVT0dIdu)Q2jON;.X\km3CsMS$"Q,5= %1S.H(XdETtmG7[[TD]oj=p$=rT48>O:W!2$5WEuQT^=uQSU>mUSqG=Zh_?dtYqY;qRCiPJfP:&]ifG4l,GEqG:0o$d*q %fh1;=(Gs4-d/H$T%!c:!;dr7E>FFG!Bf/A*@8U%NS'd-?!Y&'2T@&**]U=\M5dM.tN&/3XUrh?chNOSu[i0-Im6dtW:YYAnFQmF\ %,LBKZm.:3EETs,h_%*"nFg4?A)2'D&e?KkPo=JV=P6c:^`gFN\mY;7/EUj7J%QY3u"]?3ER+n9mgFm>rQNK;W%q,W %H7it%1%6d.e62#Fbjrh3K"kg*k"uK"nhPN[B"i\ubt,`r!U491C%L//loA^;B)]L=_WuF+(7X %\>XWB(JIj-&SkI]L92=uHf9>ST7E:KGlLp,b+F(#.Z@KW76E9jTdU5'25Z2ALc#``qEgc2h[46%hnZM,7GKie*h?R.:MONB=6qQ7^:.#5i*lS#g:YECuF=@ %fgL*-,g5CVT19V!jD0i<=sQjdkY5-UiQL=T(].N?)YbF7RE0Mk"D8XP]]jR8a.XOFa/D4ZnGYi#0?C1aHIB\CN`^*K6b)CNKRY@& %$[_.-ToJ4+:##FPm)q&fd9iAL],*;s=<`FIJTom=ml(S]odHNR7a--7_VC)@d`4JI0$'@_l?E`n-p-M^A_C0*V@FECP0X"F3%AU" %_@1unkMYD.oHuk0c?jf[V[%\%cFk\GGmP+6"m&teZE5[`#g0V#YVCgW5@+DbM'XKTUnCiu2gM[LE86$*GeN'OiXF,.'$-^SU.H;] %V3ArN1VVZa`;;a6>UtKf),^/)@$80\Cs)-bC&i8p"m=h %GS)d$Dhb%hKIM@GWmQiCNFkV_j*:'"@&#S_/E.!L!rKZ#)b=Q#q"#"Q)U+YB7N5S*!RCHYD('VEi(U<$&Ba'LY664`2(2[(%9@HU %Z%S`.i%dX>T4&>=F6V'/7o?ShmerF_o*ja#Z#.nm=NeE@-GP2`:diX2!cl$Hj!W&%"$`BG"^oC@Z'9&U&ZB;k\bj2pbf:Dj]-?e& %3%-IrSkVpF)J1grBWcb+'[";nSB86*&Nsj(AT,HloEB-D+]IAGAN%EjgZdrJ\S=p3++R'8h2Zs[aEI>blO\qBEd+XR6nCV9&^4fMP+7u<6=3d,Pej>D$S.lLWukG]

JrZi7s.G*!r&n@j4`LqeOPm]" %kQ[0gKJdl1'm/MtNNSsrD+G/90\]=QrOhOU4n-:Q5b?4Q&\@%ml)g!&\31q9?E3FMOak%^[d*O7I?F\01VFT)\$[;rl5XSe1%n\:IQ]:CVR<=7jV$fCOBR+_Y7J-)^"2<7TI`&*hOg$2(UE.M-_%69*(<=,;N>/?1KM6_m,/#1`&a8e3$r$m(GRB %'i=jf[2"A^+7n:s14Iq:-tu@&K2%l>3m5d$%kSR%fZh)CEnnSUEAGc6U`!ZClkZsEj,T9l'tXXiVr8!n%W,>Vh$i9M9h0m\2,?)^ %X&:nq0_Z>6EHoIb?MY^Cq%uh=h:9OQH:]T=_VTW"GRNV8-)OZ=[M?(4E-,n,`:@-U*r'6_WO#HY_`-W!P9tj!O*in2raNjH&a4BA %*5(Y7_`W7udj.fPsSRA"M@O'&aUCYf(BYU:/47Ohd:X=(LND=8\NV,K#>g[rPTq(RjQo,HJIK-rkGeKUP6i_bHBt$P) %!HBVqMtkV8W-#43#keH7hhY\/Be=A0(BhOc8+@B<7NIHio/o!4,?h)%Y@cuf(iA:c:/8(HcO@qB1uoDBO>b&a9lk?s,f#i')gNja?HYNc\ScLRk"/-kV_O5__6 %X%/SG#gI&V(p-5L:/`0JZUh>QU7no.hLd^5rCoEp@ekpFFlE"4j.AR0RsI'/?-p2*IpERD6(Pt3ol+>$<<'*B%^X_"8mmR%:ssOr9JYgn%#3p,4;Z#iC9COn0dmJXqduC>:k>+&*JqkJsLP`P&9d4H8KSj[O2\Q\bAJrq3FnO6lphIg(QJ=p3U`K %Ui&GO2FpMJND=GuULl_7S1&M*JP_^u7WA@"P&"_Y6c^>Dd2EIPl[fdZ_u#uFGM*,cGYW_6&++U:IZKj%Nt;M-HVTVL&OX2*aH9Ji %<"&e0kclmlH7Vl$cb?-2@>Hk&oH#YloOYDE3=VA6N$gdiouI-r:C88GKkOM',b3d;JHJZr$JK)THmJ4&e'QlQC!ULQl0N@!$]E?J %%sAj/:_,$R`Tc8t&93Xhk[<@VIOa+r0)777A]WMbRN?MGX;H+r0')3sOCP')V(^,68*7 %1j/.Z7d1nbICC&b:+V-k;E0.hp=H-[[%BR)8'bP,_YML#T9mFn5&]\_=Es0r7U.r>.@fu<+tA?E-`(cG=bV?%$Kn$'M\r(WKfOl_ %OYVe+'$(>0pggukI@-]qLOkH*(:%X_EP0Q#ckt;CND?nIgG+0?Y=]hVDK" %)(0V[Q=&/[7S16^kp!Y*bh-.PFg@@GfPU.eB?Q]jFs'eWk7^MYc_(V,jm4h*fWA-Z6n6[sb@)-/M4L!8]-*oY+\3P4dt-"QMm\Z2 %3O3V\@Q3E@\N.0fcr1!(SI-lj'D!9@mecbp5CtBO[$d>#Xa_3fluitAFnQDR@J>%l(l3::fm[fB+`3"la1$72N3p$Ad0M#dCe%gE %#su5dY-=[("bGd1VI,k>(F$T&kk?.A._+>7/t7tG.d:74*]KWac,UFP[\BR_HN2f::r@=o&[pK+4kNG`NQ&:pZoe$X2l/[4GGoho %-GfFYI7NLa@pLX];kl7KNnW[4U=[/m8^?eY&YCjZ,%R%WDNYqh$[5I-]L?j/2'e_!3QAeI;4#@Xmd#eV:EqKS$QPer]l0Yu)i6Vi %dg-\!kSq%^>B\r4?^TM!)ZL=A@tF'D0GjjOJ@$[<00cHjm0To?5,M %n$J^_Ra+>;0!i:TO%iSJk6Gb?#pI'^VYd2Y*j_<\Dk1KJ/,u]>cEEPZ)=RT"24\)+?,XE>@oUqQjk?gUf`/+Cc>RkTe,-&nFFMMp %F78>M<7CZndKQ.!5=%0_E0m//Jj#sfYXCj>2n3;rs.(rId4`i^&CGXh2%>Y5H:S"D.!::Ra-s2[Q"1eeT@Q9\c/IpcEENdn34S."2LEI!4qS7 %)sc^bi*3jK0<+U#bn75Ml$J)f]83Y<#2Nk^qtoZ5](CWU4F_cd?*JMbND;^+jB-N0WT;b>M)C\G*K,_)i$qP/W-Ss=Pc%/Or_IGE-aI,.cjM\`PO6G.Gjg[7V%7 %\I5FuMH37aBnJhKrabo#]?038EV:./QC6)N^N3jr^+7-*JAHiKG+lc=6Ck[O?Q@ %g+N-'CO'<$bNYu')7[hA(Y"H"HT6mIZ&B0FkKjWbUdDX@4.9ZS.h%%hEC?r_"=t_N%`d3iL=?N'rOFpKg'q8:Gp_dX-c/5L"39bP %2H8%L:Lj.ZQ\A_Jh,(md,PHa[h@0X]7d_@V]Gh3.7GH31^9O)Jhk*k3:;.Eo2[Y9Z#L6sH,+M2J]D=g5m-He.$OJ(,6^@#PQ,9;3 %fa1cV_V1YE+M85i\BY6'P6F6?%Je6oHWJ=qd.26:sTY*l!bsqn.+a183CPrFh@DA-^?-5PE3cY,_eTB %qgWa@+["Bd?6YC\qaY.%<#r@BL)7$flqT5_@CnS@JFa#D">Dg!hH%mo=@24q_Vo`d0mCh'1h/F02q)EpB>)^I>\GMJZnj_1D7Ct!edX%Y(9mMq\@E8n%m^f2Boc_)\i@aK2=1mR2r#>'uSna;9:QlUG?@LXH %:/LR$\Zcj"NHTAP;&gU"2r3p0CV?!olD45#X=rB"/VbD9S1B3_$b\QB7KgU(PBtM++^-ET&l*BtXJ^k'2X6Y9\h7okqKBUt-KhBW %.Z!GQ(bVUR9LOQHQ?DY#`%n2<781hbCMtK`Y[UJPR,!<6OZTs:%H\t@N+jFMWBra)C`c4067Rjl7O_e=/pFtRpM]*7e$4dtJp%^a %h2*;@G!*h7Ph5D"E%8WC1%[IWnaqdr!V$s`Y*FD(WF?^ZN-cf*=P#\K.>.T(ZbJSjlASd$ri!j0/F[>QnU6f%hH8AmNjpOAnB2_O %LO9T?@77&?*aRe5?&Dn[**2+B1I*o3:#-n`jn`E)gY24,ohDNP$QCJDRJ+Wd/5]]t*#pS\hI\V>e_$_`^A@)*]d4t+VQ7r1:hnUE %46F:_7atuI_ki!Dn@JSQ"jsH94_8lTHr04&2D_E&Vlt]0n1Fg*_H<]$?ZP(,KuV@4;'=lkT71>NHA"=AJ9;iPoN?NV.mW=5%iat.!qs6e#ClUG<_n.";9@6kFAR]n'5/7k9TNYdV]%_D'krm=)[IGXLBDA-3S$m&G\!W033#TOj"70T;@FN:+8T78LnCFVT/g2SIGH):PZtXVj;t$o-AtanGLmqPAAs01Q>H7h'DWk[J %5]AF&(::Edn3/G\T:rs'*d(Jp>a]dh %?Isr#9_hsB!O10#*.9so#CBbRX2>n&Eq*fj*(Hkr$;E0D?0/W"9l^lK?'@6iADFAGh>EV@a#_iK](X=kZMP>1X9+pa&6ciTiWAGb %7R\oHB>oQ-5lUR6pSJOp-.]^)=SEg=CRFsj`Q37GYD2l?W])H<$^,"'Yo8%=SZ?D[4TFW0*SnaPQrR"tLGf^V);Xi]Oat'9P09c> %MhC%)Oq$5[0u:86iK[)HeQA5LSTE`QP,J;UeHj>=O7^Ft?#jc3kH!,CW?&;Zn81'M.Aud-X,p5p;-+ZsQp5rZ^"!s*W"YR:4SKck %hD-kkYYhmn,e_a9+i$3@AMT.&XQ>:&8GC9gKG5ANT?^OQCFYYO^kU!crObKmZ!UN47]c]MHk&_EJQS]d^l[C:&ZPi+ec63CPK0X( %N*6>I4Q18W._qu?J<[J@FVUR-c&b#CNF>hXep\Hn)p'54t"l8K'hEIdnhWku,X5C,+L@Vn,00CcG+,Q&.YFe&NKq8bHMgPClF7N\nlPI8kA<=?jn6Wk,Q!Ag' %cjd\=0:!G*Tc86[?hhu1\VjhPlf[QSd&hc3\,jPB?GGt1q<_#Wc+SS?jbR?CRR\`!j@WS4Z_2efY@%(H?\:6+$1INp209S=@Xi@# %?[,b!X:qO!me$quFa\I"s5I?L^G8AboHq22mgj0ia1BkU*"(j(s5IA"n-,(ZA2obe^3_A.Is\AkO/qNTe^&M&K.t-TINC3Xgpd-j %cKlI]4@L+BlSl-;ohY#K$bt51^r[8HlPI:og/3tndCk!PrK\NYHHs(tot>h5"=+NO&+9)uOgX&8r($MOc%eZCHlq7%lf98Ia#DDZ %IKM"4i\PI0a3_MK+a";?GMBRH^"4pmPK+=Iro.8!+<,bl]TW'%qQ1%k]XIa-q-h):2_!+X"iI2I,9b1amShC-+8SHoj\_(PMb[b.$Y.O=*3GKrPIB\!$3*V?GGu6r?a_9M;RVX@BM9C]m^RY?N8qi %^[PJ+`kIN&=&laOD)m!IhsZK^*Okl*YY9/Bhf('uH)k\+q94cW9+ijh]TLTB8*(h720T.(A=:\"hL)_3T98I+[:V^Q2=\a4ZYS>,f52+7=']/\Ea-I^W2,i>&EO+Gj\^p1q %lM\]iT[NBbZWtSBjQ37!D3_fJ(:q3&:V:MhS7/hU_`G_9?b1L=]J3%iHX@Ud&$CH$q]u'J@Ud&NCi9"[MhhDOrL(QKO_<^*A#5(& %e6TAn4*,du\2)h'(@#t(o$j:WDoGp_8\/=FLW95E04c*sX)3!X-8Ai,+!)b^fli;5rS:8YbPpT8*uN^L`DJI)k?Aro"1@8]LD;C\ %!8=_rcL/.khall#UK-Wrq>fEM %'45X#rL!on&%9r[4?hZ@7W\EDd"XU7I_B`lIi(;j3?NW##hW29Ss$Z:@(jsC\>D+ur)7(/n#mB,fR"M0b5I[JmblsF%2`bZ9!4t/ %j4.J-^%@st,lCTVD.6f@@;Uf!jBs(T018!*BD"r,lekKlVh\E$.]'P,Q9G,#H%naYcPhE-IZUL>bqsBpE'3HFr,4ChHpG[[mS&ck %!sCjs2GgV2Ig/qmoMmHdoTh7&Md:2]8D/aNf<8@,Pf9qm5!OjE[Q1s]"tX^DcRpg*eo/tQRo6iTHF##LP-q2_WidouGG!q6Z)[!Q %+r^2YWVWioZMg*Yqu'(F^\SbujKqIco\BuV,sA456=h9WcAMtu4HD?>T@1u2;deM>o_1B4g[s`\n'34,O%Hg=Xk1B6AK[W>Nj7B2 %`%,ML(3/ZWIec/,1gesbG\gD>fAd+EEZ$Ft<%)/dZh"A-GOhCX-i3.G$gCZBL*=l77geoiSm/j(q60)>bMYOO^N]TQZ?m6XYl)VPN8MJ]nKj?OhC[l5P=N+@e %j4WVIds1T]\qZgld9+X'&BqCI%oZ?KB.6%A@dUIc69R5F8b^%;J*HA_B.6G!ALkoSDG0!'dr/K/_R&LXdNm&(`LoHSTN?#`IO[d]91R/X=Hn.d:itV:_u9FOe!Q/&+l(l=0Hj %+)hObd1uV)X`F;>C&ubd120pNOr=^B'_X-Lf74)8`q*["-tU1&54,",b]7"dU`dXbRIH&KZc,7RA*Hnl-p%L):W#_q8mI95N[3Ts %LS#R+78/IFj^tSY;skY3boSoka:Uo!iitN:ZgMdMak*#bPc!EWr?$FcfQHli"-L#X`94EZ2%P42ATkI>E)5%o#q9GWagTAbXjb`L %WstbfkZ#1Mjj/4M$O-N,Dn97NfH>k@Zs)r!3'H(L%04&:35mG0"IL1,Q4^fR\X5_r(Lc=(=gW0"Y,4+]grF]kG1F2jX)cn"\GPF/ %76>:ZtS*$T%k+s.iUiA9t9(-4!0/8Ml-\RjC]Jo:L %gWn1-/DK+t/#P>n41NhKX8MVU&^Vt*#Gh/8\V%etAQ7Q[?]>IA6+(nj+Mjn<"T=7L!=;N7GLsVsTJoUY %TR[Q:!'&Y'K_\aU&QUF>T+3'mD"654G4 %!-$PKg_QXJ^TrGVJ;Qt(VPp"CtIBW"FTa6Va6+C%VM1+?9k/!X;B %&q^S`G3"Q`lk-<5Z]8R*Ej`Ge4fINa&$Fs`%H.u,?PONPkfaO&^X9c3cVn%!_-;supOd!cf(o0+dMb4J'%QmJ(`BY*P.6gYUHi^T %4MeP=O+6TB3rn&#Ab%CIaM[A"=abi+3SCN12PCYlARt_P!`(MQY%(/7-h8qaNX.2-R^Y,+Pg/.FKfgBAc7(/9LH/Gu._T"jN0'>D %SG-'(mu6ekel%g^C\9!^qY%C+pR98-TOme/GIAMb1p5,`Vp[k\p8)rhg-n:h'^Z%6FOe,YEY^XHQE;S1:iRfq=7nk2pa!m9ML-'P %qicW>#9J#%I9VfY6u:S7DT*rJnQLt^jD#(N4cLc5j_!p>2Po=6RM,s$;[C[_T)\oZPmAZWVjEqt*0FV:NlDDYC:hG-"WbuC4-^MTai4S3eq'2D)7l95NkinS$muGG?KuY=gNo %nH#eT+?s_?Sa.Wb&";.qN(_'!Ri)ph9u])#p1`4&Y.7LK7dTRp_rk/561QhS2O`*?WLCH?#_b`&6hrn!FjnjN@W'[e';rBMDDV`Q %HG><2M+]"Vgs_]MCho^[\E*[k`,o9$VKB_?V[E>"pNCbYqssC-REEMb@ti@B-m!M7TCm*6IG"O+5Ln)8r^XTl1USo:-ll:f;o`oT:73P^lD*$W>FX;Q^8jF)B.KR4F$08@pl3te[9+WEH,qAmfpgP]4=eqmii0=l(B6L,.@7llL0$QW %6-?S1R;0?[r:`l$9t8"K$!8LTaiH/mEidU;Df2XjhYe_E&nmA1cgqCnUuSVdm(%j%c\M%%cmZ'lf42iKoKB[hs^p0i*W %[2eAXFET,DXM!W"X6KAJ)/I(Y:)OK=cH0De4/lp3$A%,6qmK93F0sI, %r]De%YMUr8ldrPhD>-f'orTN%*h^sh@puEp>Mfb1(&6-H?--YF2AY'!l,UrQl %noHC=%C(`TATsmAX(?Mc_jh[p#Fj"/N4+d5[U9[`^bLA:`:Qr22iRiG(?.G,HF.\Tsg@tI] %eEqW@A#dZar*%g1,sWK#XjVZWCB&0q#9GJ#gAcc_V*>MIh22lsm8/Gsn\bp?k'8$^@u' %-O?>5:O2oU#'%EoCojIZ[d/K[\b]#u8q3(J9E:kr?5hEk!kK[lhKnoZceI28,X^Ai67 %qpBT616e>6B6bCGP8Z1K7f*S6?]K6!-A&j"/0Yd>#8&BO_hk$#14utom*2"o!d=4JcZ1;53r1L#\quNnN6XTk-EAQl8B4sY&bmhh %gc6[Uf47t%NLmg1S+0XDV6"XWROgPVj7g`Z8^au0X_bg[Q+a7?/+&rsm#SkZJr/'m;/DuPncCn:HM*WqUfO4o?h %*h-!c;bfCOP/j*DkBB!R;F-dDY(Ao`LZ&qKMj-Cf(.O.cB#=i2f__;$7#@!hUn&.el@[iKKn9SlpaFV5il\Vk)o#m_[*oj&PL?`i %i?0*R3pn[-!1lo&:$=6ciMX1JI=SSUp*,*9`fnrr4UsaB?+U,>Hd!k1`4X?[iI)PFjPaEi/CF6@Yds>6g2]@ac%kn% %KK_Xd/[!iX,*2[RCtK3flp>9I7?d,jG(F91"ud$OP=N!dLp=n5b9P_D7*I(YX$!+tea_PY&a_,Y/Fi3"LisOGjlKk2&acZ,/Fi3" %Lc.A=DSa*0,MH;==Q86"&a_+ngLL5$nq_H)1%l.LLj!s'ti03$t=c"`M'"D1k;sUf\980W=!a6)f5Q*6_6+n_VT3aS']Do=O0l`*L-bt6,YAR*lOte8^.f>uLC\'`UWnb:;pY/VUHE,YT %-#O'dmSEN;iTK=/F4^BZe,hP!DDdL+X&BC)r8elBH#Y;;r=Nr*Fa04l(!7KZj%W47.`)._rr_J/@KK(!()(p_i6d&5Nt(mS$;LOV %,mmRT;\rNP\?Ps%eS)0V:KL6@.&\VS(SM_Pb#)i@5"/RJGXbDr#YhDLR\Hg`ImdW0Zj=TZDp!>=?Dg7MDp"fo)J)hk %8coM+>pZen2hoCC,3K\l%1c]$6'MDZ!jpMeejR3e:2?jp1_d1k$B7HqCSkjN7T4t#7VK(;e6nmM$#/N)78b]?$6';7;E%bY6kN8" %O_D>I)`:1uq4%_B0!e#I2IJkF8_.!VT_"$f;j2)K]LeClK92JI.!*Uq!HWn[VI:\n!Uc(XkgYF$@N]64InX5T@O+C;_8.cF\j1'< %0GW.A6RR2ID]3F3Ji[QJ'V#;hVumMPPqK&er2N"RCm%5XP<]jn-6Y.6 %;o"@)cQs(r:=uhOT[BO@DOE_rY9ErLK;?QA:\k)9=n>3prb7m?uIB#jeX71\=9.!"5F&/QbiVCB.E]G*Gs8$NMLl-4S/FFIf+i,q`7Q!NKg8"?'eKlCoW1*fC$E %lEP&4O't;:bhe$9L.3@4$c!ps66[\E83@3'5W*[25r*j;J]?%oK1h://Ag7BAJuK.\42>^J-!D5XNsRBOG\pqn33kOs6dJFa5

d4W6FB>(f[u?JCFp#UnilqDNX%b$-:#^gI,ht889"D"YD-4+>eLW %Jm]_n0f,]"PBB'W19r/^aVl%&$0Wmk6GY!CV,'N6/AV1BcCf;Zp6o`hEWcf*Th>f]BVLsr:#LnJ.0)D$]R-<77,C((eG4&L,:[LP %coZ!,d.]9*Y#-%&iloJ;!+A8"^qh?ofRsE-$of_$kND#KYTE@3&iB*XI3[V]M1jQ61P*,#(iS(Q'hnthbOHQ@jn.[E/FgY%2E]G8idJ1%iH$F %"W,/=19[&p2+`Or0s&`'NDk\H9BmPM)3p7_;$B-c);HLoBKa#mo9(BKE?sMACXA4G4QJ+a;7;Op!oJ:B5Kl_Bokr*"<]j"7A&ACH,5u9]2*D@mfKNUu:KWQ"5c(`+KjMP0"/k3FFUB-(6;sW^5-;UF;3+Nd_Ws.h^2? %%IQi>9MgX@N1uENA/#3l_$gnO<1qpsL[6nF4lk[301BpGd.bSZK?])sM-MhB&114<7-:S7Tf7Nt6ou,h)3LD,6(q_C$8Nr2&s7Ou %cm5Tdd8BGVW:`RNUBPP%6&nLT_0_ipq0S9`SgZFp-E/H"4.osmX"'SY/#eL8ohQeC#-7kds,;,e(Q7l:)I0qsa(=C;dZJq@UrnuZ %V*P5PXN*F51gnn).@P/MP+&7eBi/u+dn8*nC)#(3+fZa8CFYH80J*?X`/ls0=Tl^[KELkF$3j';^pOou,:!VP,eEK:_VGF3CnR7' %cuagQ&jV)#JlWK2K4,JER'4cEJ37sdY&rfG^do_gRu-eUVSj`]ZMKN$AhrgC*/(jFj/0Tr,#YY\)c[30 %"#S+(F3)`IM'@cfF/P^#'Uap?CM4R;Qg"4-0_5PRj@2YG/8CLBN-PCtYdu2c2F %6kE`k,#`Ks\-@i#TV@ccnnAa_d^K94Us.ZtYr>2^1l2_Y1b]D?ZM[g(N]\H#h@0a/%MYsOn;.iV$5nJRU1dXi;^'C5^aKVD,9`6] %+X""A^e"mYWBLKJ.]?g/&&ODGWUN'5`HOjaZn2PX,3=OMLoQ)pS*PK13)c#dQXSM^s6,CJ:f/)[O%I.l=H,QN*kR#nWA"RpMV`LJ %`e!0d,N,>NBYfi@=jqYk/@"i+J?b]aV;=V4P0l_[R19O'V+`ZJ/R2qW$HA?_19et8lR.hqhm:Bth@B\:'J!6n@_@Xj"c7Gj<"8;f %W`eQo6*e-:E%(OOVCLeqSsM9/!L"^HeFKnU2]3mP&;kK_"b0X[jM7"^PS-HkN,Q8]JHce8RsEG%Rf.c_-eZFTdB5+!:utC"7)Y; %4Nh>GJ-3NE'rPh`5+2"U`neen)Z)hD>i)D3LJ6b25LK`'SU8>Fd=;L)d3KJ',,4MhX5$E\dm]$kkId*lQ3\ %Ll0&f3QaHX)ndiC=`<%joMfiYtoqh.ZIJkM">8/LTL1DDP:WIM:Hme3akjR7Y%CTglu9"!s"kH4k1nY-VrIJ;IaBEn"bV'%!*j?bB6()iUaAHHh+7 %2OSkI'kBc&!Wa8@IXj'TY08%i,]e_mP)_"W6IUKo,rU=(LqlE!N&:;Bll/P/2*udi,u^"do+*Q5b7S4tH,n87-3@eM`ZUp9UpKeh %=f8u*Pc;P9B&Bi)VPH$C0J8X%.rkS%H_N6UJJ+R(%s1[J^C#l8TF'6X/.?s,n?b4dhZTCsHTDA2e3kH+24:NPklC1Y:W]jg@R=b) %o(Ps'Y_hJ>Yt8M$"r^--;)3U>=Tp%cX<9Kt12A';8JV[3B4;I/FsYe*^oaW&Y.T:qJ> %1fUbl)W2q)!.>ZC]nED9L#W/-O=>XspLKE^8'kD(!@+^;_C:VDe[Qp+:ui(W.pq?;9dEm#\4/26Y!7_9;CDdkPadLi30WGGa@_(9 %;VE0r<0d)31mog,4Da(=J"VKekn1c&\.KQN^VF%\Gs]#I!iCR!C;jg8B((sM#*\!\.GeOE%)nl]]$:uhfVhq5G$X2q0BQ7L)Oc[- %3H>-W)9i$D+;P"dA"\t^"SSFG\e8KYp)7n+Xr=A)46;qQi]*DMuZcB-9!;@nJ"%Pf^iKMj2Xs3?c76D?>4`M&S[0Ak;ba!NTJ<2h %T^'rRdAO6\1C\bHeF&^8V\L9_.3TX2E`OMo6PGiaa!RCh6Gk,/_OQQS:#kAqd\VmS9HM:7C8#GU=lD8<_2*g!A@@`>?F3`D0WCsj %dnLNk;O1UR*SXo$ep&>6>1+mjY'paR72L"A>L(X.WA+5Ubn %jo^`KglJ"lfLQ/;5"VqFUTB&R7k+e'1XJhUnea86\j[H.-R'2_3^@/C/?lqKMR`Kh*Al1A;'JFP%hl@J8I9jA!2bb&^6gtAAd."! %PQ$k]&VOK,GT3,;rj=0V,Opg/+O1ZE,;TZY)J54ZV^TRcSH=r_Bq^UBE;q-"';U9,,,5m;C^n: %@)b!8!ps,YN-t^i"5lk3T6/ps*,Wuc0g-].<3^,`Pb>ds7cT/o1<-0[(+BiK,`q$fOC\1t;j=X;C8+C[#%pqAj[8%D0Z%K%\-]6K %P+=ju0kdQ'0JHl:"13t)g+``Aa415j1D9AlJsm6R2i#CGVMGN8@VH4@&V^'R>!^3B"sBIm%QnJ+D4i\`0bS5;(9h#]=^9T*;mcbP %[/-t)*Wm9cjmiDc3t<:e0'F_'^:7't%HLh2eL@d(3"#`1,iqGI+'iCBKF4griM>`%_MV#RTN;J4 %"*E>LT[=V0!g0Xjlj7,'X_/2'RRPdXEb;OW^sjPE&2;lPP?MQ?B[UR"%L,X)-FSG;,uKSoX!AZI8jj1s)[IQZTbq0`M$:_fB1e(o %"%3D4)A=%A;)I($MdTF:Ia`#]f+86!b_oAA3\VCY7D\W8*X&3)ZD.[MY8%+?u!!(`-]sROj6qR/R5L"J$'L$+H4.$Z3+65Q\O'Lea.rd/]`;n/2oo %X3K9h(G2d9#r[&9VTC+25U,6]JPg*laNi948ONcA<]!!k)V_njlCTs`R1taEAtaH@Ac*p5ba^p;fhItng;/@mjL+0t9>a^>oEdc* %];%`JHN5PfSW8RAhkIb/[X_XmOMLV,muX/t&.71]_8I&s)=Np12*2#iPgMb^WggX1XFnf45Bm_:73j*;5eob>+H\R7^g4g"8Seu4 %lDfU')TGJ7Y0b,H>K$*b,'-#Z%g-$(Q"F',`fbbJiV"YI/@);F/nhTpKLu@f?#65$417tWPZfa@UH&u%VGT)'6D\@i5K1$p"Ppn& %)]4n3(0]D;).5p18/6]jN\,j6]Hi;Lk7+Cq0F@q'=&0C&JVcPL$'B(9_A:QQarlgS-u:K*oa8Q`Q$R!kU.'=hb@C"g46)!\REA>0 %FP(PUBP/&/&WMq&nh'WAJ>6dm/=o7$0MU]7U@k:GUQ.UU?NgN<&XQ7V+^nP[7O(O^Q:@hsJqOc4Z^3?S7kh56,)(u-9?efpT/[\D %@/E.?'T/(8OK#h2M+jtCn3/-438G$!knqKt.\jV3OVBh].Vf#MA(I,ME>[@X:;Ac.m--='DF%-]V8GljA`a#M\F6IbkTFj&*fnOr %oLtg0U,`>)!\E)CML6)++gCrSS&!I1W46g?YlP-(0cEtOfKe#PRHPK8;]<-GO,dIoM7T(flC]h"Z34Zit-JP_WIL`N>@"1%u?-kbN#N.WZ %jt$sHJWL`O;U,gXKbfXl;]Y+UMcBaK-$+npW;OMh5T.TJDZ`IWT0J`;]*h1ie5#7ZV4E)RYT!1c[f%7=[\KcO<=(Q81a"]I/?49c=jB(\G@VEc %ThErN.?r&l$"l?VLoX[e!1b`IM^#:$R,#I,0OI037F??"#):G:;b7[J9I$O\%i0+e7Gr*9/Q2orgGXW^^f;[s@D3eiLq"pkZGbM;"=k&?MFQWVN6ji'XfdZf#\&=J8RrCi_th!ee:S9mq7j3T@u"jW(g'qtk?e#o1+ %T>=DiL<-j0i6VqAeqfcNQ=C1&k%m]:TjpmXiffO!n%tu@Uj9CnrUC<86 %>]P@/+TTnub^_:0V<@eT9Wi)/RCeTk3ho:7X9K0!V#d8e`G^i)K.pFc,podL/Ff&t?X_h7g63q/NS]9'dUrc1QNhA-EEO$AW3!9= %$+_+d."T%O(B..VF)]\K$GL-#*`rQb[ZBF7PdNoT/?5%N22V,YL2&#M%)*?M%Z/=)U%-ZD0MK&Ofi%J6E!6_G(#)5Il3B8s@hs]6 %g-Bl,A/Sa%c_/N1jP\tQ^g,;;[oV+OJg`3HF3Jl9D%-l3SVW467jq6!nSNr'085_gLr.*CkF4D`^g+= %?R1q*8($L^RYfe;%H]dXj>a;nROI'lAm!JPA,BH?$d@1IZ$3_E_\e+'ZC"B3qi-T6gaK4gY/ni_!k:Gkl=.NE=sUdDL@uR3P])F;E0I]gXFr(Ykfef#:K8UOe(^B24Yp+_W'g8ol\XaBi-WH[c$k&s %rVQD)F)p&]%TO&K4J\1Vnl#,4jcA&DCnio#Z62:k&teQmaYWFo%,j)m)u8\N(DqO$XUjKn']-Q#uR]/nds";U-MXBWsd5mlIG#Bsd:cu[p@eT?`g!9HT+Yq5k)"P\1X*3B]gE8A/bCgn@L %DDRceo>jXD]>#i`k6>P#58uUTj'oGIcIqX;;-bE)&VM,uf;nGO5!r&\Ws\m(j2hfd1m,tA0-d'\RiUD1=:K;CDN<+J=ZYC3T@U06Z@P"gf>"6oKKUQ*L%ES*'minWLL*qO]lFVXXPsFT:R;n;$=_\1I#BNW: %VFOG@4JUaJV$gV0D&YH&]m3c"q"E0nHK1m,2"kFgolD"lO[aqJ&Ff!\KaIZ(r02j!4):L[KTd-;Xg*feEL\TQ_;-,?*0o_ff%i>W %!g,&>buQ*Vf\Q6XIMGlHs5Oq9bNtA%A.,gPC#=9.;="!533W$$,K=A`2Cje">7R7Lf>lVoe0"5$Upjl.-0G&Qbb()cRs06Y8Aoe] %FD$S2d@rRfuh&8mRb/V$j %?G!AqN/8k310H'VQjP$[P,E.tV4"MsZdWa?Ia-,XImqBT`4&niFSSVKs7EcA)%1'A'\fr4L\F/F),DU"RolG;&2+D]\2C,Fk5-L! %dtl+\&]u%u1I$:CpN7KZ"Z;J;jDL1;bjH_FB`K(Dc8VdLTIZ!pH_!.-0#Z5sV-Hr7DW4K4 %?)FIf/URsmVIS@="eG9^H^iV?UWt=G`(o$@JapKh1mU[ljK6r,<]++Ij]H;#*oeiDHlBcS`seQ2PuBDINTkO>L).Hh\aggdW,I2lgc`2U5V2&#d^-V`O+BOUSu)lA'VV?=Z,NXK?Gg':2R-L`qMma';Nka+hl^$BR"qL@&`238QQLj7Rd.E_:Z4=VG&@ %b]nA,K_Al;OA]ddNA\@o0#QWq+eb26R)Wt-\f'sU\U6k@:[bjIBBjp-W8^OkF6g3(%f.TP\b<0:I-Oq-`R8\?n@p'tH2l4F@D/Wh %(hX9YBc#`T$p`B/%6pVufTlaQPud3f8!:N8#3:'0l0]p*l"`)c;IfiCpTK&L5Fl3lY@5b3Vdh#kh9u.XT!!n&+-^t"5 %-Ui*kR@4,t'V!f?$/\48;k^V5:HgOf+D_fKeeEd;DdUrC4nESONM,>je#MN2]Zo[[4j5c&`c1FHns2GpIq*rmgWa$1 %l=b7+"sWr^I5Y?!36Jlq9\Z2s7>9L1l_As2;b&E@;nA:M2'@b7;ul+!eeYHkXuVH%G:_(4+QMr,ja>qg;EPfJT8_eDHZ_ %(SP0+1fcWdoG?^\b=`]WRWn]7MlK\XlkSbAlU`fK-D?<76*k9M!aj@'W(I-B4jh(&e?B9AhE)BP7FUJ`fW"]C*-8,Q9].^u0X,DpUL0]B!oEo3p(K %Js#@K'7C-DVDYA8Z!f)[pt>?>8'_PU;a>Qe%5bm1T@L#-e,*-<.,DM-4lN.AeZ&KLfB>?i\XFZ,67\S(GS,$7`,+"V\QP/fXLZ(E %qi:+T2/"Il9W<7Y,C;F\iE9W1$bb1[,*lB[.*Bp65HR%j/-cUt#['ZgFEC:.Ham,NY?A0V?W5"ch"oT1Bq?`iX9ZD@I"#P?]76I= %1Q+Q7H2(isBM.pl-iN?m%Y&Kp8!K/OICrPkR3OuufWc8!cLk0[bR@U4%h %NPR;)b>r7BSM.]ts#K9X-#M=?hjB"sPb-JLM!P_0OX,EC8SL&-%qqq!AEp:_?'tR\UHFLVo[KPL;r*pM0Bjb)W3W-rOaKECHF![^ %?=tEiU4@Hh2N]Z#fF/ %J4XIl2Np5g^oLY-2js-G:e-gmar8X_1DsiP)Z0!fkW,kG/*s..7,DfQAb4/9o.oM^B_Sn,1"P`>ppn9%nC2`(\)Rg:qY0WshlK:c %j\9\]eA%p6(Pjmb,4Sg$@9%!7(=F*KHpn^`R''&-h/r8)\!++8'/9MH4,HJ_I %)cP5?>8@nXZVU.\ES"'pSbbDh]O/;Nqn#$\^n?m_L#V3i=M1`e8R:0P5d2rsf*#4SbP&2C2g;@14C[*n'2o*10[WGm-2L=o7Gr@> %aclM2k/d'LeA49\lR$`"So'POpoCF6"\8tWbA55)it@mU)Y:-/-W\X3[,],e-PF+8hhK=2 %9XPqC_AGGf.790Gal<=oVXh2;Ph/9jYpJ5NK>`4WPdBLHHbpQlXLJ,_ %i?Z.7osC9cfRo#FfM=8lFonbY47T9c''nW,[a!9"n[tIRd,DG./>)7$5iS]8.9!$22Pu)r2FI^T+6+:N1BaFh#FjM^;=d"#(kS#U %3b"$,F"^$8]g4*$H$6GSBP"p'M!;He-2$Wk0qmtn2oBHU&>c9R-o-+8Ppi@Rj4OToan=uRDX>p,ITt&s; %n*"7R0:EO-2pK0C+Zge4OJ+[LlHlH=CB0F1Kd_Z_DYFK]n,$W$5)-kTB\&_G*YK30mo#(H]lLQDkd7nh\e2hp\.6i/6N`-mqNLHL %c=FS]\`0om&S#&U\oFp,6q%g+`,n$nOEK)I)Pr,(a,=c*HN!M>+l$!h#$A;, %h!3JZJ;*2mo30;][[;C<5@p==MaC-0:&];)^9%YtPd7t,LCr+.5q0I3mk).D,RVb74ZN,P_U5=-FpZge74s4-J)5J`S+FZ"(^U.eY_jZqj-Fg7WZ9hH/rlG=m14O,G1^$g+KW:'FJ0'KFX/#% %)B-HN]CE5`ct(Tl9u;Y4j@QO%QP;(Vo3KhD+e;:Y4a9i:6MC\h3XogFU2!gkd#@S*l$0eLV!+Ic7Z97g, %iU^

\& \& \& \& ... \& \& \&
\& \& .Ve .SS "Main section" .IX Subsection "Main section" The main section defines global settings, which might be overridden by each location definition inside of this global definition. .PP Example layout: .PP
.PP .Vb 4 \& \& \& .Ve .PP
.SS "Main section options" .IX Subsection "Main section options" .IP "\fBforceSSL\fR \fIbool\fR" 4 .IX Item "forceSSL bool" The forceSSL statement enables \s-1PHP\s0 security checks to force encrypted access to the web interface. FusionDirectory will try to redirect to the same \s-1URL\s0 just with https://. .IP "\fBlogging\fR \fIbool\fR" 4 .IX Item "logging bool" The logging statement enables event logging on FusionDirectory side. Setting it to true, FusionDirectory will log every action a user performs via syslog. If you use rsyslog and configure it to mysql logging, you can browse all events within FusionDirectory. FusionDirectory will not log anything, if the logging value is empty or set to false. .IP "\fBtemplateCompileDirectory\fR \fIpath\fR" 4 .IX Item "templateCompileDirectory path" The templateCompileDirectory statements defines the path, where the \s-1PHP\s0 templating engins smarty should store its compiled FusionDirectory templates for improved speed. This path needs to be writeable by the user your webserver is running with. .IP "\fBignoreAcl\fR \fIdn\fR" 4 .IX Item "ignoreAcl dn" The ignoreAcl value tells FusionDirectory to ignore complete \s-1ACL\s0 sets for the given \s-1DN.\s0 Add your \s-1DN\s0 here and you'll be able to restore accidently dropped ACLs. .IP "\fBdisplayerrors\fR bool" 4 .IX Item "displayerrors bool" The displayerrors statement tells FusionDirectory to show \s-1PHP\s0 errors in the upper part of the screen. This should be disabled in productive deployments, because there might be some important passwords arround. .SS "Location section options" .IX Subsection "Location section options" .IP "\fBname\fR \fIstring\fR" 4 .IX Item "name string" The name of this location section that will appear in the dropdown on FusionDirectory homepage .IP "\fBconfig\fR \fIdn\fR" 4 .IX Item "config dn" The config statement defines the \s-1LDAP\s0 base, where FusionDirectory stores management information, such as site wide locking and user notifications. .IP "\fBdebuglevel\fR \fIinteger\fR" 4 .IX Item "debuglevel integer" The debuglevel value tells FusionDirectory to display certain information on each page load. Value is an \s-1OR\s0 combination of the following byte values : .Sp \&\s-1DEBUG_TRACE \s0 = 1 .Sp \&\s-1DEBUG_LDAP \s0 = 2 .Sp \&\s-1DEBUG_DB \s0 = 4 .Sp \&\s-1DEBUG_SHELL \s0 = 8 .Sp \&\s-1DEBUG_POST \s0 = 16 .Sp \&\s-1DEBUG_SESSION \s0 = 32 .Sp \&\s-1DEBUG_CONFIG \s0 = 64 .Sp \&\s-1DEBUG_ACL \s0 = 128 .Sp \&\s-1DEBUG_ARGONAUT\s0 = 256 .Sp \&\s-1DEBUG_MAIL \s0 = 512 .SS "\s-1LDAP\s0 options" .IX Subsection "LDAP options" .IP "\fBldapTLS\fR \fIbool\fR" 4 .IX Item "ldapTLS bool" The ldapTLS statement enables or disables \s-1TLS\s0 operating on \s-1LDAP\s0 connections. .IP "\fBldapFollowReferrals\fR \fIbool\fR" 4 .IX Item "ldapFollowReferrals bool" The ldapFollowReferrals statement tells FusionDirectory to follow \s-1LDAP\s0 referrals. .SS "\s-1LDAP\s0 resource definition" .IX Subsection "LDAP resource definition" For every location you define inside your fusiondirectory.conf, you need at least one entry of the type referral. These entries define the way how to connect to some directory service. .PP Example: .PP .Vb 3 \& .Ve .PP uri is a valid \s-1LDAP\s0 uri extendet by the base this referral is responsible for. admin is the \s-1DN\s0 which has the permission to write \s-1LDAP\s0 entries. And password is the corresponding password for this \s-1DN.\s0 You can define a set of referrals if you have several server to connect to. .SH "BUGS" .IX Header "BUGS" Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to .SH "LICENCE AND COPYRIGHT" .IX Header "LICENCE AND COPYRIGHT" This code is part of FusionDirectory .IP "Copyright (C) 2003\-2010 \s-1GONICUS\s0 GmbH" 2 .IX Item "Copyright (C) 2003-2010 GONICUS GmbH" .PD 0 .IP "Copyright (C) 2011\-2016 FusionDirectory project" 2 .IX Item "Copyright (C) 2011-2016 FusionDirectory project" .PD .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE. \s0 See the \s-1GNU\s0 General Public License for more details. fusiondirectory-1.0.19/contrib/man/fusiondirectory.conf.pod000066400000000000000000000117121304016502700241250ustar00rootroot00000000000000=head1 NAME fusiondirectory.conf - FusionDirectory configuration file =head1 DESCRIPTION The fusiondirectory.conf file is a XML style configuration file. It is parsed by FusionDirectory during log in. The file may contain extra tabs and newlines for formatting purposes. Tag keywords in the file are case-insensitive. Comments should be placed outside of XML tags and should be encapsulated inside of tags. The fusiondirectory.conf file can be used to configure the access control of the FusionDirectory webinterface. =head2 Configuration layout The configuration has to be specified inside of the tags. It is composed by a main configuration - including information about several locations. Layout example:
...
=head2 Main section The main section defines global settings, which might be overridden by each location definition inside of this global definition. Example layout:
=head2 Main section options =over =item B I The forceSSL statement enables PHP security checks to force encrypted access to the web interface. FusionDirectory will try to redirect to the same URL just with https://. =item B I The logging statement enables event logging on FusionDirectory side. Setting it to true, FusionDirectory will log every action a user performs via syslog. If you use rsyslog and configure it to mysql logging, you can browse all events within FusionDirectory. FusionDirectory will not log anything, if the logging value is empty or set to false. =item B I The templateCompileDirectory statements defines the path, where the PHP templating engins smarty should store its compiled FusionDirectory templates for improved speed. This path needs to be writeable by the user your webserver is running with. =item B I The ignoreAcl value tells FusionDirectory to ignore complete ACL sets for the given DN. Add your DN here and you'll be able to restore accidently dropped ACLs. =item B bool The displayerrors statement tells FusionDirectory to show PHP errors in the upper part of the screen. This should be disabled in productive deployments, because there might be some important passwords arround. =back =head2 Location section options =over =item B I The name of this location section that will appear in the dropdown on FusionDirectory homepage =item B I The config statement defines the LDAP base, where FusionDirectory stores management information, such as site wide locking and user notifications. =item B I The debuglevel value tells FusionDirectory to display certain information on each page load. Value is an OR combination of the following byte values : DEBUG_TRACE = 1 DEBUG_LDAP = 2 DEBUG_DB = 4 DEBUG_SHELL = 8 DEBUG_POST = 16 DEBUG_SESSION = 32 DEBUG_CONFIG = 64 DEBUG_ACL = 128 DEBUG_ARGONAUT = 256 DEBUG_MAIL = 512 =back =head2 LDAP options =over =item B I The ldapTLS statement enables or disables TLS operating on LDAP connections. =item B I The ldapFollowReferrals statement tells FusionDirectory to follow LDAP referrals. =back =head2 LDAP resource definition For every location you define inside your fusiondirectory.conf, you need at least one entry of the type referral. These entries define the way how to connect to some directory service. Example: uri is a valid LDAP uri extendet by the base this referral is responsible for. admin is the DN which has the permission to write LDAP entries. And password is the corresponding password for this DN. You can define a set of referrals if you have several server to connect to. =head1 BUGS Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to =head1 LICENCE AND COPYRIGHT This code is part of FusionDirectory =over 2 =item Copyright (C) 2003-2010 GONICUS GmbH =item Copyright (C) 2011-2016 FusionDirectory project =back 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. fusiondirectory-1.0.19/contrib/openldap/000077500000000000000000000000001304016502700202725ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/openldap/core-fd-conf.schema000066400000000000000000000514761304016502700237330ustar00rootroot00000000000000## ## fusiondirectory-conf.schema - Needed by FusionDirectory for its configuration ## #~ ldapTLS="true" # Attributes # Schema setup attributetype ( 1.3.6.1.4.1.38414.8.10.1 NAME 'fdRfc2307bis' DESC 'FusionDirectory - rfc2307bis' OBSOLETE EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.10.2 NAME 'fdSchemaCheck' DESC 'FusionDirectory - Schema check' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) # Look n feel attributetype ( 1.3.6.1.4.1.38414.8.11.1 NAME 'fdLanguage' DESC 'FusionDirectory - language' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.11.2 NAME 'fdTheme' DESC 'FusionDirectory - theme' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.11.3 NAME 'fdTimezone' DESC 'FusionDirectory - timezone' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # People and group storage attributetype ( 1.3.6.1.4.1.38414.8.12.1 NAME 'fdAccountPrimaryAttribute' DESC 'FusionDirectory - attribute that should be used in user dn' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.2 NAME 'fdAccountRDN' DESC 'FusionDirectory - use a placeholder pattern for generating account RDNs' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.3 NAME 'fdNextIdHook' DESC 'FusionDirectory - A script to be called for finding the next free id for users or groups' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.4 NAME 'fdIdGenerator' DESC 'FusionDirectory - An automatic way to generate new user ids' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.5 NAME 'fdPersonalTitleInDN' OBSOLETE DESC 'FusionDirectory - Personal title in dn' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.12.6 NAME 'fdStrictNamingRules' DESC 'FusionDirectory - Strict naming rules' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.12.7 NAME 'fdMinId' DESC 'FusionDirectory - minimum user id' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.8 NAME 'fdUidNumberBase' DESC 'FusionDirectory - uid number base' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.9 NAME 'fdGidNumberBase' DESC 'FusionDirectory - gid number base' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.10 NAME 'fdUserRDN' DESC 'FusionDirectory - User RDN' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.11 NAME 'fdGroupRDN' DESC 'FusionDirectory - Group RDN' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.12 NAME 'fdIdAllocationMethod' DESC 'FusionDirectory - id allocation method traditional/pool' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.13 NAME 'fdGidNumberPoolMin' DESC 'FusionDirectory - pool gid number min' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.14 NAME 'fdUidNumberPoolMin' DESC 'FusionDirectory - pool uid number min' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.15 NAME 'fdGidNumberPoolMax' DESC 'FusionDirectory - pool gid number max' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.16 NAME 'fdUidNumberPoolMax' DESC 'FusionDirectory - pool uid number max' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.17 NAME 'fdAclRoleRDN' DESC 'FusionDirectory - ACL role RDN' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.18 NAME 'fdCnPattern' DESC 'FusionDirectory - Common Name pattern' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.12.19 NAME 'fdRestrictRoleMembers' DESC 'FusionDirectory - Restrict role members to users from the same LDAP branch' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) # Password attributetype ( 1.3.6.1.4.1.38414.8.13.1 NAME 'fdPasswordDefaultHash' DESC 'FusionDirectory - Password default hash' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.2 NAME 'fdPasswordMinLength' DESC 'FusionDirectory - Password min length' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.3 NAME 'fdPasswordMinDiffer' DESC 'FusionDirectory - password min differ' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.4 NAME 'fdPasswordHook' DESC 'FusionDirectory - Password hook (external command)' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.5 NAME 'fdHandleExpiredAccounts' DESC 'FusionDirectory - Handle expired accounts' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.13.6 NAME 'fdSaslRealm' DESC 'FusionDirectory - SASL Realm' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.7 NAME 'fdSaslExop' DESC 'FusionDirectory - SASL Exop' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.13.8 NAME 'fdForcePasswordDefaultHash' DESC 'FusionDirectory - Force password default hash' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) # Core settings attributetype ( 1.3.6.1.4.1.38414.8.14.1 NAME 'fdPrimaryGroupFilter' DESC 'FusionDirectory - Primary group filter' OBSOLETE EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.14.2 NAME 'fdListSummary' DESC 'FusionDirectory - Show list summary' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.14.4 NAME 'fdModificationDetectionAttribute' DESC 'FusionDirectory - Modification detection attribute' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.14.5 NAME 'fdCopyPaste' DESC 'FusionDirectory - (de)Activate copy/paste' OBSOLETE EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.14.6 NAME 'fdLogging' DESC 'FusionDirectory - Logging' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.14.7 NAME 'fdLdapSizeLimit' DESC 'FusionDirectory - LDAP size limit' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) # Login and session attributetype ( 1.3.6.1.4.1.38414.8.15.1 NAME 'fdLoginAttribute' DESC 'FusionDirectory attribute that will be used for login' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.15.2 NAME 'fdForceSSL' DESC 'FusionDirectory - Force SSL' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.15.3 NAME 'fdWarnSSL' DESC 'FusionDirectory - Warn user when SSL is not used' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.15.4 NAME 'fdStoreFilterSettings' DESC 'FusionDirectory - Store filter settings' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.15.5 NAME 'fdSessionLifeTime' DESC 'FusionDirectory - Session life time in seconds' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.15.6 NAME 'fdHttpAuthActivated' DESC 'FusionDirectory - HTTP Basic Auth activation' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.15.7 NAME 'fdHttpHeaderAuthActivated' DESC 'FusionDirectory - HTTP Header Auth activation' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.15.8 NAME 'fdHttpHeaderAuthHeaderName' DESC 'FusionDirectory - HTTP Header Auth - Header name' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) # Debugging attributetype ( 1.3.6.1.4.1.38414.8.16.1 NAME 'fdDisplayErrors' DESC 'FusionDirectory - Weither or not to display errors' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.16.2 NAME 'fdLdapMaxQueryTime' DESC 'FusionDirectory - Maximum LDAP query time' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.16.3 NAME 'fdLdapStats' DESC 'FusionDirectory - Weither or not to activate ldap stats' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.16.4 NAME 'fdDebugLevel' DESC 'FusionDirectory - Debug level' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) # Snapshots attributetype ( 1.3.6.1.4.1.38414.8.17.1 NAME 'fdEnableSnapshots' DESC 'FusionDirectory - Weither or not to enable snapshots' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.17.2 NAME 'fdSnapshotBase' DESC 'FusionDirectory - Snaphost base' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.17.3 NAME 'fdSnapshotURI' DESC 'FusionDirectory - Snaphost URI' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.17.4 NAME 'fdSnapshotAdminDn' DESC 'FusionDirectory - Snaphost admin dn' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.17.5 NAME 'fdSnapshotAdminPassword' DESC 'FusionDirectory - Snaphost admin password' OBSOLETE EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Miscellaneous attributetype ( 1.3.6.1.4.1.38414.8.18.2 NAME 'fdTabHook' DESC 'FusionDirectory - tab hook' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.4.1.38414.8.18.3 NAME 'fdShells' DESC 'FusionDirectory - available shells' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.4.1.38414.8.18.4 NAME 'fusionConfigMd5' DESC 'FusionDirectory - md5sum of class.cache' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.4.1.38414.8.18.5 NAME 'fdDisplayHookOutput' DESC 'FusionDirectory - display hook execution output to the user' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.18.6 NAME 'fdAclTabOnObjects' DESC 'FusionDirectory - Should acl tabs be shown on all objects' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.18.7 NAME 'fdDepartmentCategories' DESC 'FusionDirectory - available categories for departments' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.4.1.38414.8.18.8 NAME 'fdDefaultShell' DESC 'FusionDirectory - default shell' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # Plugins attributetype ( 1.3.6.1.4.1.38414.8.19.1 NAME 'fdOGroupRDN' DESC 'FusionDirectory - OGroup RDN' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.19.2 NAME 'fdForceSaslPasswordAsk' DESC 'FusionDirectory - Force password ask for SASL users' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) # SSL attributetype ( 1.3.6.1.4.1.38414.8.20.1 NAME 'fdSslCaCertPath' DESC 'FusionDirectory - CA certificate path' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.20.2 NAME 'fdSslKeyPath' DESC 'FusionDirectory - SSL key path' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.20.3 NAME 'fdSslCertPath' DESC 'FusionDirectory - SSL certificate path' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # CAS attributetype ( 1.3.6.1.4.1.38414.8.21.1 NAME 'fdCasActivated' DESC 'FusionDirectory - CAS activation' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.21.2 NAME 'fdCasServerCaCertPath' DESC 'FusionDirectory - CAS server CA certificate path' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.21.3 NAME 'fdCasHost' DESC 'FusionDirectory - CAS host' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.21.4 NAME 'fdCasPort' DESC 'FusionDirectory - CAS port' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.8.21.5 NAME 'fdCasContext' DESC 'FusionDirectory - CAS context' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) # merged from dashboard-fd.schema - Needed by Fusion Directory for dashboard options attributetype ( 1.3.6.1.4.1.38414.27.1.1 NAME 'fdDashboardPrefix' DESC 'FusionDirectory - Dashboard computer name prefix' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype ( 1.3.6.1.4.1.38414.27.1.2 NAME 'fdDashboardNumberOfDigit' DESC 'FusionDirectory - Dashboard number of digits after prefixes in computer names' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.27.1.3 NAME 'fdDashboardExpiredAccountsDays' DESC 'FusionDirectory - Dashboard number of days before expiration to be shown in board user tab' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # merged from recovery-fd.schema - Needed by Fusion Directory for password recovery options attributetype ( 1.3.6.1.4.1.38414.8.110.1 NAME 'fdPasswordRecoveryActivated' DESC 'Fusion Directory - Password recovery enabled/disabled' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.2 NAME 'fdPasswordRecoveryEmail' DESC 'Fusion Directory - Password recovery sender email' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.3 NAME 'fdPasswordRecoveryMailSubject' DESC 'Fusion Directory - Password recovery first email subject' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.4 NAME 'fdPasswordRecoveryMailBody' DESC 'Fusion Directory - Password recovery first email body' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.5 NAME 'fdPasswordRecoveryMail2Subject' DESC 'Fusion Directory - Password recovery second email subject' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.6 NAME 'fdPasswordRecoveryMail2Body' DESC 'Fusion Directory - Password recovery second email body' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.7 NAME 'fdPasswordRecoveryValidity' DESC 'Fusion Directory - Password recovery link validity in minutes' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.8 NAME 'fdPasswordRecoverySalt' DESC 'Fusion Directory - Password recovery token salt' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.8.110.9 NAME 'fdPasswordRecoveryUseAlternate' DESC 'Fusion Directory - Allow/disallow the use of alternate addresses for password recovery' EQUALITY booleanMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) # Object Class objectclass ( 1.3.6.1.4.1.38414.8.2.1 NAME 'fusionDirectoryConf' DESC 'FusionDirectory configuration' SUP top STRUCTURAL MUST ( cn ) MAY ( fusionConfigMd5 $ fdSchemaCheck $ fdLanguage $ fdTheme $ fdTimezone $ fdAccountPrimaryAttribute $ fdNextIdHook $ fdIdGenerator $ fdStrictNamingRules $ fdMinId $ fdUidNumberBase $ fdGidNumberBase $ fdUserRDN $ fdGroupRDN $ fdIdAllocationMethod $ fdGidNumberPoolMin $ fdUidNumberPoolMin $ fdGidNumberPoolMax $ fdUidNumberPoolMax $ fdAclRoleRDN $ fdCnPattern $ fdRestrictRoleMembers $ fdPasswordDefaultHash $ fdPasswordMinLength $ fdPasswordMinDiffer $ fdPasswordHook $ fdHandleExpiredAccounts $ fdSaslRealm $ fdSaslExop $ fdForcePasswordDefaultHash $ fdPrimaryGroupFilter $ fdListSummary $ fdModificationDetectionAttribute $ fdLogging $ fdLdapSizeLimit $ fdLoginAttribute $ fdForceSSL $ fdWarnSSL $ fdStoreFilterSettings $ fdSessionLifeTime $ fdHttpAuthActivated $ fdHttpHeaderAuthActivated $ fdHttpHeaderAuthHeaderName $ fdDisplayErrors $ fdLdapMaxQueryTime $ fdLdapStats $ fdDebugLevel $ fdEnableSnapshots $ fdSnapshotBase $ fdTabHook $ fdShells $ fdDefaultShell $ fdDisplayHookOutput $ fdAclTabOnObjects $ fdDepartmentCategories $ fdRfc2307bis $ fdCopyPaste $ fdSnapshotURI $ fdSnapshotAdminDn $ fdSnapshotAdminPassword $ fdPersonalTitleInDN $ fdAccountRDN $ fdSslCaCertPath $ fdSslKeyPath $ fdSslCertPath $ fdCasActivated $ fdCasServerCaCertPath $ fdCasHost $ fdCasPort $ fdCasContext ) ) objectclass ( 1.3.6.1.4.1.38414.8.2.2 NAME 'fusionDirectoryPluginsConf' DESC 'FusionDirectory plugins configuration' SUP top AUXILIARY MUST ( cn ) MAY ( fdOGroupRDN $ fdForceSaslPasswordAsk ) ) objectclass ( 1.3.6.1.4.1.38414.8.2.3 NAME 'fdPasswordRecoveryConf' DESC 'FusionDirectory password recovery configuration' SUP top AUXILIARY MUST ( cn ) MAY ( fdPasswordRecoveryActivated $ fdPasswordRecoveryEmail $ fdPasswordRecoveryMailSubject $ fdPasswordRecoveryMailBody $ fdPasswordRecoveryMail2Subject $ fdPasswordRecoveryMail2Body $ fdPasswordRecoveryValidity $ fdPasswordRecoverySalt $ fdPasswordRecoveryUseAlternate ) ) # Dashboard Object Class objectclass ( 1.3.6.1.4.1.38414.27.2.1 NAME 'fdDashboardPluginConf' DESC 'FusionDirectory dashboard plugin configuration' SUP top AUXILIARY MUST ( cn ) MAY ( fdDashboardPrefix $ fdDashboardNumberOfDigit $ fdDashboardExpiredAccountsDays) ) fusiondirectory-1.0.19/contrib/openldap/core-fd.schema000066400000000000000000000076611304016502700230050ustar00rootroot00000000000000## ## core-fd.schema - Needed by FusionDirectory for its basic fonctionnalities ## # Attributes attributetype ( 1.3.6.1.4.1.10098.1.1.12.2 NAME 'gosaUser' DESC 'GOsa - DN of a user' OBSOLETE EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( 1.3.6.1.4.1.10098.1.1.12.3 NAME 'gosaObject' DESC 'GOsa - DN of an object' OBSOLETE EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( 1.3.6.1.4.1.10098.1.1.12.30 NAME 'gosaGroupObjects' DESC 'GOsa - List of all object types that are in a gosaGroupOfNames' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.10098.1.1.12.34 NAME 'gosaAclTemplate' DESC 'GOsa - ACL entries for ACL roles' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype ( 1.3.6.1.4.1.10098.1.1.12.35 NAME 'gosaAclEntry' DESC 'GOsa - ACL entries' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype ( 1.3.6.1.4.1.10098.1.1.12.37 NAME 'gosaSnapshotTimestamp' DESC 'GOsa - Unix timestamp of snapshot' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.10098.1.1.12.38 NAME 'gosaSnapshotDN' DESC 'GOsa - Original DN of saved object in snapshot' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.10098.1.1.12.39 NAME 'gosaSnapshotData' DESC 'GOsa - Original data of saved object in snapshot' SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE) attributetype ( 1.3.6.1.4.1.38414.62.1.1 NAME 'fdUserDn' DESC 'GOsa - DN of a user' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.62.1.2 NAME 'fdObjectDn' DESC 'GOsa - DN of an object' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributetype ( 1.3.6.1.4.1.38414.62.1.3 NAME 'fdLockTimestamp' DESC 'FusionDirectory - Lock token timestamp' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE ) # Classes objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.2 NAME 'gosaLockEntry' SUP top STRUCTURAL DESC 'GOsa - Class for GOsa locking' OBSOLETE MUST ( gosaUser $ gosaObject $ cn )) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.4 NAME 'gosaDepartment' SUP top AUXILIARY DESC 'GOsa - Class to mark Departments for GOsa' MUST ( ou $ description ) MAY ( manager $ co $ labeledURI ) ) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.11 NAME 'gosaUserTemplate' SUP top AUXILIARY DESC 'GOsa - Class for GOsa User Templates' OBSOLETE MUST ( cn )) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.12 NAME 'gosaGroupOfNames' DESC 'GOsa - Adds the gosaGroupObjects field to groupOfNames' SUP top AUXILIARY MUST ( cn $ gosaGroupObjects ) MAY ( member $ description ) ) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.17 NAME 'gosaRole' DESC 'GOsa - ACL container to define ACL roles' SUP top STRUCTURAL MUST ( gosaAclTemplate $ cn ) MAY ( description ) ) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.18 NAME 'gosaAcl' DESC 'GOsa - ACL container to define single ACLs' SUP top AUXILIARY MUST ( gosaAclEntry )) objectclass ( 1.3.6.1.4.1.10098.1.2.1.19.19 NAME 'gosaSnapshotObject' DESC 'GOsa - Container object for undo and snapshot data' SUP top STRUCTURAL MUST ( gosaSnapshotTimestamp $ gosaSnapshotDN $ gosaSnapshotData ) MAY ( description ) ) objectclass ( 1.3.6.1.4.1.38414.62.2.1 NAME 'fdLockEntry' SUP top STRUCTURAL DESC 'GOsa - Class for FD locking' MUST ( fdUserDn $ fdObjectDn $ cn $ fdLockTimestamp )) fusiondirectory-1.0.19/contrib/openldap/ldapns.schema000066400000000000000000000012341304016502700227350ustar00rootroot00000000000000# $Id: ldapns.schema,v 1.3 2003/05/29 12:57:29 lukeh Exp $ # LDAP Name Service Additional Schema # http://www.iana.org/assignments/gssapi-service-names attributetype ( 1.3.6.1.4.1.5322.17.2.1 NAME 'authorizedService' DESC 'IANA GSS-API authorized service name' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} ) objectclass ( 1.3.6.1.4.1.5322.17.1.1 NAME 'authorizedServiceObject' DESC 'Auxiliary object class for adding authorizedService attribute' SUP top AUXILIARY MAY authorizedService ) objectclass ( 1.3.6.1.4.1.5322.17.1.2 NAME 'hostObject' DESC 'Auxiliary object class for adding host attribute' SUP top AUXILIARY MAY host ) fusiondirectory-1.0.19/contrib/openldap/rfc2307bis.schema000066400000000000000000000225151304016502700232450ustar00rootroot00000000000000# builtin # #attributetype ( 1.3.6.1.1.1.1.0 NAME 'uidNumber' # DESC 'An integer uniquely identifying a user in an administrative domain' # EQUALITY integerMatch # SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 # SINGLE-VALUE ) # builtin # #attributetype ( 1.3.6.1.1.1.1.1 NAME 'gidNumber' # DESC 'An integer uniquely identifying a group in an # administrative domain' # EQUALITY integerMatch # SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 # SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; the common name' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.3 NAME 'homeDirectory' DESC 'The absolute path to the home directory' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.4 NAME 'loginShell' DESC 'The path to the login shell' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.5 NAME 'shadowLastChange' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.6 NAME 'shadowMin' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.7 NAME 'shadowMax' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.8 NAME 'shadowWarning' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.9 NAME 'shadowInactive' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.10 NAME 'shadowExpire' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.11 NAME 'shadowFlag' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.12 NAME 'memberUid' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.13 NAME 'memberNisNetgroup' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.14 NAME 'nisNetgroupTriple' DESC 'Netgroup triple' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.15 NAME 'ipServicePort' DESC 'Service port number' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.16 NAME 'ipServiceProtocol' DESC 'Service protocol name' SUP name ) attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber' DESC 'IP protocol number' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.18 NAME 'oncRpcNumber' DESC 'ONC RPC number' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.19 NAME 'ipHostNumber' DESC 'IPv4 addresses as a dotted decimal omitting leading zeros or IPv6 addresses as defined in RFC2373' SUP name ) attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber' DESC 'IP network as a dotted decimal, eg. 192.168, omitting leading zeros' SUP name SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber' DESC 'IP netmask as a dotted decimal, eg. 255.255.255.0, omitting leading zeros' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.22 NAME 'macAddress' DESC 'MAC address in maximal, colon separated hex notation, eg. 00:00:92:90:ee:e2' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.23 NAME 'bootParameter' DESC 'rpc.bootparamd parameter' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.24 NAME 'bootFile' DESC 'Boot image name' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) attributetype ( 1.3.6.1.1.1.1.26 NAME 'nisMapName' DESC 'Name of a A generic NIS map' SUP name ) attributetype ( 1.3.6.1.1.1.1.27 NAME 'nisMapEntry' DESC 'A generic NIS entry' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.28 NAME 'nisPublicKey' DESC 'NIS public key' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.29 NAME 'nisSecretKey' DESC 'NIS secret key' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.30 NAME 'nisDomain' DESC 'NIS domain' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26) attributetype ( 1.3.6.1.1.1.1.31 NAME 'automountMapName' DESC 'automount Map Name' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.32 NAME 'automountKey' DESC 'Automount Key value' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) attributetype ( 1.3.6.1.1.1.1.33 NAME 'automountInformation' DESC 'Automount information' EQUALITY caseExactIA5Match SUBSTR caseExactIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) objectclass ( 1.3.6.1.1.1.2.0 NAME 'posixAccount' SUP top AUXILIARY DESC 'Abstraction of an account with POSIX attributes' MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) ) objectclass ( 1.3.6.1.1.1.2.1 NAME 'shadowAccount' SUP top AUXILIARY DESC 'Additional attributes for shadow passwords' MUST uid MAY ( userPassword $ description $ shadowLastChange $ shadowMin $ shadowMax $ shadowWarning $ shadowInactive $ shadowExpire $ shadowFlag ) ) objectclass ( 1.3.6.1.1.1.2.2 NAME 'posixGroup' SUP top AUXILIARY DESC 'Abstraction of a group of accounts' MUST gidNumber MAY ( userPassword $ memberUid $ description ) ) objectclass ( 1.3.6.1.1.1.2.3 NAME 'ipService' SUP top STRUCTURAL DESC 'Abstraction an Internet Protocol service. Maps an IP port and protocol (such as tcp or udp) to one or more names; the distinguished value of the cn attribute denotes the services canonical name' MUST ( cn $ ipServicePort $ ipServiceProtocol ) MAY description ) objectclass ( 1.3.6.1.1.1.2.4 NAME 'ipProtocol' SUP top STRUCTURAL DESC 'Abstraction of an IP protocol. Maps a protocol number to one or more names. The distinguished value of the cn attribute denotes the protocols canonical name' MUST ( cn $ ipProtocolNumber ) MAY description ) objectclass ( 1.3.6.1.1.1.2.5 NAME 'oncRpc' SUP top STRUCTURAL DESC 'Abstraction of an Open Network Computing (ONC) [RFC1057] Remote Procedure Call (RPC) binding. This class maps an ONC RPC number to a name. The distinguished value of the cn attribute denotes the RPC services canonical name' MUST ( cn $ oncRpcNumber ) MAY description ) objectclass ( 1.3.6.1.1.1.2.6 NAME 'ipHost' SUP top AUXILIARY DESC 'Abstraction of a host, an IP device. The distinguished value of the cn attribute denotes the hosts canonical name. Device SHOULD be used as a structural class' MUST ( cn $ ipHostNumber ) MAY ( userPassword $ l $ description $ manager ) ) objectclass ( 1.3.6.1.1.1.2.7 NAME 'ipNetwork' SUP top STRUCTURAL DESC 'Abstraction of a network. The distinguished value of the cn attribute denotes the networks canonical name' MUST ipNetworkNumber MAY ( cn $ ipNetmaskNumber $ l $ description $ manager ) ) objectclass ( 1.3.6.1.1.1.2.8 NAME 'nisNetgroup' SUP top STRUCTURAL DESC 'Abstraction of a netgroup. May refer to other netgroups' MUST cn MAY ( nisNetgroupTriple $ memberNisNetgroup $ description ) ) objectclass ( 1.3.6.1.1.1.2.9 NAME 'nisMap' SUP top STRUCTURAL DESC 'A generic abstraction of a NIS map' MUST nisMapName MAY description ) objectclass ( 1.3.6.1.1.1.2.10 NAME 'nisObject' SUP top STRUCTURAL DESC 'An entry in a NIS map' MUST ( cn $ nisMapEntry $ nisMapName ) MAY description ) objectclass ( 1.3.6.1.1.1.2.11 NAME 'ieee802Device' SUP top AUXILIARY DESC 'A device with a MAC address; device SHOULD be used as a structural class' MAY macAddress ) objectclass ( 1.3.6.1.1.1.2.12 NAME 'bootableDevice' SUP top AUXILIARY DESC 'A device with boot parameters; device SHOULD be used as a structural class' MAY ( bootFile $ bootParameter ) ) objectclass ( 1.3.6.1.1.1.2.14 NAME 'nisKeyObject' SUP top AUXILIARY DESC 'An object with a public and secret key' MUST ( cn $ nisPublicKey $ nisSecretKey ) MAY ( uidNumber $ description ) ) objectclass ( 1.3.6.1.1.1.2.15 NAME 'nisDomainObject' SUP top AUXILIARY DESC 'Associates a NIS domain with a naming context' MUST nisDomain ) objectclass ( 1.3.6.1.1.1.2.16 NAME 'automountMap' SUP top STRUCTURAL MUST ( automountMapName ) MAY description ) objectclass ( 1.3.6.1.1.1.2.17 NAME 'automount' SUP top STRUCTURAL DESC 'Automount information' MUST ( automountKey $ automountInformation ) MAY description ) ## namedObject is needed for groups without members objectclass ( 1.3.6.1.4.1.5322.13.1.1 NAME 'namedObject' SUP top STRUCTURAL MAY cn ) fusiondirectory-1.0.19/contrib/openldap/template-fd.schema000066400000000000000000000006501304016502700236570ustar00rootroot00000000000000## ## template-fd.schema - Needed by Fusion Directory for managing templates ## # Attributes attributetype ( 1.3.6.1.4.1.38414.38.1.1 NAME 'fdTemplateField' DESC 'FusionDirectory - template field' EQUALITY caseExactMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) # Objectclasses objectclass (1.3.6.1.4.1.38414.38.2.1 NAME 'fdTemplate' DESC 'FusionDirectory - template object' MUST ( cn ) MAY ( fdTemplateField ) ) fusiondirectory-1.0.19/contrib/smarty/000077500000000000000000000000001304016502700200075ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/smarty/plugins/000077500000000000000000000000001304016502700214705ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/smarty/plugins/block.render.php000066400000000000000000000106271304016502700245570ustar00rootroot00000000000000 */ if(empty($text)) { return(""); } /* Get acl parameter */ $acl = ""; if (isset($params['acl'])) { $acl = $params['acl']; } /* Debug output */ if (session::is_set('DEBUGLEVEL') && session::get('DEBUGLEVEL') & DEBUG_ACL ){ echo "
 ".$acl."
"; } /* Parameter : checkbox, checked * If the parameter 'checkbox' is given, we create a html checkbox in front * of the current object. * The parameter 'checked' specifies whether the box is checked or not. * The checkbox disables or enables the current object. */ if(isset($params['checkbox']) && $params['checkbox']){ /* Detect name and id of the current object */ $use_text = preg_replace("/\n/"," ",$text); $name = preg_replace('/^.* name[ ]*=[ ]*("|\')([^\"\' ]*).*$/i',"\\2",$use_text); /* Detect id */ if(preg_match("/ id=(\"|')[^\"']*(\"|')/i",$text)){ $id = preg_replace('/^.* id[ ]*=[ ]*("|\')([^\"\' ]*).*$/i',"\\2",$use_text); }else{ $id = ""; } /* Is the box checked? */ isset($params['checked'])&&$params['checked'] ? $check = " checked " : $check = ""; /* If name isset, we have a html input field */ if(!empty($name)){ /* Print checkbox */ echo ""; /* Disable current object, if checkbox isn't checked */ if($check == ""){ $text = preg_replace("/name=/i"," disabled name=",$text); } /* Add id to current entry, if it is missing */ if($id == ""){ $text = preg_replace("/name=/i"," id=\"".$name."\" name=",$text); } } } /* Read / Write*/ if(preg_match("/w/i",$acl)){ return ($text); } $text = preg_replace ("/\n/","GOSA_LINE_BREAK",$text); /* Disable objects, but keep those active that have mode=read_active */ if(!(isset($params['mode']) && ($params['mode']=='read_active') && preg_match("/(r|w)/",$acl))){ /* Disable options && greyout divlists */ $from = array("/class=['\"]list1nohighlight['\"]/i", "/class=['\"]list0['\"]/i", "/class=['\"]list1['\"]/i", "/class=['\"]sortableListItem[^'\"]*['\"]/i"); $to = array("class='list1nohighlightdisabled'", "class='list1nohighlightdisabled'", "class='list1nohighlightdisabled'", "class='sortableListItemDisabled'"); if(!preg_match('/ disabled(="disabled")?( |\/?>)/', $text)){ $from [] = "/name=/i" ; $to [] = "disabled name="; } $text = preg_replace($from,$to,$text); /* Replace picture if object is disabled */ if(isset($params['disable_picture'])){ $syn = "/src=['\"][^\"']*['\"]/i"; $new = "src=\"".$params['disable_picture']."\""; $text = preg_replace($syn,$new,$text); } } /* Read only */ if(preg_match("/r/i",$acl)){ return(preg_replace("/GOSA_LINE_BREAK/","\n",$text)); } /* No acls */ if(preg_match("/type['\"= ].*submit/",$text)){ $text = preg_replace("/submit/","button",$text); }else{ $text = preg_replace("/value=['\"][^\"']*['\"]/","",$text); } /* Remove select options */ $from = array("##i", "/().*(<\/textarea>)/i", "/^(.*.*)$/i"); $to = array(" ", "\\1\\2", "\\1 \\2"); $text = preg_replace($from,$to,$text); $text = preg_replace("/GOSA_LINE_BREAK/","\n",$text); return $text; } ?> fusiondirectory-1.0.19/contrib/smarty/plugins/function.filePath.php000066400000000000000000000034711304016502700255660ustar00rootroot00000000000000get_cfg_value('theme', $default_theme); } else { $theme = $default_theme; } $filename = $params['file']; if (file_exists("themes/$theme/$filename")) { return "themes/$theme/$filename"; } $dir = $smarty->template_dir; if (is_array($dir)) { $dir = $dir[0]; } if (file_exists("$dir/themes/$theme/$filename")) { return "$dir/themes/$theme/$filename"; } if (file_exists("themes/$default_theme/$filename")) { return "themes/$default_theme/$filename"; } if (file_exists("$dir/themes/$default_theme/$filename")) { return "$dir/themes/$default_theme/$filename"; } if (file_exists("themes/default/$filename")) { return "themes/default/$filename"; } if (file_exists("$dir/themes/default/$filename")) { return "$dir/themes/default/$filename"; } return $filename; } ?> fusiondirectory-1.0.19/contrib/smarty/plugins/function.iconPath.php000066400000000000000000000022111304016502700255660ustar00rootroot00000000000000get_cfg_value("theme"); } return IconTheme::findThemeIcon($theme, $params['context'], $params['icon'], $params['size']); } ?> fusiondirectory-1.0.19/contrib/smarty/plugins/function.msgPool.php000066400000000000000000000026131304016502700254470ustar00rootroot00000000000000 $value){ if(!preg_match("/^type$/i",$para)){ $parameter[$para] = $value; } } if(is_callable("msgPool::".$params['type'])){ echo call_user_func_array(array("msgPool",$params['type']), $parameter); }else{ trigger_error("Unknown msgPool function ".$params['type']); } }else{ trigger_error("Unknown class msgPool."); } } ?> fusiondirectory-1.0.19/html/000077500000000000000000000000001304016502700157745ustar00rootroot00000000000000fusiondirectory-1.0.19/html/autocomplete.php000066400000000000000000000056441304016502700212170ustar00rootroot00000000000000department_info as $dn => $info) { if (!isset($pathMapping[$dn])) { continue; } if (mb_stristr($info['name'], $search) !== FALSE) { $res .= "
  • ".mark($search, $pathMapping[$dn]).($info['description'] == ''?"":" [".mark($search, $info['description'])."]")."
  • "; continue; } if (mb_stristr($info['description'], $search) !== FALSE) { $res .= "
  • ".mark($search, $pathMapping[$dn]).($info['description'] == ''?"":" [".mark($search, $info['description'])."]")."
  • "; continue; } if (mb_stristr($pathMapping[$dn], $search) !== FALSE) { $res .= "
  • ".mark($search, $pathMapping[$dn]).($info['description'] == ''?"":" [".mark($search, $info['description'])."]")."
  • "; continue; } } /* Return results */ if (!empty($res)) { echo "
      $res
    "; } } } else { $ui = session::global_get('ui'); /* Is there a filter object arround? */ if (session::is_set("autocomplete")) { $filter = session::get("autocomplete"); $filter->processAutocomplete(); } } ?> fusiondirectory-1.0.19/html/class_passwordRecovery.inc000066400000000000000000000474271304016502700232530ustar00rootroot00000000000000interactive = $interactive; if ($this->interactive) { /* Destroy old session if exists. Else you will get your old session back, if you not logged out correctly. */ session::destroy(); session::start(); /* Reset errors */ reset_errors(); $config = $this->loadConfig(); /* If SSL is forced, just forward to the SSL enabled site */ if (($config->get_cfg_value("forcessl") == "TRUE") && ($ssl != '')) { header ("Location: $ssl"); exit; } $this->setupSmarty(); $smarty = get_smarty(); /* Generate server list */ $servers = array(); foreach ($config->data['LOCATIONS'] as $key => $ignored) { $servers[$key] = $key; } $smarty->assign("show_directory_chooser", FALSE); if (isset($_POST['server'])) { $this->directory = validate($_POST['server']); } elseif (isset($_GET['directory']) && isset($servers[$_GET['directory']])) { $this->directory = validate($_GET['directory']); } else { $this->directory = $config->data['MAIN']['DEFAULT']; if (!isset($servers[$this->directory])) { $this->directory = key($servers); } if (count($servers) > 1) { $smarty->assign("show_directory_chooser", TRUE); $smarty->assign("server_options", $servers); $smarty->assign("server_id", $this->directory); } } /* Set config to selected one */ $config->set_current($this->directory); session::global_set('config', $config); } $this->activated = $this->readLdapConfig(); if (!$this->activated) { /* Password recovery has been disabled */ return; } if ($this->interactive) { initLanguage(); if (session::global_is_set('plist')) { session::global_un_set('plist'); } $ui = new fake_userinfo(); load_plist(); $ssl = $this->checkForSSL(); } } function loadConfig() { global $BASE_DIR; /* Check if CONFIG_FILE is accessible */ if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)) { msg_dialog::display(_("Fatal error"), sprintf(_("FusionDirectory configuration %s/%s is not readable. Aborted."), CONFIG_DIR, CONFIG_FILE), FATAL_ERROR_DIALOG); exit(); } /* Parse configuration file */ $config = new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR); session::global_set('DEBUGLEVEL', $config->get_cfg_value("debuglevel")); @DEBUG(DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"); return $config; } function setupSmarty() { global $config; $smarty = get_smarty(); /* Set template compile directory */ $smarty->compile_dir = $config->get_cfg_value("templateCompileDirectory", SPOOL_DIR); /* Check for compile directory */ if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) { msg_dialog::display(_("Configuration error"), sprintf(_("Directory '%s' specified as compile directory is not accessible!"), $smarty->compile_dir), FATAL_ERROR_DIALOG); exit(); } /* Check for old files in compile directory */ clean_smarty_compile_dir($smarty->compile_dir); $smarty->assign('password_img', 'geticon.php?context=status&icon=dialog-password&size=48'); $smarty->assign('date', gmdate("D, d M Y H:i:s")); $smarty->assign('params', ""); $smarty->assign('message', ""); $smarty->assign('changed', FALSE); } function checkForSSL() { global $config; $smarty = get_smarty(); /* Check for SSL connection */ $ssl = ''; $smarty->assign('ssl', ''); if (!sslOn()) { $ssl = sslUrl(); /* If SSL is forced, just forward to the SSL enabled site */ if ($config->get_cfg_value('forcessl') == 'TRUE') { header("Location: $ssl"); exit; } elseif ($config->get_cfg_value('warnssl') == 'TRUE') { /* Display SSL mode warning? */ $smarty->assign ('ssl', sprintf(_('Warning:
    Session is not encrypted!'), $ssl)); } } return $ssl; } function getPageURL() { $protocol = 'http'; if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) { $protocol .= 's'; } $port = '80'; if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) { $host = $_SERVER['HTTP_X_FORWARDED_HOST']; if (isset($_SERVER['HTTP_X_FORWARDED_PORT'])) { $port = $_SERVER['HTTP_X_FORWARDED_PORT']; } if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { $protocol = $_SERVER['HTTP_X_FORWARDED_PROTO']; } } else { $host = $_SERVER['SERVER_NAME']; $port = $_SERVER['SERVER_PORT']; } $pageURL = $protocol.'://'; $pageURL .= $host; if ($port != '80') { $pageURL .= ':'.$port; } if (empty($_SERVER['PATH_INFO'])) { $pageURL .= $_SERVER['PHP_SELF']; } else { $pageURL .= $_SERVER['PATH_INFO']; } return $pageURL; } function encodeParams($keys) { $params = ''; foreach ($keys as $key) { $params .= "&$key=".urlencode($this->$key); } $params = preg_replace('/^&/', '?', $params); return $params; } static function generateRandomHash() { /* Generate a very long random value */ $len = 56; $base = 'ABCDEFGHKLMNOPQRSTWXYZabcdefghjkmnpqrstwxyz123456789'; $max = strlen($base) - 1; $randomhash = ''; mt_srand((double) microtime() * 1000000); while (strlen($randomhash) < $len + 1) { $randomhash .= $base{mt_rand(0, $max)}; } return $randomhash; } } class passwordRecovery extends standAlonePage { var $uid; var $message = array(); var $email_address; var $step = 1; /* Some Configuration variable */ /* Salt needed to mask the uniq id in the ldap */ var $salt; /* Delay allowed for the user to change his password (minutes) */ var $delay_allowed; /* Sender */ var $from_mail; var $mail_body; var $mail_subject; var $mail2_body; var $mail2_subject; var $usealternates; /* Constructor */ function __construct($interactive = TRUE) { parent::__construct($interactive); if (isset($_GET['email_address']) && $_GET['email_address'] != "") { $this->email_address = validate($_GET['email_address']); } elseif (isset($_POST['email_address'])) { $this->email_address = validate($_POST['email_address']); } /* Check for selected user... */ if (isset($_GET['uid']) && $_GET['uid'] != "") { $this->uid = validate($_GET['uid']); } elseif (isset($_POST['uid'])) { $this->uid = validate($_POST['uid']); } else { $this->uid = ''; } } function execute() { if (!$this->activated) { return; } /* Got a formular answer, validate and try to log in */ if ($_SERVER["REQUEST_METHOD"] == "POST") { if (session::global_is_set('_LAST_PAGE_REQUEST')) { session::global_set('_LAST_PAGE_REQUEST', time()); } if (isset($_POST['change'])) { $this->step4(); } elseif (isset($_POST['apply'])) { if ($_POST['email_address'] == '') { $this->message[] = msgPool::required(_('Email address')); return; } $this->email_address = $_POST['email_address']; $this->step2(); if ($this->step == 2) { /* No errors */ $this->step3(); } } } elseif ($_SERVER["REQUEST_METHOD"] == "GET") { if (isset($_GET['uniq'])) { $this->step4(); } } } function displayPWchanger() { global $error_collector, $error_collector_mailto; /* Do we need to show error messages? */ if (count($this->message) != 0) { /* Show error message and continue editing */ msg_dialog::displayChecks($this->message); } @DEBUG(DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->step, "Step"); $smarty = get_smarty(); $smarty->assign("PHPSESSID", session_id()); if (session::is_set('errors')) { $smarty->assign("errors", session::get('errors')); } if ($error_collector != "") { $smarty->assign("php_errors", preg_replace("/%BUGBODY%/", $error_collector_mailto, $error_collector).""); } else { $smarty->assign("php_errors", ""); } $smarty->assign('msg_dialogs', msg_dialog::get_dialogs()); $smarty->assign('usePrototype', 'FALSE'); $smarty->append('js_files', 'include/pwdStrength.js'); $smarty->append('css_files', get_template_path('login.css')); $lang = session::global_get('lang'); $smarty->assign('lang', preg_replace('/_.*$/', '', $lang)); $smarty->assign('rtl', language_is_rtl($lang)); $smarty->display(get_template_path('headers.tpl')); $smarty->assign('version', FD_VERSION); $smarty->assign('step', $this->step); $smarty->assign('delay_allowed', $this->delay_allowed); $smarty->assign('activated', $this->activated); $smarty->assign('email_address', $this->email_address); $smarty->display(get_template_path('recovery.tpl')); exit(); } /* Check that password recovery is activated, read config in ldap * Returns a boolean saying if password recovery is activated */ function readLdapConfig() { global $config; $this->salt = $config->get_cfg_value('passwordRecoverySalt'); $this->delay_allowed = $config->get_cfg_value('passwordRecoveryValidity'); $this->mail_subject = $config->get_cfg_value('passwordRecoveryMailSubject'); $this->mail_body = $config->get_cfg_value('passwordRecoveryMailBody'); $this->mail2_subject = $config->get_cfg_value('passwordRecoveryMail2Subject'); $this->mail2_body = $config->get_cfg_value('passwordRecoveryMail2Body'); $this->from_mail = $config->get_cfg_value('passwordRecoveryEmail'); $this->usealternates = $config->get_cfg_value('passwordRecoveryUseAlternate'); @DEBUG(DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $config->get_cfg_value('passwordRecoveryActivated'), "passwordRecoveryActivated"); return ($config->get_cfg_value('passwordRecoveryActivated') == "TRUE"); } function storeToken($temp_password) { global $config; /* Store it in ldap with the salt */ $salt_temp_password = $this->salt.$temp_password.$this->salt; $sha1_temp_password = "{SHA}".base64_encode(pack("H*", sha1($salt_temp_password))); $ldap = $config->get_ldap_link(); // Check if token branch is here $token = get_ou('recoveryTokenRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']; $ldap->cat($token, array('dn')); if (!$ldap->count()) { /* It's not, let's create it */ $ldap->cd ($config->current['BASE']); $ldap->create_missing_trees($token); if (!$ldap->success()) { return msgPool::ldaperror($ldap->get_error(), $token, LDAP_MOD, get_class()); } fusiondirectory_log("Created token branch ".$token); } $dn = "ou=".$this->uid.",$token"; $ldap->cat($dn, array('dn')); $add = ($ldap->count() == 0); /* We store the token and its validity due date */ $attrs = array( 'objectClass' => array('organizationalUnit'), 'ou' => $this->uid, 'userPassword' => $sha1_temp_password, 'description' => time() + $this->delay_allowed * 60, ); $ldap->cd($dn); if ($add) { $ldap->add($attrs); } else { $ldap->modify($attrs); } if (!$ldap->success()) { return msgPool::ldaperror($ldap->get_error(), $dn, LDAP_ADD, get_class()); } return ""; /* Everything went well */ } function checkToken($token) { global $config; $salt_token = $this->salt.$token.$this->salt; $sha1_token = "{SHA}".base64_encode(pack("H*", sha1($salt_token))); /* Retrieve hash from the ldap */ $ldap = $config->get_ldap_link(); $token = get_ou('recoveryTokenRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']; $dn = "ou=".$this->uid.",$token"; $ldap->cat($dn); $attrs = $ldap->fetch(); $ldap_token = $attrs['userPassword'][0]; $last_time_recovery = $attrs['description'][0]; /* Return TRUE if the token match and is still valid */ return ($last_time_recovery >= time()) && ($ldap_token == $sha1_token); } function getUserDn() { global $config; /* Retrieve dn from the ldap */ $ldap = $config->get_ldap_link(); $objectClasses = array('gosaMailAccount'); if (class_available('personalInfo') && ($config->get_cfg_value('privateEmailPasswordRecovery', 'FALSE') == 'TRUE')) { $objectClasses[] = 'fdPersonalInfo'; } if (class_available('supannAccount') && ($config->get_cfg_value('supannPasswordRecovery', 'TRUE') == 'TRUE')) { $objectClasses[] = 'supannPerson'; } $filter = '(&(|(objectClass='.join(')(objectClass=', $objectClasses).'))(uid='.$this->uid.'))'; $ldap->cd($config->current['BASE']); $ldap->search($filter, array('dn')); if ($ldap->count() < 1) { $this->message[] = sprintf(_('Did not find an account with login "%s"'), $this->uid); return; } elseif ($ldap->count() > 1) { $this->message[] = sprintf(_('Found multiple accounts with login "%s"'), $this->uid); return; } $attrs = $ldap->fetch(); return $attrs['dn']; } /* find the uid of for the given email address */ function step2() { global $config; /* Search uid corresponding to the mail */ if ($this->usealternates) { $filter = '(&(objectClass=gosaMailAccount)(|(mail='.$this->email_address.')(gosaMailAlternateAddress='.$this->email_address.')))'; } else { $filter = '(&(objectClass=gosaMailAccount)(mail='.$this->email_address.'))'; } if (class_available('personalInfo') && ($config->get_cfg_value('privateEmailPasswordRecovery', 'FALSE') == 'TRUE')) { $filter = '(|'.$filter.'(&(objectClass=fdPersonalInfo)(fdPrivateMail='.$this->email_address.')))'; } if (class_available('supannAccount') && ($config->get_cfg_value('supannPasswordRecovery', 'TRUE') == 'TRUE')) { $filter = '(|'.$filter.'(&(objectClass=supannPerson)(supannMailPerso='.$this->email_address.')))'; } $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search($filter, array('dn', 'userPassword', 'uid')); /* Only one uid should be found */ if ($ldap->count() < 1) { $this->message[] = sprintf(_('There is no account using email "%s"'), $this->email_address); return; } elseif ($ldap->count() > 1) { $this->message[] = sprintf(_('There are several accounts using email "%s"'), $this->email_address); return; } $attrs = $ldap->fetch(); $method = passwordMethod::get_method($attrs['userPassword'][0], $attrs['dn']); if (is_object($method) && $method->is_locked($attrs['dn'])) { $this->message[] = sprintf(_('The user using email "%s" is locked. Please contact your administrator.'), $this->email_address); return; } $this->uid = $attrs['uid'][0]; $this->step = 2; if ($this->interactive) { $smarty = get_smarty(); $smarty->assign('uid', $this->uid); $smarty->assign('email_address', $this->email_address); $params = $this->encodeParams(array('uid', 'directory', 'email_address')); $smarty->assign('params', $params); } return $attrs['dn']; } function generateAndStoreToken() { $activatecode = static::generateRandomHash(); $error = $this->storeToken($activatecode); if (!empty($error)) { $this->message[] = $error; return FALSE; } return $activatecode; } /* generate a token and send it by email */ function step3() { /* Send a mail, save information in session and create a very random unique id */ $token = $this->generateAndStoreToken(); if ($token === FALSE) { return; } $reinit_link = $this->getPageURL(); $reinit_link .= "?uniq=".urlencode($token); $reinit_link .= "&uid=".urlencode($this->uid); $reinit_link .= "&email_address=".urlencode($this->email_address); @DEBUG(DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $reinit_link, "Setting link to"); /* Send the mail */ $mail_body = sprintf($this->mail_body, $this->uid, $reinit_link); if (mail_utf8($this->email_address, FALSE, $this->from_mail, $this->mail_subject, $mail_body)) { $this->step = 3; } else { $this->message[] = msgPool::invalid(_("Contact your administrator, there was a problem with mail server")); } $smarty = get_smarty(); $smarty->assign('uid', $this->uid); } /* check if the given token is the good one */ function step4() { $uniq_id_from_mail = validate($_GET['uniq']); if (!$this->checkToken($uniq_id_from_mail)) { $this->message[] = _("This token is invalid"); return; } $smarty = get_smarty(); $smarty->assign('uniq', $uniq_id_from_mail); $this->uniq = $uniq_id_from_mail; $this->step = 4; $smarty->assign('uid', $this->uid); $params = $this->encodeParams(array('uid', 'directory', 'email_address', 'uniq')); $smarty->assign('params', $params); if (isset($_POST['change'])) { $this->step5(); } } function changeUserPassword($new_password, $new_password_repeated) { $dn = $this->getUserDn(); if (!$dn) { return FALSE; } $userTabs = objects::open($dn, 'user'); $userTab = $userTabs->getBaseObject(); $userTab->userPassword = array( '', $new_password, $new_password_repeated, $userTab->userPassword, $userTab->attributesAccess['userPassword']->isLocked() ); /* Is there any problem with entered passwords? */ $error = $userTabs->check(); if (!empty($error)) { $this->message = $error; return FALSE; } $userTabs->save_object(); $userTabs->save(); fusiondirectory_log('User '.$this->uid.' password has been changed'); return TRUE; } /* change the password and send confirmation email */ function step5() { $success = $this->changeUserPassword($_POST['new_password'], $_POST['new_password_repeated']); if (!$success) { return; } /* Send the mail */ $mail_body = sprintf($this->mail2_body, $this->uid); if (mail_utf8($this->email_address, FALSE, $this->from_mail, $this->mail2_subject, $mail_body)) { $smarty = get_smarty(); $this->step = 5; $smarty->assign('changed', TRUE); } else { $this->message[] = msgPool::invalid(_("There was a problem with mail server, confirmation email not sent")); } } } ?> fusiondirectory-1.0.19/html/favicon.ico000066400000000000000000000102761304016502700201230ustar00rootroot00000000000000  ( @ 333('''$$$###,"""&$1  ($#$$$#"""&!!!!!!/$9&"&&"""$$$ . @$$$##" %0 %7 &(!!!. $8!!&f #n$2!!&/!!!$*"K!#!!="""&&+++ ++ -!!!##  P"""%L$)2"""&#:"C$#"""""%(3##$&"!!!$$$ ++ @++ +++ ")%!!!.!!!>!!N&&&"""". ###'' """"""%!!! ,$$#+&&&!!!+ +' @@. $###!"-)"""5###$,,''' +$*!!%E""(-$###,!'!#$$$+'!&++ 3"""#$!!'. $G #g%%)3 $$$)!!%> #""4!!'''B $""<$$&"$c$9  $$$"")'!'' @"%a!$\"+ #. """ . ''' )%#Q#:"""&#$$r"K' 333''' #'!"&5 H$$$9##+$!!!"""%&"$###+  +333.  """##3'' """$$$$ $8$j "a"""'''""5 #n $@$$.  $ &%)&& ) #g!!%E$$$&$!!!6 $q!!!$$$++ . ###   ++  %)!$T!!!.333$$$!!)##$$+ +$+$$$+  -!!!# " # # $ $@ @+++%)#!!!'""" !#$$!!!/" 0  $ # # # # # #"%Z.  $###$&&+ !!! ##$"""%""5#&"!!$V # # # # # # # ####$$$.  $"""&),###B&&&!!!/"S  # # # # # # # # # #`9 ++ $ $8 #`#W ##&"))) . " # # # # # # # # $ . $$$ ""&5!!M#!#s333 # # # # # # # # # $p#3$2''' +++&&(&!&6 "Y !$G$$$) $$$ "p # # # # # # # #### $$$ ##A ( +"")%!'.##H!!'V"""&&&&""+!!!/++ - 0!$ # # # # # #$z$$$#A!!!'$$$+++ +!!!###&6$1!!!!!! #H $w$# ""+ ## # ##!!$'($$$. + """ $$1$$$# !!!'!%E!$N$$$ +++''' . $ $@##B  ++ $$$'#B""'4$$  $$$* ( $$++ ++ $$$$$$.    .  $$$&"!$] "~""(&&&&" ($#'' $$$((.    ++ . ###!!!##$!!!/ $8''!"""&##3" $q"R###$$$2$N""<&& 0. &!!!$$$333"""(&&!!!"""##%)"$[ $O ""- "a!#l1$$*"[ "$+++ ++  $$$@ $$$$$$ ###  0!>$$$*%%%)#+ (!!!"$1"C$$$#9 +++@$$$###  '''   ++  ""!!''"""5"J!!$F")%#$  $# $$$ ... """&$9$*  333333@+++''' $$$###$ $O!#|$#  """$$$"""%""L(-'!''$1 %a "$*$$$'''  $$$'###,$2#$+++ '!'. %7 $"J)2$$*"-!!!/'!$$$$$$@+ $$$$$*$$$#!++ """"""$#'''$#$*"%"""&&###!!!&###$$$ """$$$"$##$ %0##$ $$$$$!!!(((   '''  #B # $?$+""'''  $$$$$$ $+++  $$$$$$##$ %7""-$$    fusiondirectory-1.0.19/html/getbin.php000066400000000000000000000037201304016502700177570ustar00rootroot00000000000000 fusiondirectory-1.0.19/html/geticon.php000066400000000000000000000035621304016502700201430ustar00rootroot00000000000000get_cfg_value('theme'); } else { header("cache-control: no-cache"); } IconTheme::$default_theme = 'breezy'; IconTheme::$extensions = array('png'); if (!isset($_GET['context']) || !isset($_GET['icon']) || !isset($_GET['size'])) { trigger_error('Missing information in query string: '.$_SERVER['QUERY_STRING']); exit; } $src = IconTheme::findThemeIcon($theme, $_GET['context'], $_GET['icon'], $_GET['size']); header("Content-Type: image/png"); if (isset($_GET['disabled']) && $_GET['disabled']) { $im = new Imagick($src); $im->modulateImage(100, 0, 100); $im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA); echo $im; } else { readfile($src); } ?> fusiondirectory-1.0.19/html/images/000077500000000000000000000000001304016502700172415ustar00rootroot00000000000000fusiondirectory-1.0.19/html/images/date_active.png000066400000000000000000000002451304016502700222200ustar00rootroot00000000000000PNG  IHDR,PLTE{.MtRNS@fbKGDH pHYs  tIME  FIDATc``ca`(`H`p``m@IENDB`fusiondirectory-1.0.19/html/images/down-arrow.png000066400000000000000000000002561304016502700220510ustar00rootroot00000000000000PNG  IHDRB%}bKGD pHYs  ~tIME (8s;IDATxu |? !X$W-< dϐeh7fȥ=f"aIENDB`fusiondirectory-1.0.19/html/images/empty.png000066400000000000000000000002561304016502700211100ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME ( "ytEXtCommentCreated with The GIMPd%nIDATxc``E,IENDB`fusiondirectory-1.0.19/html/images/forward-arrow.png000066400000000000000000000002421304016502700225410ustar00rootroot00000000000000PNG  IHDR~PLTEU~tRNS@fbKGDH pHYs  d_tIME B IDATxch`8`h$^1PIENDB`fusiondirectory-1.0.19/html/images/lists/000077500000000000000000000000001304016502700203775ustar00rootroot00000000000000fusiondirectory-1.0.19/html/images/lists/expand.png000066400000000000000000000002671304016502700223710ustar00rootroot00000000000000PNG  IHDR/ebKGD pHYs  ~tIME  DIDATxU 0Ü.Ӡ^%DiГˊ-чl3=)̷଻WGGYDZh)7IENDB`fusiondirectory-1.0.19/html/images/lists/lastnode.png000066400000000000000000000002201304016502700227100ustar00rootroot00000000000000PNG  IHDR(PLTEؐvtRNS@f pHYs  tIME">IDATch`@TkIENDB`fusiondirectory-1.0.19/html/images/lists/node.png000066400000000000000000000002211304016502700220250ustar00rootroot00000000000000PNG  IHDR(PLTEؐvtRNS@f pHYs  tIME%ZlIDATch`@0ғ NBIENDB`fusiondirectory-1.0.19/html/images/lists/seperator.png000066400000000000000000000002611304016502700231100ustar00rootroot00000000000000PNG  IHDR03bKGD{# pHYs  tIME'tEXtCommentCreated with The GIMPd%nIDATcp&A\a/8*IENDB`fusiondirectory-1.0.19/html/images/lists/vline.png000066400000000000000000000001731304016502700222230ustar00rootroot00000000000000PNG  IHDR O PLTEXen pHYs  tIMEL IDATc`冰JIENDB`fusiondirectory-1.0.19/html/images/opacity_black.png000066400000000000000000000002511304016502700225510ustar00rootroot00000000000000PNG  IHDRĉbKGD pHYs  tIME@"tEXtCommentCreated with The GIMPd%n IDATc```0B-IENDB`fusiondirectory-1.0.19/html/include/000077500000000000000000000000001304016502700174175ustar00rootroot00000000000000fusiondirectory-1.0.19/html/include/datepicker.js000066400000000000000000000704611304016502700221000ustar00rootroot00000000000000/** * DatePicker widget using Prototype and Scriptaculous. * (c) 2007 Mathieu Jondet * Eulerian Technologies * * DatePicker is freely distributable under the same terms as Prototype. * * Modified 10.06.2008 * by Manu * */ /** * 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 datepickers = $H(); 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 : 'de', _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' ], 'es' : [ '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' ], 'es' : [ 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sàb', 'Dom' ], 'it' : [ 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab', 'Dom' ], 'de' : [ 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' ], 'pt' : [ 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sá', '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', 'es' : 'cierre', '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' }), /* date manipulation */ _todayDate : new Date(), _current_date : null, _clickCallback : Prototype.emptyFunction, _cellCallback : Prototype.emptyFunction, _id_datepicker : null, _disablePastDate : false, _disableFutureDate : false, _oneDayInMs : 24 * 3600 * 1000, /* positionning */ _topOffset : 20, _leftOffset : 0, _isPositionned : false, _relativePosition : true, _setPositionTop : 0, _setPositionLeft : 0, _bodyAppend : false, /* 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); }, _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"]; if (this._language_close.get(this._language) === undefined) { this._language = 'en'; } } this._zindex = ( h_p["zindex"] ) ? parseInt(Number(h_p["zindex"])) : 999; 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["showEffect"])) this._showEffect = h_p["showEffect"]; 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"]; 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; this._setPositionTop = ( h_p["setPositionTop"] ) ? parseInt(Number(h_p["setPositionTop"])) : 0; this._setPositionLeft = ( h_p["setPositionLeft"] ) ? parseInt(Number(h_p["setPositionLeft"])) : 0; this._id_datepicker = 'datepicker-'+ this._relative; this._id_datepicker_prev = this._id_datepicker +'-prev'; this._id_datepicker_prev_year = this._id_datepicker +'-prev-year'; this._id_datepicker_next = this._id_datepicker +'-next'; 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'; /* build up calendar skel */ this._div = new Element('div', { id : this._id_datepicker, className : 'datepicker', style : 'display: none; z-index:'+ this._zindex }); this._div.innerHTML = '
    << < > >>
    '; /* Build the datepicker icon */ var datepickeropener = Builder.node('table',{className : "datepicker-opener-table", id: this._id_datepicker + '_image'}); var con = Builder.node('tr',{},[ Builder.node('td',{className : "datepicker-opener", id : "datepicker-opener-"+ this._relative}) ]); // insert into TBODY if (datepickeropener.childNodes[0] !== undefined) { datepickeropener.childNodes[0].appendChild(con); } else { datepickeropener.appendChild(con); } Event.observe(datepickeropener,'click', this.click.bindAsEventListener(this), false); this.insertAfter($(this._relative).parentNode,datepickeropener,$(this._relative)); /* End Build the datepicker icon */ /* 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(1); }.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 */ var body = 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(); /* declare the observers for UI control */ Event.observe($(this._id_datepicker_prev), 'click', this.prevMonth.bindAsEventListener(this), false); Event.observe($(this._id_datepicker_prev_year), 'click', this.prevYear.bindAsEventListener(this), false); Event.observe($(this._id_datepicker_next), 'click', this.nextMonth.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); }, insertAfter : function(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); }, /* hack for buggy form elements layering in IE */ _wrap_in_iframe : function ( content ) { return ( Prototype.Browser.IE && msieversion() < 8 ) ? "
    " + content + "
    " : content; }, /** * visible : return the visibility status of the datepicker. */ visible : function () { return $(this._id_datepicker).visible(); }, /** * click : called when input element is clicked */ click : function () { /* init the datepicker if it doesn't exists */ if ($(this._id_datepicker) == null) this.load(); var a_pos = Element.cumulativeOffset($(this._relative)); this.setPosition(a_pos[1], a_pos[0]); 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(); } /* call the clickCallback function */ this._clickCallback(); /* Effect toggle to fade-in / fade-out the datepicker */ if ( this._enableShowEffect ) { Effect.toggle(this._id_datepicker, this._showEffect, { duration: this._showDuration }); } else { $(this._id_datepicker).show(); } }, /** * close : called when the datepicker is closed */ close : function () { if ( this._enableCloseEffect ) { switch(this._closeEffect) { case 'puff': Effect.Puff(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'blindUp': Effect.BlindUp(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'dropOut': Effect.DropOut(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'switchOff': Effect.SwitchOff(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'squish': Effect.Squish(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'fold': Effect.Fold(this._id_datepicker, { duration : this._closeEffectDuration }); break; case 'shrink': Effect.Shrink(this._id_datepicker, { duration : this._closeEffectDuration }); break; default: Effect.Fade(this._id_datepicker, { duration : this._closeEffectDuration }); break; }; } else { $(this._id_datepicker).hide(); } this._afterClose(); }, /** * 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 ((((year%4) === 0) && (((year%100) !== 0) || ((year%400) !== 0))) && (month === 1)) return 29; return this._daysInMonth[month]; }, /** * _buildCalendar : draw the days array for current date */ _buildCalendar : function () { 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(); var _res; _curDate.setFullYear(h_ij["y"], h_ij["m"], h_ij["d"]); if ( this._disablePastDate || this._disableFutureDate ) { if ( this._disablePastDate ) { _res = ( _curDate >= this._todayDate ) ? true : false; this._bindCellOnClick( td, true, _res, h_ij["c"] ); } if ( this._disableFutureDate ) { _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(); }, _nextYear : function () { var c_mon = this._current_mon; var c_year = this._current_year; c_year += 1; return [ c_mon, c_year ]; }, nextYear : function () { var a_next = this._nextYear(); this._current_mon = a_next[0]; this._current_year = a_next[1]; 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 ) return; this._current_mon = _prevMon; this._current_year = _prevYear; this._redrawCalendar(); }, _prevYear : function () { var c_mon = this._current_mon; var c_year = this._current_year; c_year -= 1; return [ c_mon, c_year ]; }, prevYear : function () { var a_prev = this._prevYear(); this._current_mon = a_prev[0]; this._current_year = a_prev[1]; this._redrawCalendar(); }, _redrawCalendar : function () { this._setLocaleHdr(); this._buildCalendar(); }, _setLocaleHdr : function () { /* prev year link */ var a_prevy = this._prevYear(); $(this._id_datepicker_prev_year).setAttribute('title', this.getMonthLocale(a_prevy[0]) +' '+ a_prevy[1]); /* prev link */ var a_prev = this._prevMonthYear(); $(this._id_datepicker_prev).setAttribute('title', this.getMonthLocale(a_prev[0]) +' '+ a_prev[1]); /* next link */ var a_next = this._nextMonthYear(); $(this._id_datepicker_next).setAttribute('title', this.getMonthLocale(a_next[0]) +' '+ a_next[1]); /* next year link */ var a_nexty = this._nextYear(); $(this._id_datepicker_next_year).setAttribute('title', this.getMonthLocale(a_nexty[0]) +' '+ a_nexty[1]); /* header */ $(this._id_datepicker_hdr).update('   '+ this.getMonthLocale(this._current_mon) +' '+ this._current_year +'   '); } }; function msieversion() { var ua = window.navigator.userAgent var msie = ua.indexOf ( "MSIE " ) if ( msie > 0 ) // If Internet Explorer, return version number return parseInt (ua.substring (msie+5, ua.indexOf (".", msie ))) else // If another browser, return 0 return 0 } fusiondirectory-1.0.19/html/include/fusiondirectory.js000066400000000000000000000236461304016502700232200ustar00rootroot00000000000000/* This code is part of FusionDirectory (http://www.fusiondirectory.org/) Copyright (C) 2003-2010 Cajus Pollmeier Copyright (C) 2011-2016 FusionDirectory This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */ /* Install event handlers */ Event.observe(window, 'load', initProgressPie); /* Toggle checkbox that matches regex */ function chk_set_all(regex,value) { for (var i = 0; i < document.mainform.elements.length; i++) { var _id = document.mainform.elements[i].id; if(_id.match(regex)) { document.mainform.elements[i].checked = value; } } } /* Toggle checkbox that matches regex */ function chk_set_all_by_class(regex,value) { for (var i = 0; i < document.mainform.elements.length; i++) { var _class = document.mainform.elements[i].getAttribute("class"); if(_class && _class.match(regex)) { document.mainform.elements[i].checked = value; } } } function toggle_all_(regex,state_object) { var state = document.getElementById(state_object).checked; chk_set_all(regex, state); } /* Scroll down the body frame */ function scrollDown2() { document.body.scrollTop = document.body.scrollHeight - document.body.clientHeight; } /* Toggle checkbox that matches regex */ function acl_set_all(regex,value) { chk_set_all(regex,value); } /* Toggle checkbox that matches regex */ function acl_toggle_all(regex) { for (var i = 0; i < document.mainform.elements.length; i++) { var _id = document.mainform.elements[i].id; if(_id.match(regex)) { if (document.getElementById(_id).checked === true){ document.getElementById(_id).checked = false; } else { document.getElementById(_id).checked = true; } } } } function inArray(p_val, array) { var l = array.length; for (var i = 0; i < l; i++) { if (array[i] === p_val) { return true; } } return false; } function changeState() { for (var i = 0; i < arguments.length; i++) { var element = $(arguments[i]); if (element.hasAttribute('disabled')) { element.removeAttribute('disabled'); } else { element.setAttribute('disabled', 'disabled'); } } } function js_check(form) { form.javascript.value = 'true'; } /* Set focus to first valid input field avoid IExplorer warning about hidding or disabled fields */ function focus_field() { var i = 0; var found = false; var element = null; while (focus_field.arguments[i] && !found) { var tmp = document.getElementsByName(focus_field.arguments[i]); for (var e = 0 ; e < tmp.length ; e++) { if ((tmp[e].disabled !== true) && (tmp[e].type !== "none") && (tmp[e].type !== "hidden")) { found = true; element = tmp[e]; break; } } i++; } if (element && found) { element.blur(); element.focus(); } } /* This function pops up messages from message queue All messages are hidden in html output (style='display:none;'). This function makes single messages visible till there are no more dialogs queued. hidden inputs: current_msg_dialogs - Currently visible dialog closed_msg_dialogs - IDs of already closed dialogs pending_msg_dialogs - Queued dialog IDs. */ function next_msg_dialog() { var s_pending; var a_pending; var i_id; var tmp = ""; var ele; var ele2; var ele3; var cur_id; if (document.getElementById('current_msg_dialogs')) { cur_id = document.getElementById('current_msg_dialogs').value; if (cur_id !== "") { ele = document.getElementById('e_layer' + cur_id); ele.onmousemove = ""; $('e_layer' + cur_id).hide(); document.getElementById('closed_msg_dialogs').value += "," + cur_id; document.getElementById('current_msg_dialogs').value = ""; } } if (document.getElementById('pending_msg_dialogs')) { s_pending = document.getElementById('pending_msg_dialogs').value; a_pending = s_pending.split(","); if (a_pending.length) { i_id = a_pending.pop(); for (var i = 0 ; i < a_pending.length; ++i) { tmp = tmp + a_pending[i] + ','; } tmp = tmp.replace(/,$/g,""); if (i_id !== "") { ele = document.getElementById('e_layer' + i_id); ele2 = document.getElementById('e_layer2') ; ele3 = document.getElementById('e_layerTitle' + i_id); ele.style.display = 'block' ; document.getElementById('pending_msg_dialogs').value = tmp; document.getElementById('current_msg_dialogs').value = i_id; ele3.onmousedown = start_move_div_by_cursor; ele2.onmouseup = stop_move_div_by_cursor; ele2.onmousemove = move_div_by_cursor; } else { ele2 = document.getElementById('e_layer2'); ele2.style.display = "none"; } } } } /* Drag & drop for message dialogs */ var enable_move_div_by_cursor = false; // Indicates wheter the div movement is enabled or not var mouse_x_on_div = 0; // var mouse_y_on_div = 0; var div_offset_x = 0; var div_offset_y = 0; /* Activates msg_dialog drag & drop * This function is called when clicking on a displayed msg_dialog */ function start_move_div_by_cursor(e) { var x = 0; var y = 0; var cur_id; var dialog; var event; /* Get current msg_dialog position */ cur_id = document.getElementById('current_msg_dialogs').value; if (cur_id !== "") { dialog = document.getElementById('e_layer' + cur_id); x = dialog.style.left; y = dialog.style.top; x = x.replace(/[^0-9]/g,""); y = y.replace(/[^0-9]/g,""); if(!y) { y = 200; } if(!x) { x = 200; } } /* Get mouse position within msg_dialog */ if (window.event) { event = window.event; if (event.offsetX) { div_offset_x = event.clientX -x; div_offset_y = event.clientY -y; enable_move_div_by_cursor = true; } } else if(e) { event = e; if (event.layerX) { div_offset_x = event.screenX -x; div_offset_y = event.screenY -y; enable_move_div_by_cursor = true; } } } /* Deactivate msg_dialog movement */ function stop_move_div_by_cursor() { mouse_x_on_div = 0; mouse_y_on_div = 0; div_offset_x = 0; div_offset_y = 0; enable_move_div_by_cursor = false; } /* Move msg_dialog with cursor */ function move_div_by_cursor(e) { var event; var mouse_pos_x; var mouse_pos_y; var cur_div_x; var cur_div_y; var cur_id; var dialog; if ((enable_move_div_by_cursor === true) && document.getElementById('current_msg_dialogs')) { /* Get mouse position on screen */ if (window.event) { event = window.event; mouse_pos_x = event.clientX; mouse_pos_y = event.clientY; } else if (e) { event = e; mouse_pos_x = event.screenX; mouse_pos_y = event.screenY; } else { return; } /* Get id of current msg_dialog */ cur_id = document.getElementById('current_msg_dialogs').value; if (cur_id !== "") { dialog = document.getElementById('e_layer' + cur_id); /* Calculate new position */ cur_div_x = mouse_pos_x - div_offset_x; cur_div_y = mouse_pos_y - div_offset_y; /* Ensure that dialog can't be moved out of screen */ if (cur_div_x < 0 ) { cur_div_x = 0; } if (cur_div_y < 0 ) { cur_div_y = 0; } /* Assign new values */ dialog.style.left = (cur_div_x ) + "px"; dialog.style.top = (cur_div_y ) + "px"; dialog.style.margin = "0"; dialog.style.position = "absolute"; } } } function setProgressPie(context, percent) { context.clearRect(0, 0, 22, 22); var r = "3D"; var g = "AE"; var b = "E9"; // Fade orange if (percent > 50) { r = "F6" g = "74" b = "00"; } // Fade red if (percent > 75) { r = "ED" g = "15" b = "15"; } context.strokeStyle = "#" + r + g + b context.fillStyle = context.strokeStyle; context.beginPath(); context.moveTo(11,11) context.arc(11,11,8,-Math.PI/2,-Math.PI/2 + Math.PI*percent/50,true); context.closePath(); context.fill(); context.moveTo(11,11) context.beginPath(); context.arc(11,11,8,0,Math.PI*2,false); context.closePath(); context.stroke(); } function initProgressPie() { var canvas = $('sTimeout'); // Check the element is in the DOM and the browser supports canvas if(canvas && canvas.getContext) { var percent = 0.01; var context = canvas.getContext('2d'); setProgressPie(context, percent); // Extract timeout and title string out out canvas.title var data = canvas.title; var timeout = data.replace(/\|.*$/,''); var title = data.replace(/^.*\|/,''); var interval = 1; var time = 0; setInterval( function() { // Calculate percentage percent += (interval / timeout) * 100; // Increase current time by interval time += interval; // Generate title var minutes = parseInt((timeout-time) / 60 ); var seconds = '' + parseInt((timeout-time) % 60); if (seconds.length === 1) { seconds = '0' + seconds; } minutes = minutes + ':' + seconds; // Set new canval title canvas.title = title.replace(/%d/ ,minutes); setProgressPie(context, percent); if (percent > 99) { percent = 99; } }, (interval * 1000) ); } } // Global storage for baseSelector timer var rtimer; fusiondirectory-1.0.19/html/include/pulldown.js000066400000000000000000000163521304016502700216300ustar00rootroot00000000000000/** * dropDownMenu v0.5 sw edition * An easy to implement dropDown Menu for Websites, that may be based on styled list tags * * Works for IE 5.5+ PC, Mozilla 1+ all Plattforms, Opera 7+ * * Copyright (c) 2004 Knallgrau New Medias Solutions GmbH, Vienna - Austria * * Original written by Matthias Platzer at http://knallgrau.at * * Modified by Sven Wappler http://www.wappler.eu * * Use it as you need it * It is distributed under a BSD style license */ /** * Container Class (Prototype) for the dropDownMenu * * @param idOrElement String|HTMLElement root Node of the menu (ul) * @param name String name of the variable that stores the result * of this constructor function * @param customConfigFunction Function optional config function to override the default settings * for an example see Menu.prototype.config */ var Menu = Class.create(); var MenuContainer = Class.create(); var MenuItem = Class.create(); Menu.prototype = { initialize: function(idOrElement, name, customConfigFunction) { this.name = name; this.type = "menu"; this.closeDelayTimer = null; this.closingMenuItem = null; this.config(); if (typeof customConfigFunction === "function") { this.customConfig = customConfigFunction; this.customConfig(); } this.rootContainer = new MenuContainer(idOrElement, this); }, config: function() { this.collapseBorders = true; this.quickCollapse = true; this.closeDelayTime = 500; } } MenuContainer.prototype = { initialize: function(idOrElement, parent) { this.type = "menuContainer"; this.menuItems = []; this.init(idOrElement, parent); }, init: function(idOrElement, parent) { this.element = $(idOrElement); if (!this.element) { return; } this.parent = parent; this.parentMenu = (this.type === "menuContainer") ? ((parent) ? parent.parent : null) : parent; this.root = parent instanceof Menu ? parent : parent.root; this.id = this.element.id; if (this.type === "menuContainer") { if (this.element.hasClassName("level1")) this.menuType = "horizontal"; else if (this.element.hasClassName("level2")) this.menuType = "dropdown"; else this.menuType = "flyout"; if (this.menuType === "flyout" || this.menuType === "dropdown") { this.isOpen = false; Element.setStyle(this.element,{ position: "absolute", top: "0px", left: "0px", visibility: "hidden" }); } else { this.isOpen = true; } } else { this.isOpen = this.parentMenu.isOpen; } var childNodes = this.element.childNodes; if (childNodes === null) { return; } for (var i = 0; i < childNodes.length; i++) { var node = childNodes[i]; if (node.nodeType === 1) { if (this.type === "menuContainer") { if (node.tagName.toLowerCase() === "li") { this.menuItems.push(new MenuItem(node, this)); } } else { if (node.tagName.toLowerCase() === "ul") { this.subMenu = new MenuContainer(node, this); } } } } }, getBorders: function() { var ltrb = ["Left","Top","Right","Bottom"]; var result = {}; var value; for (var i = 0; i < ltrb.length; ++i) { if (this.element.currentStyle) value = parseInt(this.element.currentStyle["border"+ltrb[i]+"Width"]); else if (window.getComputedStyle) value = parseInt(window.getComputedStyle(this.element, "").getPropertyValue("border-"+ltrb[i].toLowerCase()+"-width")); else value = parseInt(this.element.style["border"+ltrb[i]]); result[ltrb[i].toLowerCase()] = isNaN(value) ? 0 : value; } return result; }, open: function() { if (this.root.closeDelayTimer) { window.clearTimeout(this.root.closeDelayTimer); } this.parentMenu.closeAll(this); this.isOpen = true; if (this.menuType === "dropdown") { Element.setStyle(this.element,{ left: (Position.positionedOffset(this.parent.element)[0]) + "px", top: (Position.positionedOffset(this.parent.element)[1] + Element.getHeight(this.parent.element)) + "px" }); } else if (this.menuType === "flyout") { var parentMenuBorders = this.parentMenu ? this.parentMenu.getBorders() : {}; var thisBorders = this.getBorders(); if ( (Position.positionedOffset(this.parentMenu.element)[0] + this.parentMenu.element.offsetWidth + this.element.offsetWidth + 20) > (window.innerWidth ? window.innerWidth : document.body.offsetWidth) ) { Element.setStyle(this.element,{ left: (- this.element.offsetWidth - (this.root.collapseBorders ? 0 : parentMenuBorders["left"])) + "px" }); } else { Element.setStyle(this.element,{ left: (this.parentMenu.element.offsetWidth - parentMenuBorders["left"] - (this.root.collapseBorders ? Math.min(parentMenuBorders["right"], thisBorders["left"]) : 0)) + "px" }); } Element.setStyle(this.element,{ top: (this.parent.element.offsetTop - parentMenuBorders["top"] - this.menuItems[0].element.offsetTop) + "px" }); } Element.setStyle(this.element,{visibility: "visible"}); }, close: function() { Element.setStyle(this.element,{visibility: "hidden"}); this.isOpen = false; this.closeAll(); }, closeAll: function(trigger) { for (var i = 0; i < this.menuItems.length; ++i) { this.menuItems[i].closeItem(trigger); } } } Object.extend(Object.extend(MenuItem.prototype, MenuContainer.prototype), { initialize: function(idOrElement, parent) { var menuItem = this; this.type = "menuItem"; this.subMenu; this.init(idOrElement, parent); if (this.subMenu) { this.element.onmouseover = function() { menuItem.subMenu.open(); } } else { if (this.root.quickCollapse) { this.element.onmouseover = function() { menuItem.parentMenu.closeAll(); } } } var linkTag = this.element.getElementsByTagName("A")[0]; if (linkTag) { linkTag.onfocus = this.element.onmouseover; this.link = linkTag; this.text = linkTag.text; } if (this.subMenu) { this.element.onmouseout = function() { if (menuItem.root.openDelayTimer) { window.clearTimeout(menuItem.root.openDelayTimer); } if (menuItem.root.closeDelayTimer) { window.clearTimeout(menuItem.root.closeDelayTimer); } menuItem.root.closingMenuItem = menuItem; menuItem.root.closeDelayTimer = window.setTimeout(menuItem.root.name + ".closingMenuItem.subMenu.close()", menuItem.root.closeDelayTime); } } }, openItem: function() { this.isOpen = true; if (this.subMenu) { this.subMenu.open(); } }, closeItem: function(trigger) { this.isOpen = false; if (this.subMenu && (this.subMenu !== trigger)) { this.subMenu.close(); } } }); var menu; function configMenu() { this.closeDelayTime = 300; } function initMenu() { menu = new Menu('root', 'menu', configMenu); } Event.observe(window, 'load', initMenu, false); fusiondirectory-1.0.19/html/include/pwdStrength.js000066400000000000000000000115461304016502700222750ustar00rootroot00000000000000/************************************************************* Created: 20060120 Author: Steve Moitozo Description: This is a quick and dirty password quality meter written in JavaScript License: MIT License (see below) ================================= Revision Author: Dick Ervasti (dick dot ervasti at quty dot com) Revision Description: Exchanged text based prompts for a graphic thermometer ================================= Revision Author: Jay Bigam jayb tearupyourlawn com Revision Date: Feb. 26, 2007 Revision Description: Changed D. Ervasti's table based "thermometer" to CSS. Revision Notes: - Verified to work in FF2, IE7 and Safari2 - Modified messages to reflect Minimum strength requirement - Added formSubmit button disabled until minimum requirement met ================================= Modified: 20061111 - Steve Moitozo corrected regex for letters and numbers Thanks to Zack Smith -- zacksmithdesign.com and put MIT License back in Modified: 20100201 - Cajus Pollmeier stripped parts unnessesary for GOsa and moved to prototype. Stripped comments. --------------------------------------------------------------- Copyright (c) 2006 Steve Moitozo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------- ************************************************************ */ function testPasswordCss(passwd) { var intScore = 0 // PASSWORD LENGTH if ((passwd.length === 0) || !passwd.length) { intScore = -1 } else if (passwd.length > 11) { intScore = (intScore+18) } else if (passwd.length > 7) { intScore = (intScore+12) } else if (passwd.length > 4) { intScore = (intScore+6) } else { intScore = (intScore+3) } // LETTERS (Not exactly implemented as dictacted above because of my limited understanding of Regex) if (passwd.match(/[a-z]/)) // [verified] at least one lower case letter { intScore = (intScore+1) } if (passwd.match(/[A-Z]/)) // [verified] at least one upper case letter { intScore = (intScore+5) } // NUMBERS if (passwd.match(/\d+/)) // [verified] at least one number { intScore = (intScore+5) } if (passwd.match(/(.*[0-9].*[0-9].*[0-9])/)) // [verified] at least three numbers { intScore = (intScore+5) } // SPECIAL CHAR if (passwd.match(/.[!,@,#,$,%,^,&,*,?,_,~]/)) // [verified] at least one special character { intScore = (intScore+5) } // [verified] at least two special characters if (passwd.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) { intScore = (intScore+5) } // COMBOS if (passwd.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) // [verified] both upper and lower case { intScore = (intScore+2) } if (passwd.match(/([a-zA-Z])/) && passwd.match(/([0-9])/)) // [verified] both letters and numbers { intScore = (intScore+2) } // [verified] letters, numbers, and special characters if (passwd.match(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/)) { intScore = (intScore+2) } if(intScore > -2 && intScore < 16) { $('meterEmpty').setStyle({width: '100%'}); $('meterFull').setStyle({width: '0%'}); } else if (intScore > 15 && intScore < 25) { $('meterEmpty').setStyle({width: '100%'}); $('meterFull').setStyle({width: '25%'}); } else if (intScore > 24 && intScore < 35) { $('meterEmpty').setStyle({width: '100%'}); $('meterFull').setStyle({width: '50%'}); } else if (intScore > 34 && intScore < 45) { $('meterEmpty').setStyle({width: '100%'}); $('meterFull').setStyle({width: '75%'}); } else { $('meterEmpty').setStyle({width: '100%'}); $('meterFull').setStyle({width: '100%'}); } } fusiondirectory-1.0.19/html/index.php000066400000000000000000000450131304016502700176170ustar00rootroot00000000000000assign ('date', gmdate("D, d M Y H:i:s")); $smarty->assign ('username', $username); $smarty->assign ('personal_img', "geticon.php?context=types&icon=user&size=48"); $smarty->assign ('password_img', "geticon.php?context=status&icon=dialog-password&size=48"); $smarty->assign ('directory_img', "geticon.php?context=places&icon=network-server&size=48"); $smarty->append ('css_files', get_template_path('login.css')); /* Some error to display? */ if (!isset($message)) { $message = ""; } $smarty->assign ("message", $message); /* Displasy SSL mode warning? */ if (($ssl != '') && ($config->get_cfg_value('warnSSL') == 'TRUE')) { $smarty->assign ('ssl', sprintf(_('Warning: Session is not encrypted!'), $ssl)); } else { $smarty->assign ('ssl', ''); } if (!$config->check_session_lifetime()) { $smarty->assign ('lifetime', _('Warning: The session lifetime configured in your fusiondirectory.conf will be overridden by php.ini settings.')); } else { $smarty->assign ('lifetime', ''); } /* Generate server list */ $servers = array(); if (isset($_POST['server'])) { $selected = $_POST['server']; } else { $selected = $config->data['MAIN']['DEFAULT']; } foreach ($config->data['LOCATIONS'] as $key => $ignored) { $servers[$key] = $key; } $smarty->assign ("server_options", $servers); $smarty->assign ("server_id", $selected); /* show login screen */ $smarty->assign ("PHPSESSID", session_id()); if (session::is_set('errors')) { $smarty->assign("errors", session::get('errors')); } if ($error_collector != "") { $smarty->assign("php_errors", preg_replace("/%BUGBODY%/", $error_collector_mailto, $error_collector).""); } else { $smarty->assign("php_errors", ""); } $smarty->assign("msg_dialogs", msg_dialog::get_dialogs()); $smarty->assign("usePrototype", "false"); $smarty->assign("date", date("l, dS F Y H:i:s O")); $smarty->assign("lang", preg_replace('/_.*$/', '', $lang)); $smarty->assign("rtl", language_is_rtl($lang)); $smarty->display (get_template_path('headers.tpl')); $smarty->assign("version", FD_VERSION); $smarty->display(get_template_path('login.tpl')); exit(); } /***************************************************************************** * M A I N * *****************************************************************************/ /* Set error handler to own one, initialize time calculation and start session. */ session::start(); if (isset($_REQUEST['signout']) && $_REQUEST['signout']) { if (session::global_is_set('connected')) { $config = session::global_get('config'); if ($config->get_cfg_value('casActivated') == 'TRUE') { require_once('CAS.php'); /* Move CAS autoload before FD autoload */ spl_autoload_unregister('CAS_autoload'); spl_autoload_register('CAS_autoload', TRUE, TRUE); phpCAS::client( CAS_VERSION_2_0, $config->get_cfg_value('casHost', 'localhost'), (int)($config->get_cfg_value('casPort', 443)), $config->get_cfg_value('casContext', '') ); // Set the CA certificate that is the issuer of the cert phpCAS::setCasServerCACert($config->get_cfg_value('casServerCaCertPath')); phpCas::logout(); } } session::destroy(); session::start(); } /* Reset errors */ session::set('errors', ''); session::set('errorsAlreadyPosted', ''); session::set('LastError', ''); /* Check if we need to run setup */ if (!file_exists(CONFIG_DIR.'/'.CONFIG_FILE)) { header('location:setup.php'); exit(); } /* Check if fusiondirectory.conf (.CONFIG_FILE) is accessible */ if (!is_readable(CONFIG_DIR.'/'.CONFIG_FILE)) { msg_dialog::display( _('Configuration error'), sprintf( _('FusionDirectory configuration %s/%s is not readable. Please run fusiondirectory-setup --check-config to fix this.'), CONFIG_DIR, CONFIG_FILE ), FATAL_ERROR_DIALOG ); exit(); } /* Parse configuration file */ $config = new config(CONFIG_DIR.'/'.CONFIG_FILE, $BASE_DIR); session::global_set('config', $config); session::global_set('DEBUGLEVEL', $config->get_cfg_value('DEBUGLEVEL')); @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, 'config'); /* Set template compile directory */ $smarty->compile_dir = $config->get_cfg_value('templateCompileDirectory', SPOOL_DIR); /* Check for compile directory */ if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) { msg_dialog::display( _('Smarty error'), sprintf( _('Directory "%s" specified as compile directory is not accessible!'), $smarty->compile_dir ), FATAL_ERROR_DIALOG ); exit(); } /* Check for old files in compile directory */ clean_smarty_compile_dir($smarty->compile_dir); initLanguage(); $smarty->assign ('focusfield', 'username'); if (isset($_POST['server'])) { $server = $_POST['server']; } else { $server = $config->data['MAIN']['DEFAULT']; } $config->set_current($server); if (($config->get_cfg_value('casActivated') == 'TRUE') || ($config->get_cfg_value('httpAuthActivated') == 'TRUE')) { session::global_set('DEBUGLEVEL', 0); } /* If SSL is forced, just forward to the SSL enabled site */ if (($config->get_cfg_value('forcessl') == 'TRUE') && ($ssl != '')) { header ("Location: $ssl"); exit; } if (isset($_REQUEST['message'])) { switch($_REQUEST['message']) { case 'expired': $message = _('Your FusionDirectory session has expired!'); break; case 'newip': $message = _('Your IP has changed!'); break; case 'invalidparameter': $message = sprintf(_('Invalid plugin parameter "%s"!'), $_REQUEST['plug']); break; case 'nosession': $message = _('No session found!'); break; default: $message = $_REQUEST['message']; } } /* Class with a function for each login step * Each function can return a string to display an LDAP error, or FALSE to redirect to login * In this case it can set global $message and assign focusfield in smarty before hand */ class Index { static protected $username; static protected $password; static function init() { static::$username = NULL; static::$password = NULL; } /* Runs schemaCheck if activated in configuration */ static function runSchemaCheck() { global $config; if ($config->get_cfg_value('schemaCheck') != 'TRUE') { return TRUE; } $cfg = array(); $cfg['admin'] = $config->current['ADMINDN']; $cfg['password'] = $config->current['ADMINPASSWORD']; $cfg['connection'] = $config->current['SERVER']; $cfg['tls'] = ($config->get_cfg_value('ldapTLS') == 'TRUE'); $str = check_schema($cfg); foreach ($str as $tr) { if (!$tr['STATUS']) { if ($tr['IS_MUST_HAVE']) { return _('LDAP schema check reported errors:').'

    '.$tr['MSG'].''; } else { msg_dialog::display(_('LDAP schema error'), $tr['MSG'], WARNING_DIALOG); } } } return TRUE; } /* Check locking LDAP branch is here or create it */ static function checkForLockingBranch() { global $config; $ldap = $config->get_ldap_link(); $ldap->cat(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE'], array('dn')); $attrs = $ldap->fetch(); if (!count($attrs)) { $ldap->cd($config->current['BASE']); $ldap->create_missing_trees(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); } } /* Check username for invalid characters and check password is not empty * Also trims username */ static function validateUserInput() { global $message, $smarty; static::$username = trim(static::$username); if (!preg_match('/^[@A-Za-z0-9_.-]+$/', static::$username)) { $message = _('Please specify a valid username!'); return FALSE; } elseif (mb_strlen(static::$password, 'UTF-8') == 0) { $message = _('Please specify your password!'); $smarty->assign ('focusfield', 'password'); return FALSE; } return TRUE; } /* Performs an LDAP bind with $username and $password */ static function ldapLoginUser() { global $ui, $config, $message, $smarty; /* Login as user, initialize user ACL's */ $ui = ldap_login_user(static::$username, static::$password); if ($ui === NULL) { if (isset($_SERVER['REMOTE_ADDR'])) { logging::log('security', 'login', '', array(), 'Authentication failed for user "'.static::$username.'" [from '.$_SERVER['REMOTE_ADDR'].']'); } else { logging::log('security', 'login', '', array(), 'Authentication failed for user "'.static::$username.'"'); } $message = _('Please check the username/password combination.'); $smarty->assign ('focusfield', 'password'); return FALSE; } return TRUE; } /* Called after successful login, return FALSE if account is expired */ static function loginAndCheckExpired() { global $ui, $config, $plist, $message, $smarty; /* Remove all locks of this user */ del_user_locks($ui->dn); /* Save userinfo and plugin structure */ session::global_set('ui', $ui); /* User might have its own language, re-run initLanguage */ initLanguage(); /* We need a fully loaded plist and config to test account expiration */ session::global_un_set('plist'); $plist = load_plist(); /* Check account expiration */ if ($config->get_cfg_value('handleExpiredAccounts') == 'TRUE') { $expired = $ui->expired_status(); if ($expired == POSIX_ACCOUNT_EXPIRED) { logging::log('security', 'login', '', array(), 'Account for user "'.static::$username.'" has expired'); $message = _('Account locked. Please contact your system administrator!'); $smarty->assign ('focusfield', 'username'); return FALSE; } } return TRUE; } /* Final step of successful login: redirect to main.php */ static function redirect() { global $config; /* Not account expired or password forced change go to main page */ logging::log('security', 'login', '', array(), 'User "'.static::$username.'" logged in successfully.'); session::global_set('connected', 1); // check that newly installed plugins have their configuration in the LDAP $config->checkLdapConfig(); session::global_set('DEBUGLEVEL', $config->get_cfg_value('DEBUGLEVEL')); header ('Location: main.php?global_check=1'); exit; } /* Return HTTP authentication header */ static function authenticateHeader($message = 'Authentication required') { header('WWW-Authenticate: Basic realm="FusionDirectory"'); header('HTTP/1.0 401 Unauthorized'); echo "$message\n"; exit; } /* Run each step in $steps, stop on errors */ static function runSteps($steps) { foreach($steps as $step) { $status = static::$step(); if (is_string($status)) { msg_dialog::display(_('LDAP error'), $status, LDAP_ERROR); return FALSE; } elseif ($status === FALSE) { return FALSE; } } return TRUE; } /* All login steps in the right order for standard POST login */ static function fullLoginProcess() { global $config, $message; static::init(); /* Reset error messages */ $message = ''; static::$username = $_POST['username']; static::$password = $_POST['password']; $success = static::runSteps(array( 'validateUserInput', 'ldapLoginUser', 'loginAndCheckExpired', 'runSchemaCheck', 'checkForLockingBranch', )); if ($success) { /* Everything went well, redirect to main.php */ static::redirect(); } } /* All login steps in the right order for HTTP auth login */ static function authLoginProcess() { global $config, $message; static::init(); if (!isset($_SERVER['PHP_AUTH_USER'])) { static::authenticateHeader(); } static::$username = $_SERVER['PHP_AUTH_USER']; static::$password = $_SERVER['PHP_AUTH_PW']; $success = static::runSteps(array( 'validateUserInput', 'ldapLoginUser', 'loginAndCheckExpired', 'runSchemaCheck', 'checkForLockingBranch', )); if ($success) { /* Everything went well, redirect to main.php */ static::redirect(); } else { static::authenticateHeader($message); } } /* All login steps in the right order for HTTP Header login */ static function headerAuthLoginProcess() { global $config, $message, $ui; static::init(); /* Reset error messages */ $message = ''; $header = $config->get_cfg_value('httpHeaderAuthHeaderName', 'AUTH_USER'); static::$username = $_SERVER['HTTP_'.$header]; if (!static::$username) { msg_dialog::display( _('Error'), sprintf( _('No value found in HTTP header "%s"'), $header ), FATAL_ERROR_DIALOG ); exit(); } $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $verify_attr = explode(',', $config->get_cfg_value('loginAttribute', 'uid')); $filter = ''; foreach ($verify_attr as $attr) { $filter .= '('.$attr.'='.ldap_escape_f(static::$username).')'; } $ldap->search('(&(|'.$filter.')(objectClass=inetOrgPerson))'); $attrs = $ldap->fetch(); if ($ldap->count() < 1) { msg_dialog::display( _('Error'), sprintf( _('Header user "%s" could not be found in the LDAP'), static::$username ), FATAL_ERROR_DIALOG ); exit(); } elseif ($ldap->count() > 1) { msg_dialog::display( _('Error'), sprintf( _('Header user "%s" match several users in the LDAP'), static::$username ), FATAL_ERROR_DIALOG ); exit(); } $ui = new userinfo($config, $attrs['dn']); $ui->loadACL(); $success = static::runSteps(array( 'loginAndCheckExpired', 'runSchemaCheck', 'checkForLockingBranch', )); if ($success) { /* Everything went well, redirect to main.php */ static::redirect(); } } /* All login steps in the right order for CAS login */ static function casLoginProcess() { global $config, $message, $ui; static::init(); /* Reset error messages */ $message = ''; //~ phpCAS::setDebug(); // Initialize phpCAS phpCAS::client( CAS_VERSION_2_0, $config->get_cfg_value('casHost', 'localhost'), (int)($config->get_cfg_value('casPort', 443)), $config->get_cfg_value('casContext', '') ); // Set the CA certificate that is the issuer of the cert phpCAS::setCasServerCACert($config->get_cfg_value('casServerCaCertPath')); //~ phpCAS::setNoCasServerValidation(); // force CAS authentication phpCAS::forceAuthentication(); static::$username = phpCAS::getUser(); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $verify_attr = explode(',', $config->get_cfg_value('loginAttribute', 'uid')); $filter = ''; foreach ($verify_attr as $attr) { $filter .= '('.$attr.'='.ldap_escape_f(static::$username).')'; } $ldap->search('(&(|'.$filter.')(objectClass=inetOrgPerson))'); $attrs = $ldap->fetch(); if ($ldap->count() < 1) { msg_dialog::display( _('Error'), sprintf( _('CAS user "%s" could not be found in the LDAP'), static::$username ), FATAL_ERROR_DIALOG ); exit(); } elseif ($ldap->count() > 1) { msg_dialog::display( _('Error'), sprintf( _('CAS user "%s" match several users in the LDAP'), static::$username ), FATAL_ERROR_DIALOG ); exit(); } $ui = new userinfo($config, $attrs['dn']); $ui->loadACL(); $success = static::runSteps(array( 'loginAndCheckExpired', 'runSchemaCheck', 'checkForLockingBranch', )); if ($success) { /* Everything went well, redirect to main.php */ static::redirect(); } } } if ($config->get_cfg_value('httpAuthActivated') == 'TRUE') { Index::authLoginProcess(); } elseif ($config->get_cfg_value('casActivated') == 'TRUE') { require_once('CAS.php'); /* Move CAS autoload before FD autoload */ spl_autoload_unregister('CAS_autoload'); spl_autoload_register('CAS_autoload', TRUE, TRUE); Index::casLoginProcess(); } elseif ($config->get_cfg_value('httpHeaderAuthActivated') == 'TRUE') { Index::headerAuthLoginProcess(); } elseif ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['login'])) { /* Got a formular answer, validate and try to log in */ Index::fullLoginProcess(); } /* Translation of cookie-warning. Whether to display it, is determined by JavaScript */ $smarty->assign ('cookies', ''._('Warning').': '._('Your browser has cookies disabled. Please enable cookies and reload this page before logging in!')); /* Set focus to the error button if we've an error message */ $focus = ''; if (session::is_set('errors') && session::get('errors') != '') { $focus = ''; } $smarty->assign('focus', $focus); displayLogin(); ?> fusiondirectory-1.0.19/html/main.php000066400000000000000000000306341304016502700174370ustar00rootroot00000000000000ip) { logging::log('security', 'login', '', array(), 'main.php called with session which has a changed IP address.'); header ('Location: index.php?signout=1&message=newip'); exit; } $config = session::global_get('config'); /* If SSL is forced, just forward to the SSL enabled site */ if (($config->get_cfg_value('forcessl') == 'TRUE') && ($ssl != '')) { header ("Location: $ssl"); exit; } timezone::setDefaultTimezoneFromConfig(); /* Check for invalid sessions */ if (session::global_get('_LAST_PAGE_REQUEST') != '') { /* check FusionDirectory.conf for defined session lifetime */ $max_life = $config->get_cfg_value('sessionLifetime', 60 * 60 * 2); if ($max_life > 0) { /* get time difference between last page reload */ $request_time = (time() - session::global_get('_LAST_PAGE_REQUEST')); /* If page wasn't reloaded for more than max_life seconds * kill session */ if ($request_time > $max_life) { session::destroy(); logging::log('security', 'login', '', array(), 'main.php called with expired session - logging out'); header ('Location: index.php?signout=1&message=expired'); exit; } } } session::global_set('_LAST_PAGE_REQUEST', time()); @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"); /* Set template compile directory */ $smarty->compile_dir = $config->get_cfg_value("templateCompileDirectory", SPOOL_DIR); /* Preset current main base */ if (!session::global_is_set('CurrentMainBase')) { session::global_set('CurrentMainBase', get_base_from_people($ui->dn)); } initLanguage(); /* Prepare plugin list */ $plist = load_plist(); /* Check for register globals */ if (isset($global_check) && $config->get_cfg_value("forceglobals") == "TRUE") { msg_dialog::display( _("PHP configuration"), _("Fatal error: Register globals is on. FusionDirectory will refuse to login unless this is fixed by an administrator."), FATAL_ERROR_DIALOG); logging::log('security', 'login', '', array(), 'Register globals is on. For security reasons, this should be turned off.'); session::destroy (); exit; } /* Check Plugin variable */ if (session::global_is_set('plugin_dir')) { $old_plugin_dir = session::global_get('plugin_dir'); } else { $old_plugin_dir = ""; } $plist->gen_menu(); /* check if we are using account expiration */ $smarty->assign("hideMenus", FALSE); if ($config->get_cfg_value("handleExpiredAccounts") == "TRUE") { $expired = $ui->expired_status(); if (($expired == POSIX_WARN_ABOUT_EXPIRATION) && !session::is_set('POSIX_WARN_ABOUT_EXPIRATION__DONE')) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $expired, 'This user account ('.$ui->uid.') is about to expire'); // The users password is about to xpire soon, display a warning message. logging::log('security', 'fusiondirectory', '', array(), 'password for user "'.$ui->uid.'" is about to expire'); msg_dialog::display(_('Password change'), _('Your password is about to expire, please change your password!'), INFO_DIALOG); session::set('POSIX_WARN_ABOUT_EXPIRATION__DONE', TRUE); } elseif ($expired == POSIX_FORCE_PASSWORD_CHANGE) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $expired, "This user account expired"); // The password is expired, we are now going to enforce a new one from the user. // Hide the FusionDirectory menus to avoid leaving the enforced password change dialog. $smarty->assign("hideMenus", TRUE); $plug = (isset($_GET['plug'])) ? $_GET['plug'] : NULL; // Search for the 'user' class and set its id as active plug. foreach ($plist->dirlist as $key => $value) { if ($value == 'user') { if (!isset($_GET['plug']) || ($_GET['plug'] != $key)) { $_GET['plug'] = $key; msg_dialog::display(_('Warning'), _('Your password has expired, please set a new one.'), WARNING_DIALOG); } break; } } } } if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])) { $plug = validate($_GET['plug']); $plugin_dir = $plist->get_path($plug); session::global_set('plugin_dir', $plugin_dir); if ($plugin_dir == '') { logging::log('security', 'fusiondirectory', '', array(), "main.php called with invalid plug parameter \"$plug\""); header ('Location: index.php?signout=1&message=invalidparameter&plug='.$plug); exit; } } else { /* set to welcome page as default plugin */ session::global_set('plugin_dir', 'welcome'); $plugin_dir = "$BASE_DIR/plugins/generic/welcome"; } /* Handle plugin locks. - Remove the plugin from session if we switched to another. (cleanup) - Remove all created locks if "reset" was posted. - Remove all created locks if we switched to another plugin. */ $cleanup = FALSE; $remove_lock = FALSE; /* Check if we have changed the selected plugin */ if ($old_plugin_dir != $plugin_dir && $old_plugin_dir != "") { if (is_file("$old_plugin_dir/main.inc")) { $cleanup = $remove_lock = TRUE; require ("$old_plugin_dir/main.inc"); $cleanup = $remove_lock = FALSE; } } elseif ((isset($_GET['reset']) && $_GET['reset'] == 1) || isset($_POST['delete_lock'])) { /* Reset was posted, remove all created locks for the current plugin */ $remove_lock = TRUE; } /* Check for sizelimits */ eval_sizelimit(); /* Check for memory */ if (function_exists("memory_get_usage")) { if (memory_get_usage() > (to_byte(ini_get('memory_limit')) - 2048000 )) { msg_dialog::display(_("Configuration error"), _("Running out of memory!"), WARNING_DIALOG); } } /* Redirect on back event */ if ($_SERVER["REQUEST_METHOD"] == "POST") { /* Look for button events that match /^back[0-9]+$/, extract the number and step the correct plugin. */ foreach ($_POST as $key => $value) { if (preg_match("/^back[0-9]+$/", $key)) { $back = substr($key, 4); header ("Location: main.php?plug=$back"); exit; } } } /* Redirect on password back event */ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['password_back'])) { header ("Location: main.php"); exit; } /* Load department list when plugin has changed. That is some kind of compromise between speed and beeing up to date */ if (isset($_GET['reset'])) { set_object_info(); } /* show web frontend */ $smarty->assign ("date", date("l, dS F Y H:i:s O")); $lang = session::global_get('lang'); $smarty->assign ("lang", preg_replace('/_.*$/', '', $lang)); $smarty->assign ("rtl", language_is_rtl($lang)); $smarty->assign ("must", '*'); if (isset($plug)) { $plug = "?plug=$plug"; } else { $plug = ""; } if ($ui->ignore_acl_for_current_user()) { $smarty->assign ('username', '
    '._('User ACL checks disabled').'
     '.$ui->uid); } else { $smarty->assign ('username', $ui->uid); } $smarty->assign ("menu", $plist->menu); $smarty->assign ("plug", "$plug"); $smarty->assign("usePrototype", "false"); /* React on clicks */ if ($_SERVER["REQUEST_METHOD"] == "POST") { if (isset($_POST['delete_lock']) || isset($_POST['open_readonly'])) { /* Set old Post data */ if (session::global_is_set('LOCK_VARS_USED_GET')) { foreach (session::global_get('LOCK_VARS_USED_GET') as $name => $value) { $_GET[$name] = $value; } } if (session::global_is_set('LOCK_VARS_USED_POST')) { foreach (session::global_get('LOCK_VARS_USED_POST') as $name => $value) { $_POST[$name] = $value; } } if (session::global_is_set('LOCK_VARS_USED_REQUEST')) { foreach (session::global_get('LOCK_VARS_USED_REQUEST') as $name => $value) { $_REQUEST[$name] = $value; } } } } /* Load plugin */ if (is_file("$plugin_dir/main.inc")) { $display = ""; require ("$plugin_dir/main.inc"); } else { msg_dialog::display( _("Plugin"), sprintf(_("Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not a file)!"), $plug, "$plugin_dir/main.inc"), FATAL_ERROR_DIALOG); exit(); } /* Print_out last ErrorMessage repeated string. */ $smarty->assign("msg_dialogs", msg_dialog::get_dialogs()); $smarty->assign("contents", $display); $smarty->assign("sessionLifetime", $config->get_cfg_value("sessionLifetime", 60 * 60 * 2)); /* If there's some post, take a look if everything is there... */ if (isset($_POST) && count($_POST)) { if (!isset($_POST['php_c_check'])) { msg_dialog::display( _("Configuration Error"), sprintf(_("Fatal error: not all POST variables have been transfered by PHP - please inform your administrator!")), FATAL_ERROR_DIALOG); exit(); } } /* Assign errors to smarty */ if (session::is_set('errors')) { $smarty->assign("errors", session::get('errors')); } if ($error_collector != "") { $smarty->assign("php_errors", preg_replace("/%BUGBODY%/", $error_collector_mailto, $error_collector).""); } else { $smarty->assign("php_errors", ""); } /* Set focus to the error button if we've an error message */ $focus = ""; if (session::is_set('errors') && session::get('errors') != "") { $focus = ''; } $focus = ''; $smarty->assign("focus", $focus); /* Set channel if needed */ //TODO: * move all global session calls to global_ // * create a new channel where needed (mostly management dialogues) // * remove regulary created channels when not needed anymore // * take a look at external php calls (i.e. get fax, ldif, etc.) // * handle aborted sessions (by pressing anachors i.e. Main, Menu, etc.) // * check lock removals, is "dn" global or not in this case? // * last page request -> global or not? // * check that filters are still global // * maxC global? if (isset($_POST['_channel_'])) { echo "DEBUG - current channel: ".$_POST['_channel_']; $smarty->assign("channel", $_POST['_channel_']); } else { $smarty->assign("channel", ""); } $smarty->assign ("title", "FusionDirectory"); if (class_available('Game')) { $smarty->assign('game_screen', Game::run()); } else { $smarty->assign('game_screen', ''); } $display = $smarty->fetch(get_template_path('headers.tpl')). $smarty->fetch(get_template_path('framework.tpl')); /* Show page... */ echo $display; /* Save plist and config */ session::global_set('plist', $plist); session::global_set('config', $config); session::set('errorsAlreadyPosted', array()); ?> fusiondirectory-1.0.19/html/plugins/000077500000000000000000000000001304016502700174555ustar00rootroot00000000000000fusiondirectory-1.0.19/html/plugins/users/000077500000000000000000000000001304016502700206165ustar00rootroot00000000000000fusiondirectory-1.0.19/html/plugins/users/images/000077500000000000000000000000001304016502700220635ustar00rootroot00000000000000fusiondirectory-1.0.19/html/plugins/users/images/default.jpg000066400000000000000000000047061304016502700242200ustar00rootroot00000000000000JFIFHHCreated with The GIMPC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222";!1V"7AQuaq#2RbBDr ?;.˵j[z\2I%Nsܱ5UUU5LC,N-JP? `| `|? `| `|? `| `|? `| `|? `| `|? `| `|? `| `|? `| `|mkҩ}TJ0 bwymzU/Ҁ;*i@N-JP'wץRM(6TJ~_izHs~ʦ")FO$r+ՌWET?qLɠd^ÚE_#ǖ#TcE1|E<-EOW&Ϧ@ҢZ*)VDW.ܕQW/#_Y;kgki2XG$xJ_FUkbȏV}\)#d.lzf7WBڨ`5XTVyZW8M4q Z拽>Gc2btyj%{Y2VŸǢw#6\үcUաVUn#Uw*mfp?}4X*J5w(H?<Ɍɣ 1*m)?5zu}kZ9Iv^ Z%lrQ3I5*f?O竩M7g o؝[^K4'N-JP!J$tRG,w|JX￁r@t FIQIV2|*f'%*ȮkZ潨LݒT8V¡å{WUSffTc.3`jQ\צye6 ^L"5舺^K8Q͇4U 51۴TΆ'7fECu5_#$beO0te972F}8ԏsj5vC߱;*i@O؝[^K4'wץRM( kҩ}`~_i?bwymzU/Ҁ awKb. a̒9+k䉨fGyv|kݟx1kݟx1g^ag^aWzWzv|v|kݟx1kݟx1g^ag^aWzWzv|v|?fusiondirectory-1.0.19/html/plugins/users/style/000077500000000000000000000000001304016502700217565ustar00rootroot00000000000000fusiondirectory-1.0.19/html/plugins/users/style/user_tab.css000066400000000000000000000004051304016502700242730ustar00rootroot00000000000000 /* On big screens */ @media (min-width: 640px) { .plugin-section#perso img#jpegPhoto_img { position: absolute; left: 5px; top: 32px; box-sizing: border-box; max-height: 80%; } .plugin-section#perso > div > table { padding-left: 160px; } } fusiondirectory-1.0.19/html/progress.php000066400000000000000000000055551304016502700203630ustar00rootroot00000000000000 100) { $p = 100; } $p = intval ($p); /* Check dimensions */ if ($x < 3 || $x > 1000) { $x = 180; } if ($y < 3 || $y > 700) { $y = 20; } if (!function_exists("imagecreate")) { syslog(LOG_ERR, "FusionDirectory is missing the gd library, please install php5-gd to be able to see progress images."); echo "Please install the php5-gd library, FusionDirectory can't create images without it."; exit(); } else { $x_matches = FALSE; $y_matches = FALSE; foreach (array(7,6,5,4,3,2,1,0) as $font) { $fx = ImageFontWidth($font) * strlen("$p%"); $fy = ImageFontHeight($font); /* Look if font size matches image size */ if ($fx < ($x - 2)) { $x_matches = TRUE; } if ($fy < ($y - 2)) { $y_matches = TRUE; } if ($x_matches && $y_matches) { break; } } /* Draw image in GD image stream */ $im = imagecreate ($x, $y); if (!$im) { die ('Cannot Initialize new GD image stream'); } /* Set colors */ $bg_color = imagecolorallocate($im, 255, 255, 255); $br_color = imagecolorallocate($im, 0, 0, 0); $fi_color = imagecolorallocate($im, 0, 0, 180); $tx_color = imagecolorallocate($im, 240, 10, 90); /* Draw progress bar */ imagerectangle ($im, 0, 0, $x - 1, $y - 1, $br_color); imagefilledrectangle ($im, 1, 1, (($x - 2) * $p / 100), $y - 2, $fi_color); /* Is font to big for progress bar? */ if ($font != 0) { imagestring ($im, $font, ($x - $fx) / 2, ($y - $fy) / 2, "$p%", $tx_color); } /* Finally draw the image and remove context */ header ("Content-type: image/png"); imagepng ($im); imagedestroy ($im); } ?> fusiondirectory-1.0.19/html/recovery.php000066400000000000000000000020131304016502700203370ustar00rootroot00000000000000execute(); $pwRecovery->displayPWchanger(); ?> fusiondirectory-1.0.19/html/robots.txt000066400000000000000000000000321304016502700200400ustar00rootroot00000000000000User-agent: * Disallow: / fusiondirectory-1.0.19/html/setup.php000066400000000000000000000106451304016502700176530ustar00rootroot00000000000000compile_dir = SPOOL_DIR; /* Check for compile directory */ if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))) { msg_dialog::display(_("Smarty"), sprintf(_("Directory '%s' specified as compile directory is not accessible!"), $smarty->compile_dir), FATAL_ERROR_DIALOG); exit(); } /* Get posted language */ if (isset($_POST['lang_selected']) && $_POST['lang_selected'] != '') { $lang = $_POST['lang_selected']; /* Append .UTF-8 to language string if necessary */ if (!preg_match('/utf(-)?8$/i', $lang)) { $lang .= '.UTF-8'; } } elseif (session::global_is_set('lang')) { $lang = session::global_get('lang'); /* Append .UTF-8 to language string if necessary */ if (!preg_match('/utf(-)?8$/i', $lang)) { $lang .= '.UTF-8'; } } else { $lang = get_browser_language(); } initLanguage($lang); $smarty->assign("rtl", language_is_rtl($lang)); $smarty->assign("must", '*'); /* Minimal config */ if (!session::global_is_set('config')) { $config = new config(''); session::global_set('config', $config); } $config = session::global_get('config'); IconTheme::loadThemes('themes'); /* Fake user bypassing acl system */ $ui = new fake_userinfo(); /* Call setup */ $display = ""; require_once("../setup/main.inc"); $smarty->assign("rtl", language_is_rtl($lang)); $smarty->assign("date", date("l, dS F Y H:i:s O")); $header = $smarty->fetch(get_template_path('headers.tpl')); /* Set focus to the error button if we've an error message */ $focus = ""; if (session::is_set('errors') && session::get('errors') != "") { $focus = ''; } $focus = ''; /* show web frontend */ $setup = session::global_get('setup'); $smarty->assign("contents", $display.$setup->get_bottom_html()); $smarty->assign("navigation", $setup->get_navigation_html()); $smarty->assign("headline_image", $setup->get_header_image()); $smarty->assign("headline", $setup->get_header_text()); $smarty->assign("focus", $focus); $smarty->assign("msg_dialogs", msg_dialog::get_dialogs()); if ($error_collector != "") { $smarty->assign("php_errors", preg_replace("/%BUGBODY%/", $error_collector_mailto, $error_collector).""); } else { $smarty->assign("php_errors", ""); } $smarty->assign("version", FD_VERSION); echo $header.$smarty->fetch("$BASE_DIR/setup/setup_frame.tpl"); ?> fusiondirectory-1.0.19/html/themes/000077500000000000000000000000001304016502700172615ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/000077500000000000000000000000001304016502700205615ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/datepicker.css000066400000000000000000000063601304016502700234130ustar00rootroot00000000000000 div.datepicker { position: absolute; text-align: center; border: 1px #AAA solid; font-family: arial; background: #fcfcfc; font-size: 10px; padding: 0; } .datepicker-calendar table { font-size: 10px; border: 1px solid #fcfcfc; margin: 0; padding: 0; text-align: center; } div.datepicker .datepicker-header { font-size: 11px; font-weight: bold; background: #F0F0F0; border-bottom: 1px solid #AAA; padding: 2px; text-align: center; } div.datepicker .datepicker-header table.header { width: 175px; border: 0; padding: 0; text-align: center; border-spacing: 0; border-collapse: collapse; } td.prev,td.prev-year,td.next,td.next-year { width: 8%; cursor: pointer; font-weight: bold; line-height: 16px; } td.prev:hover,td.prev-year:hover,td.next:hover,td.next-year:hover { background-color: #D0D0D0; } td.header { text-align: center; width: 68%; font-weight: bold; line-height: 16px; } .datepicker-header { height: 16px; } .datepicker-calendar table tbody tr { border: 1px solid #fcfcfc; margin: 0; padding: 0; } .datepicker-calendar table tbody tr td { box-sizing: content-box; border: 1px #EAEAEA solid; margin: 0; padding: 0; text-align: center; height: 16px; line-height: 16px; width: 21px; cursor: pointer; } .datepicker-calendar table tbody tr td:hover, .datepicker-calendar table tbody tr td.outbound:hover, .datepicker-calendar table tbody tr td.today:hover { border: 1px #CCE9FF solid; background: #E9F5FF; cursor: pointer; } .datepicker-calendar table tbody tr td.wday { box-sizing: content-box; border: 1px #AAA solid; background: #CCC; cursor: text; width: 21px; height: 16px; line-height: 16px; font-weight: bold; } .datepicker-calendar table tbody tr td.outbound { background: #F4F3F3; } .datepicker-calendar table tbody tr td.today, .datepicker-calendar table tbody tr td.today:hover { box-sizing: content-box; border: 1px #CCE9FF solid; background: #E9F5FF; background-image: url(../../images/date_active.png); background-repeat: no-repeat; width: 21px; height: 16px; line-height: 16px; } .datepicker-calendar table tbody tr td.nclick, .datepicker-calendar table tbody tr td.nclick-outbound { cursor: default; color: #aaa; width: 21px; height: 16px; line-height: 16px; } .datepicker-calendar table tbody tr td.nclick-outbound { background: #E8E4E4; width: 21px; height: 16px; line-height: 16px; } .datepicker-calendar table tbody tr td.nclick:hover, .datepicker-calendar table tbody tr td.nclick-outbound:hover { border: 1px #EAEAEA solid; background: #fcfcfc; } .datepicker-calendar table tbody tr td.nclick-outbound:hover { background: #E8E4E4; } div.datepicker div.datepicker-footer { font-size: 10px; background: #F0F0F0; border-top: 1px solid #AAA; cursor: pointer; text-align: center; padding: 2px; } .date { float: left; text-align: center; width: 90px; } html.rtl .date { float: right; } .datepicker-opener-table { box-sizing: border-box; border: 1px solid transparent; padding: 0; border-spacing: 0; margin: 0 0 0 93px; background: transparent url(../../geticon.php?context=applications&icon=office-calendar&size=16) no-repeat 0 0; width: 20px; height: 20px; cursor: pointer; } html.rtl .datepicker-opener-table { margin: 0 93px 0 0; } .datepicker-opener { width: 16px; height: 16px; margin: 0 0 0 3px; cursor: pointer; } html.rtl .datepicker-opener { margin: 0 3px 0 0; } fusiondirectory-1.0.19/html/themes/breezy/dialog.css000066400000000000000000000006601304016502700225340ustar00rootroot00000000000000 div.msgtitle { width: auto; background-color: #F0F0F0; border: solid 1px #BBBBBB; margin-bottom: 7px; } div.msgtitle h2 { margin: 10px; } div.msgdialog { width: 60%; z-index: 150; position: relative; display: none; margin: auto; top: 200px; } @media (max-height: 600px) { div.msgdialog { top: auto; } } /* Small screens (i.e. phones) */ @media (max-width: 640px) { div.msgdialog { top: auto; width: auto; } } fusiondirectory-1.0.19/html/themes/breezy/form.css000066400000000000000000000007441304016502700222430ustar00rootroot00000000000000input, input:focus, select, textarea, textarea:focus { font-size: 12px; } input[type=text], input[type=password], select { padding: 2px; } input[disabled] { color: #888; background-color: #DDD; } textarea[disabled], select[disabled] { color: #31363b; background-color: #DDD; } /* On small screens */ @media (max-width: 640px) { input[type=text], input[type=password], input[type=file], textarea, select { max-width: 100%; } input.base-selector { max-width: 100px; } } fusiondirectory-1.0.19/html/themes/breezy/icons/000077500000000000000000000000001304016502700216745ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/000077500000000000000000000000001304016502700221225ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/000077500000000000000000000000001304016502700235625ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/add.png000066400000000000000000000006331304016502700250220ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8ѱJP ֚ G"Yh]tP|Ro+NQqi#Iv{Ϲ%Egwy;Di" p TN ۏĵk~3sC'R0UՃp6~4tI `>Jg SRC Lb-~Tvh?;cXwN4`%D P=G,_#Ѡ FL[gF|.3w΋Q.`!1X}G}t] >rIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/document-edit.png000066400000000000000000000006561304016502700270400ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<+IDAT8͑JA1eRX[QHAw[(A mIec!984i|!pXD+U3fgZ"}8It'I_xfvԀ,E7 ðY: `aAMJO5a9jZmଐH'|BNn׍F!"">/k94W]@D֋Gg3<E2<1BEc3;}`x`¹e٥ޚټlSIH.I.mc|cnOUKeIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/edit-copy.png000066400000000000000000000003431304016502700261650ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<`IDAT8c`hO͛73b t5,*D l8> p Y.NJLoزeK#=I0]'2DUIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/edit-cut.png000066400000000000000000000006301304016502700260050ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8͒1JCAE%ٻw`0T6 [0Z ,nA VA+{K-Gε?rs1vB<81,rב as=2 4ts>lYK)Mk 3;c>$۝.B81-I@;K,N* bBxϏUHk9IWIk/ɱg3I󺮟BN䗤i4ia 9UUuhKI+`f +I,j`fKI$Iv$e F&ιw4( Io&}n7MuG2IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/go-home.png000066400000000000000000000004621304016502700256250ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8͑ 0 E] 3p zv$")LX# A撠4n%$??rΑs4FE("BD#f60{wsޭ3#/y}3w1ƾk"cZ{!G+5҄qO 7J XXeׯRxDdBx!y?MI׈3p9u ғRe'6R`u< 9O@~F״hc<.쯖bֱa3ȅ>Kܵg4p㯖m;`u㔙iNlrt ,xf@tf}JHs-YNHө `]eZu?'TD9ڒqiW}IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/remove.png000066400000000000000000000007411304016502700255670ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<^IDAT8ŒKBQǿ>8cXXA(rvG?9Ph$:Q[=Zmn~[ROt{>{8ox[_ڇ`k?,f;SvҊKP:-L2AZm1=Ijպ7䅴\&QK7v"i>}]LzZ@KBCobZIEȎ( n v@|oF'ǥ FLhNh$s%SU1N 'A(j[+~XFuI+"J_h)F#FL(L]}=wT*󉐓~XJ[~%0f;IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/save.png000066400000000000000000000004231304016502700252250ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8c`hc'Bmٲe/L Yv͌7of+,?FFe>>>X nz!qY@] g0n,${ 8xyyӀ:-\(န-4.`aIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/snapshot.png000066400000000000000000000005351304016502700261320ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8Q1@5 ^6` cyPJ[hA.!zڹ"@mf$I?])HUUq_va !M3 2h7L5?d@Gxqn:KY1ADA~8-x"e@"EZnn@ oc"b3sй4{LcOlIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/submit.png000066400000000000000000000003711304016502700255740ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<vIDAT8őK _2ީK7z2\( pVo$J1U i1]c<$7Pۻ:x*"$gTX?/o"ɅIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/system-reboot.png000077700000000000000000000000001304016502700322132view-refresh.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/system-reinstall.png000066400000000000000000000010051304016502700276030ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8͐?KQMҴ K!KnRjEuH]CAQkM!EE}_ 8n$Ng{sϹ<_#Nct S;;QTJFT2bjyɆbށamt.g\QB`:J1Ͽ][iϳv[z$㥪T[< `tm) ^} bTE# IغohCejH`lMP\oHμ|aⲫepX7sOTP?ؾI UY{ZG=jެ3&wSX[)DӅK_l|IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/system-search.png000066400000000000000000000006221304016502700270570ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8őNQE,  D@?]J?~_@’FS !ϐPIdWldn"Wwf5W4ku?AㄙB"E> u2qf:8Dy :+Vx̥+o@βPpH]U^Cв,]}tDyR=;{tOIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/system-update.png000066400000000000000000000011561304016502700270770ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<IDAT8KTq?4o H\-. DVN"De%6B+*Et#3Ih;-4Qjù~h@ nޱy'S3N=~:~ Md $E mz^ݳNUC?VZh],L%J!0m>_] ؿI/J哬n!|a4(q@-}1bca~5Z.6֥OLZ[G!55@ h(M=mkg Ib!b"u7Aj-փԚd\QPS sMaAt%^^ d@oTnJ dzd/=o~bg6pICTGuA?P)8uLe_8E`l:/JQuTA~D*㙍ib;wIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/tools-wizard.png000066400000000000000000000007321304016502700267300ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYsttfxtEXtSoftwarewww.inkscape.org<WIDAT8NQY<6PhD#ܫ$Cc,214j# `} H0c! Luo9sVAwV'r0rƘ<R92SU;BKER\Pn꓈Dx2t+J^1Ur[DsZkTMD,0 Wɲm9Z@{{Us\/hy`\.cp#"M\Nm`~!Ka̪ZwSzH w;X*k x)RbxC(4 ×l aFn:>(' oAhEIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/up.png000066400000000000000000000005441304016502700247170ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8=JAF0AY@DCS5F¢j"=?&]b`Ze W%039}{1Ơ70.3[q ":1~fp `UD2JBg1wU}XhvMDi>/^rMӬݛ^s~M)]e]YU\!ن6hk|YqIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/view-refresh.png000066400000000000000000000007741304016502700267060ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<yIDAT8RKBQ=>^M AҢ ZCS?kSEs A?-A!Q xzO{Xg;s.`a2+H\zJwy5Ƭ;ADVl~RFG&l6ID~\.@&c<[|'R楔k\,ωh|T*ѫm[?*0 ` MZ Df예 %xROf 6R !fЈD" \ם3$r.r3ƌ8geYۉDbJk}Xls^N&fZֺ@J+oƘNs84{"QJ] WDTK@1yp 6,?7j~³IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/actions/view-sort-ascending.png000066400000000000000000000002771304016502700301660ustar00rootroot00000000000000PNG  IHDRB%}sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATcf??55ꜷn =T L#2dE+,IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/apps/000077500000000000000000000000001304016502700230655ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/apps/antivirus.png000066400000000000000000000007501304016502700256210ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<eIDAT8ŒJ\Q9@K!n'pA .!)RؤWBHHJ!eҭLH@ngl6ɮ7Rd31ρ-U=4ͅ.@JUWVh0l~&MJ#n1Ce( @f%eJZveYLMԑK:fB˒RJGziyI~GVV H$~#}eq(""[F揲Z#ng*v]1l]o^a(q||,eg;\?Gw#v[EUT-3?wOt9cxh SqgkIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/apps/os-windows.png000066400000000000000000000004451304016502700257070ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8Ւ@%K;*^;Jbu K)uʝ!!t^a/%RaLe@5Mc77Pn-$j"lIp8_{hJjVw7ց5c̩4M/9]x$n: -ixS:^"] pn_ i5sI ۯ3/T; EQt%-y~ 8ܕq%JzEQoHd%~Mҳ<ϷsZ{>VAZr ]Qҋ(^Wsɔ1o<IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/categories/settings.png000066400000000000000000000005171304016502700266200ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8őA@E_[Gr.&Pw0xsVfDo!^!nBIH$q!MtW۸I"pR3;7u S3sPmsC ;J?OkOcd]v "s VXOQ8A\_5vƨ;`>|>BUU)0NHD}+:uIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/000077500000000000000000000000001304016502700235445ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/computer.png000066400000000000000000000003051304016502700261060ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<BIDAT8c`O͛73bZ&RlF ```AB2bĥ # g? IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/media-cdrom.png000066400000000000000000000007351304016502700264400ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<ZIDAT8RNQy9x0hYH-Ě Z|ghmXi)[;@ng3 FC;s IJ$IL&Pu*WsQM\.쐬Yk0 FƘ'ԥV8J)6DȃVYk:cyf DMr^Hv24s-X`/B$ɚyݢHޑj{$T(" }Vts2_-"-lEro|IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/network-device.png000066400000000000000000000007501304016502700272020ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<eIDAT8͑N0ƿ SQ,0uCF& `SС(IGZ7(1f, uz[m_2?,{IYoڶ3k;!"vYI;|[DteAA"Fq̱Yr`:B 'qqG !bf~hZOJ)'IAޤ)3KKy_kEQA` < p?ٔ*'IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/phone.png000066400000000000000000000003021304016502700253560ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<?IDAT8c`h.͛7a"]:`'I5$k& ĀQ`t@JS삁@Ӏ-IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/printer.png000066400000000000000000000003101304016502700257270ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<EIDAT8c`]?> 7oCF`!fly"b^` D\[R?%, wIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/devices/server.png000066400000000000000000000007131304016502700255610ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<HIDAT8ՐJQEϘl:X`Xvɾg ;1X[l|/lET +ݘ5ck[ ̝sFQ[T-:sOZ6V.U $$"K#E^6ƴKҍ.yOV8Tgߩ oVn.5Ql5F2}n}e%TIO'} ULѿ1lwkS[|yxn||i\grەl|%=B*!RmNn'IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/mimetypes/application-pdf.png000066400000000000000000000006571304016502700277260ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<,IDAT8͐1Ka{K(?! \*P]Z[Z/O 犦 .mm-VAD~EE1k3p􌏗VZM0mv { @XIy|x9@As.hpTvG|'h%6ް]EUC|ĺaIîr.F8$ ֐ C ;7԰Y{B#T6b悃"bЈ)]I+zAPef2P46v#Zp! dž[* }3a<IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/mimetypes/application-x-executable.png000066400000000000000000000003461304016502700315360ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<cIDAT8c`hc'E͛(u)^@VK;/w!&d^`#w~2`ĸ^ 59I7IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/mimetypes/package-x-generic.png000066400000000000000000000003161304016502700301160ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<KIDAT8c`hc'E͛QPdq&Br^|}}c8F]0< >IBB&/'}CIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/mimetypes/text-csv.png000066400000000000000000000004261304016502700264230ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8R;P Q7Ζk np fX;qD]fzA-Ik78$gISo>>`aa``edd-C߼y3#4200r` )b)`jFl9IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/000077500000000000000000000000001304016502700234455ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/dialog-error.png000066400000000000000000000005541304016502700265450ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8n06Љ%)YS:AfyHLPŲ]mz[|"byf ᬡPzhv ͼM^2(П8fF|C[k$O|خ5\?&yn m94|KXk{Tu; ;I|18@ "fit섚D܁I܁cT?P O+pp IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/dialog-information.png000066400000000000000000000003401304016502700277320ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<]IDAT8c`hc'E͛QH1Y-! f'L,b50P( ``` f͛;P(6:IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/dialog-password.png000066400000000000000000000007211304016502700272520ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<NIDAT8͒/O[a_ߖbw (0K H(i ย` E,K͛{I mɁ!I,˾K 8iZ' C$-C`;˲_VkktXBuέIJ$Hv8ޟD𼓴gf.X&T#ࣤ,c*7]??JRng:N6%̪@} q+4h4_$}T*cI|Pl6}EJ۽(~?o4sf6B8% :NYYV[*+6$'Oios䀜IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/dialog-warning.png000066400000000000000000000005761304016502700270650ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8AJAE_(g .@@A5 ,KAP\(^ l\$cF;UZDm$;SPm>JcМM^vkg5 ϖC<=]^v_'11•OuN!z.m;;/#ząEB2z%n2E-Z SR;>*гŤ'AB$2&hT7IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/locked.png000066400000000000000000000004301304016502700254110ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8R103Q" #p?CXS:fȐֈBHţơEι H.9e>ꨪ1f(\[Z"INsJ"2t%"VO >ZX[Fι^A?_03IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/object-locked.png000077700000000000000000000000001304016502700306222locked.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/object-unlocked.png000077700000000000000000000000001304016502700315302unlocked.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/task-complete.png000066400000000000000000000006331304016502700267250ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8ѱJP ֚ G"Yh]tP|Ro+NQqi#Iv{Ϲ%Egwy;Di" p TN ۏĵk~3sC'R0UՃp6~4tI `>Jg SRC Lb-~Tvh?;cXwN4`%D P=G,_#Ѡ FL[gF|.3w΋Q.`!1X}G}t] >rIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/task-failure.png000066400000000000000000000005151304016502700265430ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT80DgYH7MzAFB ltOdCYӴn뫊D d$<LdP3FĂ?߅]Dޮb*x4Lr0T9`{&l=UM2%x>s 2oez %{3!dp>XX˩iHJIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/task-running.png000066400000000000000000000007521304016502700265770ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<gIDAT8RKQ~ޙK:C IC$56 PC).џPps55(IS4F[WyGw}u4M}{X4hHX1ĠC ̍jd$_ [k>um;#AƊ~bl"$6LE/'#E?cD/!̈!UTq FcvLIlh , ` 0??sY wnc9Bؽ`w=o6ϧKPn2^= AT5bvLh 1hL\WBGXbyQm`ј= @23IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/task-stopped.png000066400000000000000000000006671304016502700266020ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<4IDAT8ŒNP)#_YdVwl₋SgсVW#Nf|m.-?n~'A4^q6i(.5}&q<;ԑT_.p81Ȓ߀( +$YɬL EѭvVT.V ivK,I=k-8VeY/w_HDrd>72p]LV({Бii(A,I5cLvqv&gyX,YrrZ-/Kkm?%=c`S0$n1IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/status/unlocked.png000066400000000000000000000004271304016502700257620ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8ő1 1DE[ڐ/ aE#{>(hk=f`晈NID.۳-jڞ MTժipYBwfvWuWιx X9Ol߹a``p y1 ;gѩxD敛!/0OppN}#?# Bx%Ͽ?9X8+ϒw Li 3>Y232NYOSz >##8 3_i/zD9EvM>%(; 3KF1,j^?N&>H\HZIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/types/country.png000066400000000000000000000004231304016502700254760ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8ݐ @ E߷(hY(3C&k4g͢(EysNp8)  UͧL0 W852L&OǪ>fyVTu+Bs+cm9p_[ैzw8*`p0mPKނ@eYN<ߚ+"D䃵s6A8NxkuU}$"竇pv$Ir_Uw{E䕵vU9[|IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/types/locality.png000066400000000000000000000004541304016502700256170ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8͒ 1 E?;J A4W0 %)؁* ED.^/=ι3TE0RJZnۜJD2,pFCm5K3ݻ&1cpM/DdODܗndfyjA1*xg~;whмUIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/types/organization.png000066400000000000000000000007131304016502700265010ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<HIDAT8ՐJQEϘl:X`Xvɾg ;1X[l|/lET +ݘ5ck[ ̝sFQ[T-:sOZ6V.U $$"K#E^6ƴKҍ.yOV8TBG"B޻VFq{Ϲ5p8TL@>- D; ⛊8d;NLL[τ[׈6ҪT=Gony~]/r>hV io,w pdUm0c\ ԁTߴUj{NHn`9dl/$hO0@z~Q);+1 dw)@4;30# {l aܧ5`$̂ljJBQp1΂!&,} v})0ƳMFkx?xbWz[p2ƆcQ~ IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/16/types/user.png000066400000000000000000000006761304016502700247630ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<;IDAT8RKBq=-PW4 5E4o  m5h֠nDk[46X|4 vϹr8ԥfT6:Q3:;>~n:κ4:u:P۠2 s\P' :ż梔̅zMhf؜qcj.`A"~N^w ȯJ$=݂~΢xΏKIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/22/status/dialog-information.png000066400000000000000000000003741304016502700277360ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<yIDAT8퓻 @륵fr:q *m,\q!/!"rhd9S hiԓSxnX}fa7{-kuM;Ly8ƸFX{ y!or."MIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/32/000077500000000000000000000000001304016502700221205ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/32/status/000077500000000000000000000000001304016502700234435ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/32/status/dialog-error.png000066400000000000000000000017031304016502700265400ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<@IDATXoUgu+tx B)6Dc5E/0/;M111#PlcI-%5L]ءs^.v .m̙ɼs}xP7^v^QB-xjkD#ƈ#t%֍)GSt3)}Gzysނ?h@{^mh! ,TU_p d^ݠXgtZA"[ESn]ܹ&)#|8#+q5g t񪄋o,,d?h!#۾ee}sxФaWbfc驕$ F_g Q bY6pM$ocvhAK,IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/32/status/dialog-information.png000066400000000000000000000012731304016502700277360ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<8IDATX핽nA3BDJB7@@JEAAs t4O%  $vlڻs)Ǝ?8k49͎3ss,\?C{}[GKލ7Z'0!+}ểNƭ-Sղnxr|sL$/TY\@ Զu[\\`Pm<9(;O k *rX 90a(QǂAJ S} 么]P'  ^;@HFHW@IݹFK]4fbjϜ̈lOgfSf1ojAh(yfiFt#{zy 9\ n2KZ|䐣N!/2VbNӪ3oNzu/F*IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/32/status/dialog-warning.png000066400000000000000000000016321304016502700270550ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATX핿oSW?G9V%*(퐁Djef``AՑڱcT*BHt *AcGs:`1@01pN!Sa 7H X!TVzo;z^! !c3Q}]m}-Ū{ ؚ ކh'uB[xǺD A$j^mt 4"#{h06IbZUVYT[ o,R{;sғݐCǿpkߜCB ՈK_Q/zNi!yb|s}'}¿K:IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/32/status/object-locked.png000066400000000000000000000016021304016502700266550ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATXˋW߭,AAH]`4d@6ٸ􁐭+!YEQр0n!YdNtt9YTMYU5un k7w k_]?đ?u/_Vϝ>N@W.CEkΫ\r?]v٨AQ‡v{o!ͲPQg`ZJ)Ž=UK˄eÛWםyh/$l]?R|I G])ݻ?> uo)"wwfG>8Xܴs: I;mV C_~)nLjl [wd<7vcNF{/QTВ8H {52v3`ϓS9P YH9Ae  w2V-el6ᄄ O}= HoBW j¼# 7cVQ2r6Ts0OUZs4U1@}VkÀ~,ܫTpBQIY> $IJ笸餼?KsQ%{FĭV^OJIV_}PpWVЊFA"q%m|8s޹3- 9s;gzfq!\lۧ_mEdK< j;v-T#cyۧ_mm{#y`g_kycd"ʼ/i^;EvgQxoٺ\A*{WΑYywp*P6T.eo?;&ꝟzɛ'D@o{5}\*9s?Ydf/<%rՄk1l9>W^˺S*!c3yѱ-7t`b1džPHJK0\Lv+cjw(rJbGoI"ޖ0c=Duriė=:=˖<;l{L1o 0㱡Mw:l8Nyr=U^ߏNNg5;]?&`LJn'UcwF\s W?I^c.ȭ?w5\o|,B $o=1R& *_dKy廝N\z''&U_xWqixq^I'9cx/exk4*Μܫ2.՝([byr̅P26 8[Y]+fM=Fwl(8 md k"< ىۚ喔8W  ^U ψ6Vͥ"ѱuk1*b]l=ϳ<僰&,߈GC{Q;ŪeOfEbQZ^ի6uפՃ(H$8JȖihQ݉Q 0ZտP9v -ԣۈtֳJS:˝9( 'ɞdB PL iM'mq]9O28IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/apps/000077500000000000000000000000001304016502700230725ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/apps/config-language.png000066400000000000000000000015031304016502700266250ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATh홻@(Y%=-H'ZmЊKEP "q)Xϡd(ǹȲ۰7dC]YwJ`5ˠQSíj LSh^fA e ޅOj`Ti'Hg$惋x0 [惧P›P Z$wG vuTơHU5P+ Cj=/"c="VG +/bTPby?fLUZYGg{U1<3j@+6s_0<Ҳ継;{mwk^~8vSsEP@E3z̠7$qo5gTj.mrEyiv#z3%c>`wolԘ|}4ۈ :js@Cp'_l@G-d-W@TxcRsͧw sr͸])BwiY#ʑ״GUBd6eY$& "r "AMBP Skglry"Ͻ׃른Q`|9jj "7Rk7؍I+GI,njXAoB uc ~: ?0XPzjZX9O-+P87?IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/apps/config-welcome.png000066400000000000000000000035421304016502700265020ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThMl\Wz<c׉IۉG 1&.JT*Tq#A K JTL"BQ!E ES5"_NR;Ԏ=b|xͼY{=>罁uZoPAD lqE9˨3!{{?a~(n8GPԹ*&99sQ p9󚨼ܥ ͘_ܹyu09uE #uѢ:пzlkZ$zJT >z;t-5pya#L 噇V3O =芟.] VYl5M'=88&d;rUA ᇯjޜ!T0i}3"v l|Enْܸe#D>ohw_j؈815Yż&hcDpzU覆lB~ k3Y3ɻ勶2?nNG8\ڌ=gJ'<MUYU#DfJB4ܳġغ˵n6c^X P&GS>=L')} qԦDX1Um5TS"3DݐE 2ʱ%wH%$~kA_n0#b"eAߺȡ}S(L&H$Ux˪E̝0#_BpC oı#s8*$)P%\^_P+dn5al(kYo_BmG9iAHRB(tə0F69>P8%ԁsݠ–{ eeH`0X W W+iDou +Ō*?۱6\wΉd2t階RuM:Y5x6RЇ"dۖTj^@l|Y$\}a˲,+RU`cUyٵ APAEvSЕ UjC^~|_uW1-RĨҵ)G~o!ϗ沐SdoYlc.:* 9d{$;MJE_'e|KG>Wr;Wˇ¯R {xEiU%UO.)-?|ڲM#E?w+fuSx,H&A4 Ƹ@=[<"y2ob~3)jk=MwQ Y-bŸզHۚ8O`߾}Q[q ڊ* E"ǚm̌Hx޸/½`}/Ծ nj9!">m::Pn#IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/apps/os-linux.png000066400000000000000000000051521304016502700253610ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATh{p? Ɔ0DA <B}*EDPpjELն#Sb;h2mS A1 ! @ownfy8{9sBߤ !"b9ujj&J ΀:EJA*V2CM !O𶲨-^p7XD-U"CC[~tr O)HG/fޓI6®MJ==3zsl_wwˀ V}v6qE_QS]KScdL<_]usSR.}kJJJtG~! w;475w*/ɕ hZws# :}l 7@,nmmaK/3er)(̍74ML䦛fO8 6|.]rǔJw _KP~(^OQS]9Y4JEO< f}Lg$KAD5tzj oy|O@䮻淃PJpqELjkv >7j'zlOi l>n#G9rxyGJJyaq4I? PYYD-*gNa; LD$8w֬Y̞=s?Toc{gGtXMD۶ntQ^^@^^yyymxO8܌at4Gba"b9ZU]kV޻Ci]~7Z,sǀ!\0ok>{0pWЧXpr!`TSVY3$nav?\վkח\4Q9 mySVn{nJK0!g/^$oH#;1`yTf۸PR\\P>+JBL(`[eee Z.3|t+̙x  KSc3EČsކL7wVIE_|!Zݭ]7jWYg'sd,~0f_$Kڛ1Rxrr](J)Ng[8gv]h@j)nme@]m]LNf%nC=iSc:Y_3Z<$x<} _XbMS׏#"qc;E[SfmM5/ض@5 #貘+).? f mmʌyqwőPP ~Xo@ WѴifxNܺek(3Q< )uz'ee]H(;;S٥%a(u*rLRv{0v:}IIz>mr%u5o<&LnG)  DH0e(5ʧWQVzaÇo@>?Okh;YzC~Ng\ᠩgd(D) ߥM۩Bb؈aglv)|c;gϞcA2,4~ztt!x<57vHQ!4n}ԅ`nǕ"x/λՊi>\:|8,V . ]`!rU=i#]4uLӤ , 4MͿR%lEd1"c恀i /:>>wPWWկcǎOɾZ,Z|yU0uIX0M57bݎt~ k,2w+"9zjF;xWYa#??"dgUb_ii/G =&6,t_O\ڸqeӲ!9P5c wsіR*G4C%s`7N!bW?io0N3<[c%7$,:JA,:k?DEec/s_,ޤPnx 8Lbx}|XEM+e0sؗ$ut[t.ᵥq(vŲa:ץ﷙66f{QF4ohy%&khIMY-zrt%aFߣ"i)-qv$-]=vq}b`z/lM5 F=z$çis9ƄA)U$|e7Ny!TgOdIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/categories/000077500000000000000000000000001304016502700242545ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/categories/acl.png000066400000000000000000000051161304016502700255240ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAThk]UksϽs_3vZ[Q*A#"U#EG )!0* ~# (F$AN;{s)t ə{kNd-ѝ;u\ Am hCUC2j%3{>w[) V jܥo#C߿%мm6VZP_R3R𨺟q* b7v} }#bD)91yd?1 ! ѰvZhF<,oB@ܜm[a6*0 -Z䍾Dh_y_s]9hgCC)xcdA,thvZ   7L^/%.-gN9Ԟ˜,+"uuМE3`_`y8ˈZEg:Ky8^-<9>f 2ށoaM4xTFؿf1 J]7JrjN]݈M"⠋&sh}4%%xǬ @45F}NZhBT)TUIM3AUP_iveREgyUtfmik ^E804[;NGz> ʈs8ڬf=xSˍl[i^OZMb{_xRDm% ?J%y2hp\h;)~Kb?Zg`i~(HY_}D8$᡿mWL>;2odQnɕNN  R}@؈ FH pZ΂j _3Chs?&|L{tIܘv8h$ȡ(:ז/ժtɗE-$ yE]l}yk2WJ3d㻨,ϤEXR&Z$re_ vUli1ݦ-"L-jH$~mݡQD,:`h$EmaHkJ$00 (Nl>Hb zcva1sE` `QЖ"݈+h6fǪȾ}'nipcPQBy"YgA/!/v[qB+.O0j *&_Dt6@F]ߘD ϑmF5Z y]A \YљCEgUpmpM|z*+I\U:D:sHگˇ6*b^KWX R :|h@ZJeaG ^WrOIE.Wvhd0vIX~Aby)b5E qq>6j*$ _ 5ߋDĵ^ p6֎sSNV -4[pj8GbY>0fp=b;:rBe4oF-]t(Ŕɮx?B Sk"ej+ɦ<'>bP޹D?;ub|lҮcgg=HiɃF@ݭ_^-ґ s#3TU6uH!Wc! WxamAEgǡUCM;cUtx?Wqɤ&ښӞuYV3`9@ h7x`(}k]G/7քV jaI1'( u+:@E&G&: OApi"I-HZ~^ %/+N HP??CZ AE8~pmJU>x +.5!P#QvV4KOBDu'L'=Z{tb֞@Z 3OjC]o񍷊amZz_$ֿ#Lbpd?b)gG_*v-?NwrNPSIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/categories/applications-development.png000066400000000000000000000057301304016502700317750ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< UIDAThm\WyϹs/+q+QI"P i *D~7 J%Ғ闔8'qbù3kI1rsΝss^kfWcw.7w.݄W:E91wW>3VK~iꪖsgG/ pt-V~NtE,_ h^ $~}v'.~1v@d 4Rh&ύ,.07>uDX8b-O!jUH8C#/*d5c"2 XvUX> ÚL:$6$@/$b¶p KDQF#a]*pwX8B28vHO%tDX,MD`\aaxF@{,rxߨ;mrN,>aB XÙU)*~kӧzuF.⪸؇ cTSRt0w'|/kO/J-Ȍ=g9$n8cbP(/NSM&v1F{ ήnvp>i~U pWi4Y54ӄ =3j7Mx=[ ]8<~{x2wܺcf|wyE ei:La_D rUσ2 /`_/q6 n!7ƿuJW,EC#JY'NRk wqv1$D#+5 dо'yfh[|Lɿ<]POD^B!ؿfemuy볒RILdXNY%܅KHsc9%_{Cg JgKgkL!dIu5=#aL߁ʠNU(Q8>EH2RB˜J~oVCoɘo:m8CqXɎ!w]bOkq.{6xǁ 9oF!x.GOp8zsC} !3ȅUE\ !JLщT}:,- ~cީZ6]Xx1QCceKojw<> 5s@{r.a 5fq`!0F e:.fhbNmTW@͌_<"ݪJ&&028O7a$ߔ>b(lB 66I͌H Q_#?XB0rhUא%@D JљpIGt2N_ryDzqV6(zF"M#EzTHfjF-@Abn*+̎H:W\:Ơ5E[oȘi&[h8pn:`!fڢ ڬy#`d\JwL/{Y&veGFx}W"^-7dL-5^ciJ (=(enxi3ti`Q7v)^E g _1;1=H_6F)mR⽐CL30Nmi؎,,uxTQtE#3i4A3O.(T .Tpq^X%"`XF5j]En{ rX9\Ns=p+yg%%̪R[UTiX(2X펵?(b|˒G!ܚc3f/w܀o=H"g QY/Q~ d K`q#bßvXIdY?|l\g(oV{B*y(gQVעfEdk*F-ctc,H84p=+ߎcn,wJw%ŠU%@ W>C,bb54XY-cn"am^٠;q+/}DUat݌138,yupʼG0QO"$zj ˭{LV8{Oo}TPVskήF,K'0K"CmQ [q|D\[Z ";{Eo+MH٬&i ŮlFU- IԫzjM&mםP|;汏^n] 4I`dT^8ݜ~.*i%I^3F{B\說X77[k+^ W;b݃iJhTM#j,`[6~K^2Wtث"%*ȬQ7N\K$?Χw]xX~?~ӡȸ~qޯ ^q?I;WHR]YYPx[k-VwV7˸1YNx\s7k.%~x'IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/categories/applications-other.png000066400000000000000000000031621304016502700305710ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThKl\ESm;FD@&;DAg3n@dB4f1 $%!̰a$"  %H#!ACvf mwgqv Uus9U: )~}8=H&[U᭓Y0C)pj~n7_'qS0{sk&N?!oZ'9Q4 >gC7 *&ܶeA2+PV 7lo6+V*fY:-,,j^.PܲB|\*'&&ji]SV'ЧūOLMM5riܸa~4~}Wwv Hij۶ݜ[~jr=t!)B^<ɓs$׿83r~]yyo۶l+4௽z |T[~s4\~W7 HrvJZ?QՖY\\9*)7pco=xzuŋoNLԗqfn"'Μ6v(<|O=u<&0a`yeLu*HREHp! ñRml]S+3``fF}Pv$6e|'* Ücd$ܺ(Аa:1̌<̌|>pC|a/1b8s`ay~ɺ"Yo[+ƪ#6E \mT8)'a h֥0ds3_S@'Sf5.IB%\F mY} I][^Ev%r \h'fO=F! BJ<&V\kK5jЇH 3% 3 {0YE\fa=bowơg&n8$tߍHi])XTԲĘI=qz ^#.zމ{*cjMsbĺb g.ʤ3d-7Zbd=_= {]o v7++Caox#=N?3MipttX1 --aבhMR [Mp=/իZ;&{"%OͪK珸탒5@+>;vl1 ڭA fwLOϯP Đ>~Yxl1ŸY X ;U-C;?^u#gZzSIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/categories/settings.png000066400000000000000000000036701304016502700266300ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<5IDATh]lmLlCJ€iRZUQAQQR) 4TJD[is6jIDAӴH)UoCq ;"&0`Nd;9}{?gwmҗ_t{9wfn snb32܎ `@0Zإ^]*0p{'D?s(Ư\Y!i) < o}<5Y 8{#4V FVueRum{oʬFKμ@U029ٔH-Znc+`ddM4l)ǿ575TZ%ԺWagJJ"w`GD7(!].k ObeURcCgr_s͑vic===%Sl,ObO)xmНo;qxF#óq~j:#Y'໥:K3g.ޡ;jZjYۧWZr< U㭡]nf漶WzΒ+5ƀ w]⹾5w-J8ήNb" O\ ( F\YT:UW| uSTbCGG'N,,Y_i?6 "p:\AD yd2^NhB_q 81d'k[/iR8¤Fe~}Q$;^6DzX/[~:^dXLOMY1"AX1 ɒ_{1&]h7<\[S;MJ-bmٲLd}Yڡ HLo >wKX8ò6|7Wʡֺ18&ׁ9\χdQ)l**\B+/xWa!|bffgQ2 acY'kҒ5R!_߮CS~x431yČïǚybF1 $0A6 GY=VJ5;MNt'<:qˉ.ƛ؄10y>wS~nd֘C* `lOp,˓|}Pа` B!pηs}^P!ߢ3ț.+ B\3kZR5Zq妗ū68v녍g@ᥨ|k*n^蔻iY}g}'Bm6q4S.?oXx*_dp1mDV|2"Re'GW;Ҿ÷/9lu"HU*V>ZGN^x:,/i4RL%ctgw|n*y`dCCWk2S;E]ԘT*E: Yyݱi#Bw__UET7ֹ\|`:Rex>|E$sQUU`TH˿U_ǏoLg/Fd2xW6T o _q\C\+BԖ1bXŦrqV`a%UE2:,ȡ͛6f迅[83gjaIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/devices/000077500000000000000000000000001304016502700235515ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/devices/computer.png000066400000000000000000000013141304016502700261140ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IIDAThXKAް !6baHe:S$M?CTHHҤIg"h*6x Xx1G͘vf{1bߠ]=< sb \Gߣjjط ZDV%A a0m/ dQ wZt<cfsxe3QD YL/_`zTy^&/ @p&, "؟A0@V*!QD E]՟D*P#uǩK`~]a@T4`,J BJ> X4N$:Hs !@}NnM2Z$̝OHV6@@ x0 J z~4`3pBco |4?1KBT8 ]h*?Gc {!J4Uhsh{l- qQC]{ -mh1s9]Cy]CBJ(Lo|b~>{IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/mimetypes/000077500000000000000000000000001304016502700241435ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/mimetypes/application-certificate.png000066400000000000000000000042611304016502700314370ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<.IDATh_l\G]YNqڐnb'iRDP(PJ)6 JTE(T*hjƕ.iĩĮcǎwpc&]3w;͜3s*!F%>s j!lZA20Q9}kVsm_kTƦEmD~nժpY }TE @rs3eIg cEO3;EƏ!d|MU#.w?PQ!S01 =IxTʼnc/S4x/@AR)⻿͒d2Ik}nFTGcXcaK=6 NԔ#1K])]Xtb4\6MG|:`usU筷QcJ6o"["&/0?#r۴H| è>ȅ!r߀@Ú%${Db6 ZnTV'ʠ*#(P( ^WBP%=dI~Ԧ-[yA[S<ξ5giPDqF8jxy4:6\rC}S T@88Ƣ8 N3/}4Mк)E˦n]e_y)NfY "h򆯜9mk!1jcӜ;1Ͳ8nrNc}aV^@UQ|?O_($TܥF7$ThTh)ARBP< ll@ b,,)Ef (k1ƠPjRt#k QQ>I"K6WğȗXhJ؉ L `GFU݉ w݁> Q+ ;c/zl GP&}n #YCsg<_(s* "]0olEv xCό0z`ϑM0u0Ǒ}#,gYW=-Gn hi\%Bش}?\askƖ,sÛ(Mɼ[,W0>Ĺw>gpɰ)cvuꀈX zDh+4>x?45a 735te͸} Kw[<'8/c*2"&>|mD64sdhޏJu+(2mי9_h'vuuU}Qm$.*` =' 83 TrusrT:1 fo pWp#\ԁ[:;*<\ s'r9Q}}c5;k>]sK9~yc8.}Fۀτ@۾;qb1?攺4IOX3{BUCj```IQ#TtX#?|6t};H)8N Ͽ?xRŋq1_򏻳Hӱg|Rb{82>Yp9<][lՁY^ǩ<|Ͽ3*PtG7m8磦z[h\(F]hHY1h']SX_+y?8|.{L_OF|y{޿\߬kmU!GhCIXkgvy:,QٻmEeU\U,ޛ8#0IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/places/000077500000000000000000000000001304016502700233765ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/places/folder.png000066400000000000000000000021721304016502700253610ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThˎU:3 HiƷAB 6 )X<;@b%a"v[%; O8ۗ&m//rSǰkoB|oƳ/}z26fYѳ~_| ۓXGh$"!g.\~f͇ +]ag[ǧ2c)Z%MۤjUf[ύA%3yK;1US ?e{] l.|~l!V駫u܉2(XJ@am+/VhuS2PM w#w#1N7E4 sxV+Gv#QD`B!1pYr%(ՙpPخi?O֘De^/b`"տlכ(!n*67[УXϠ" M绨' Ro67;;YDABVz=W?| VAA-`q!N,)A,N`"Vf*2!OL;@bXNls^2{dߝl|w!`d&(; t½;Mq_.lĵ[ Zv P(qu_b\- !ȧ@AqֈS5PW!Y F8q#9k̋2q)ˠOܘr1aH'R6:ZB.n&U)MbSsFb(Fe,@3$bt~ŬVyUt@jӼ&s3fK;B((ITs޺iUL6^@/}5X&eIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/places/network-server.png000066400000000000000000000032751304016502700271100ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<:IDATh[O[`cKPfL/Qj_}`桪QmU3hiIR 69g>l1*>{_ np&~1:M|/u4~ۇۧqM|j q-K:,25s[utc4|EBNB LLN^|QD\ S{S,N5Wac%BF>_dzv!|ҕ 4EWd_vP79xvӧ1m_m[|8$ h-~wvdh4j3Y_[kzg:R,Qs 9itjA`5|_P<1K'dM>@hl|Uvwvڶ:gHmFC ;}]eF'UlX?zQ{ j169 "? JR)(J褄~x^؈]]cK"X|}~D^c,lQ+XO 7/om&Ӟ`;6]{3TQ-Ffo+ x2Nv 4'JDѓp%\=BalaqrP&qUn¨D-Thg;_.$SiƦ`vq&:p~؎Cv`(o&bL]%Xi^@nplpŽ _@%AE,Kpd| ;CE0(F@Bhd米Q06yT"h5DӞL Qf& 1hs갏0}- Uʼn%^َpXUA=5(/,;&@X`DhI$wx?ڶ"V<E<$Bӭ'a+|5 &֖EDŏs 8_IN)XWfEbc٧Νk2 bXzUA߼=RU5?Hl_eD±Kd* /(,SډDoR{\D^[󄈮m0'4wzFY8clkvCCC^ N4+#gUwI&DQߵ+bsw1?26@xsh(Җ~jkY|96s8~\끌IoS~sd`H$Šobzu5p _J_}.S^瑵kXBF)'ƱUQڞGDXr7VU 2ccBa1vlvCY,F낶΋1t}I"  NP( ')b6ٟ‡B7wеge}Hd":oFD8{Cc!bScR k+@!:0燥,GD.k< ><{ݿp^;w,_B21Il1Q`(-s:*M3l#xL&c۹z=Gŗy.ˁ'YqB]<f͉[q#ضۘbw~>~1ֻ -uuCD8p3u% Rs<G;rķnOz5&o^2 ѽ1*(W7hlj:wuIwD1; qgW>8$ΥQ1vx^&"AڗˬbTLY^5&*pGySUKU)~գ!w2RL9iH|y@T62J$15^(FQRAd{/o}U:gNٷ2r1H&$IW`ܘ0/ţlҰ&x" mrJTh$Ji< a"'5`Aͪ: GDQ7Gi?KJy;nNaN҉ #&QyĚ;%]﫟?{  tL&3-;#b?ptKKpiHV*R1  6iN،yd+ Q]Kxh6iE7qۼIc>E,jmli EPz  hry-T_کb|ٹw()^ d Tkv ^ Qv ұhEĹ:?ڐڋIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/types/000077500000000000000000000000001304016502700232735ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/48/types/contact.png000066400000000000000000000027071304016502700254420ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<DIDAThYIoE^xf̄HdX}$9qɅW8B"o !NDxۉ3,PU^FqwZ= Noo R.\ 0'\`q$ vLLbB$FJ!LڜO;>C<YdB_=jč=|xуa "xmf۟s:rfkcۅ`0-JatshȖka<'8{9!{~z`|27\ vTrw΍p7;] ].@߻0kM;ug}̞V ]vw& $j˫jݹᣗq~b,u@w;0 u2k6MۑW/h p`u̶o_/bs\Y)`@xmWNq.q$ⷅ刔`gKirjXi7HEj5 f@>̕| ķ໿&(ݖ @`E^Mb<Y$櫚 ѻ+|6N9 @F(wAVC"c>Ga)]j`iG'.yb )đBoHJD,~D򿕬i׳[ 5J*4$%Ӥ tf`*V"@xlۆetkS`I3Rr:A-L7_.Dp\tZkZ`@2Ym%ݤ jR$T 0Ǻgf0 )hmEkm6:)|Q9"@ 'ROuSN7 piV!&mZ5| cGkMW\@\_,ģkq\5c?b=Bz( 9?S5K|u]e"rQȆSF禳ODmc<U;.5H_ KSL(0 q"[8R1g:̈́a<!f/̓B2)Z;PbGLÔoA HC-ɗPsop]+r72:\IMT:1ktyb*тu?w8<\|)MAscH^k'.KP^e0iDiBHҾ|8R44 (؉qzX@=YNpjIENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/types/resource-group.png000066400000000000000000000031701304016502700267630ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATh]h\/Iin0 ClB<@IӄR(OBL$}k%ZNpu2v?ZӇ{wڏ;we}=3s朹saK[YXt4FTb8]]()׵nqre=;w^( Xu!I=6x" /}}{b|&ϛaCs L`aa8 "R>řzLn߮j";uP,U>;MA]l&''WӔ\hRO_n( K{מ$S$7@KKK5l/Ȳˇ.OMLLMCIöQA8zDy(m#hrzϞtl_d:ci "=!dfΌ/f4EmeeJ%3u;^;+d}YPIS׿Bggc(D@P[#@M';FhS^Ϡ%@4V`P@|w_&{Z.~3GJ9)/QԤ^boax-j$:&R = l6|l}X%2ĶAzÓ%!k,~ [x0O f 4HգDRBȹx'?"\OLQ36'e;8֎ "s>70W3t+-1xi#εսn fB%1EiTyCt #'l1Hi!,dY%'P%ƺ>3@$9w^.>w#*2\Dq$Kaf%Yss{hanNW6\xCkR[vtpXA_gyo-W*JE,~Hmr뉗s,YrB>lGkԖ@Iƭ_'%phv~gfg ( NI$U->xSH=Oy9 cfNX,B u)Zl"էi4gǃB /_.-'xG1y*K077 z`nnXAO$'rZ;,xǏ|/HT%]^5uС6a>/Qcr؉4~C=pfRZ#_&Ԯ]'@.Ka8nsd;0V|Vh?BWx&zҥkwNPN{gi&|3lٺ5nZ.ݱ聶zBi||@8Fcx`saF#d=fs^R$7Z՛"茼;ځjF[c( j(B-QxD4 Â;0(L@f־Q&*dsG߻s9Z`oG<:k]` Vn`2zY%?RqDFݰIBfsckHײ`8M|@#n>VB@>_ 츶0=Vo|yj=G?=jXXݩm?mޤm9'\E&\[IMId*Z|o?_wI\dgx}7RCPIӁ)U/ m=|kMw>nv3Dbn:Ӄo~;LI#h4X[[ V/$_߳C҃ͼ<[gJ:vbU(KCKwY zF`{O`$S,.^/ aOT>EA/xThUhȤWrXBtalDSy@WP [T^L r9Np 1K Tasi7K F.caȕ$&NZM'kИ"qx~lS=SfRb0r〙zۜPU{d]ۓ|8nIG]$6UsBN:4Ѩ%1`DT%y^d؅;ߛf6z61_&IENDB`fusiondirectory-1.0.19/html/themes/breezy/icons/48/types/user-group.png000066400000000000000000000044511304016502700261150ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThil\5;$E((K%TUjYDK) * hmT*BtaiMm&($NPI2;2[xI/HW}~5&9&l&, mGhA `Ad*-`ibDe{T&juQ՞#pD,}idz u@H*˨^Sw`Z%snP՟ R;^l>XS7k|yLYCLw 0oVWUF /+HڲY /"96*%y9pfZem3w5X;j=RV̙&qE~Qn%{*%X}H kO04WYO+v{dg.gbᄁx-Bۀ%I6ʲd:z9.NJ*GώO6@)E-hD>S9ݲ<Š;_ "߃ʦL[˻,E-1v,c},\q{?(U+q0!;:1ߕ[aYF53c2% |eaua~p`ѣ˒T\;"jJh{ÞATܠbU%8ج ,sUiSr#n`ÙQ&x%͗~^ĤÆGQ>EPPat(`͕z?vtX_.5Za r_>>2*Wz94qEb9mVaYQNj{K r+ϸYV8o.g>#\BbႅI.91ɏp0,1 L~ΥQFJp=x[c\Te}vgxk+ ,a! 8$FWSjxp{4X#xFH [i isEZK]Uc}(;zNiL4Hb ]F]eeS<'DmBpj9n!Sj% ]T kyvvaޝAeنbؚ*\~z{7YhNV fǙ-e>Xf[Sa4==ͧ<EH:hJޔ~ń;5Owmz\]^/tWP e `'* ؒ;eŮ"֚bqmJ ݇ IC7+=uv౸E-H @ϝZrYia/BH{WӒ CMd4eɠHa' +oE |i]dɦ{]},x abE?#|2iNu"盚r{)Zf<zS7:B͇=ݺ[fZPf%U-$h Æ\1Pf#t~S\?6zV^HUk@M(Ba|褃T!cc_|w}ݜIyjntbcVyDCCB5FH hJ1E1""] R۴ղ>f7=۝of=Mfss{\ȂhU)-kAP(X9J?oAKtIwl^2T1 >W}R DmF YN>G{O۹l߯ہrUΉ;ROөdݽzU7YK$ͽZWS}KW(Iɸoc tjjIWȫD#KfL`oX5ڝ_?)0EUvb}u.Jʼn0H?d˙d]xMmV~]+ W7D3SG-J5f% z OrG'<.l㍡ pCk5k`ϰe+[c bϘ-XRX(ܼpkaKv<͔LeH˧3ͦ,$ìl*5V5W*Wxah gɄDu<&ڔ|LI#`g+4{p/UJ];g|R$י ``}U~ZXo7wL@RB {>wϑu"Ffl=.x0?*K9}w.< |Po8\'gM`!:HA-X?Ԩ)h|W`X x.nW OGB *9uDF``FqiF~ѐg ]E<Xkv`#ta|;6um3 KVﷅ E}X>Fi<_>kkV_.vfIb%*.KWمӗFiõ^v7Ud.+#LMy5r7#N6uw and others 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 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . Clarification: The GNU Lesser General Public License or LGPL is written for software libraries in the first place. We expressly want the LGPL to be valid for this artwork library too. KDE Breeze theme icons is a special kind of software library, it is an artwork library, it's elements can be used in a Graphical User Interface, or GUI. Source code, for this library means: - where they exist, SVG; - otherwise, if applicable, the multi-layered formats xcf or psd, or otherwise png. The LGPL in some sections obliges you to make the files carry notices. With images this is in some cases impossible or hardly useful. With this library a notice is placed at a prominent place in the directory containing the elements. You may follow this practice. The exception in section 5 of the GNU Lesser General Public License covers the use of elements of this art library in a GUI. https://vdesign.kde.org/ ----- GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser 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 Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. fusiondirectory-1.0.19/html/themes/breezy/icons/scalable/000077500000000000000000000000001304016502700234425ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/scalable/apps/000077500000000000000000000000001304016502700244055ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/icons/scalable/apps/fusiondirectory.png000066400000000000000000000051721304016502700303500ustar00rootroot00000000000000PNG  IHDRC,>hsBIT|d pHYs{:dtEXtSoftwarewww.inkscape.org< IDAThݚ{U?sLC| a *>fEk,F,ckF͘f12rbda4H(\r]Eo朽o^'3`F貃)H&AR+mf0 Ƥfփ+b0teJj0+eHRL  %ל}/DR`3oKqEl0# ^1'8T񘄙 ?.q%vy,^Ii؍kYF<-Fc-Bq?)Bf.' ` ߘ-ZF~ይǭ0t` >wDŽ-Y@;`f1f1} (搙eG>f|?6J2;~TGsH:ޟ@\[EnZq I 3ذ K >ɗGʎErCO<X~V'$5ClC {I4cXW:ڃh4iQ%8d ­`6`pn$ G;d)\j+ns/5S%5҃H*@o}# d:p-2Ot~V8HF3Dt#(I $=.霄gkr&IOH{%9I"IC[/iqwgܣícG9u`gL8SfX0IĸB#Jz,9#"p fP F_ŏORT=wகo10+mgʴ 8!4Gg8~6Sˌ x<ksM,]oIcF^Fz?(1EQx[@3Tfr1vW%V)ib^eD INӊ'h6`Mff(e)i45yk)#h>~dސ4Y1*Kfx87i p 𤤁)ukx?*ńь+`=2Ɨ$?]IB6J:xDd3.drh~RZoC>`z;xXgf[bWO4qǀxMI7\C=س%$톃JMctLÕ0]RYep{~<Łt83Q 2Vǭ/1ƻi1&IJ70!7O[#I ؔY8)Rb]BQY+ O+ESd̷Efn)l^#vtPJDmpxo4F_B8䩯%smݸ.$<,' Ŝ<' RZRi_u$2Rxy/x(:;`k90X wV.3^[q^|!Pq2xxw pZ#d=^x*

    5(CwU|M$`%CY%aHR!iKqڀjtEYOǽ¤:Bܓ̭%쩌"q`3$] gDߌ G5R,`%H $=(/vIpϽ׃+vRcҎ#K~ nw؝1:7Izw ΎE͔4/L CsؒV )3{S&ťSr)Zbfo7\\l9zyIENDB`fusiondirectory-1.0.19/html/themes/breezy/images/000077500000000000000000000000001304016502700220265ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/images/border.png000066400000000000000000000002071304016502700240100ustar00rootroot00000000000000PNG  IHDRlNQbKGD pHYs  tIMENIDATc|(ܠsBv`IENDB`fusiondirectory-1.0.19/html/themes/breezy/index.theme000066400000000000000000000055521304016502700227230ustar00rootroot00000000000000[Icon Theme] Name=Breezy Comment=FusionDirectory breezy icon theme Directories=icons/16/actions,icons/22/actions,icons/32/actions,icons/48/actions,icons/scalable/actions,icons/16/apps,icons/22/apps,icons/32/apps,icons/48/apps,icons/scalable/apps,icons/16/status,icons/22/status,icons/32/status,icons/48/status,icons/scalable/status,icons/16/mimetypes,icons/22/mimetypes,icons/32/mimetypes,icons/48/mimetypes,icons/scalable/mimetypes,icons/16/places,icons/22/places,icons/32/places,icons/48/places,icons/scalable/places,icons/16/types,icons/22/types,icons/32/types,icons/48/types,icons/scalable/types,icons/16/categories,icons/22/categories,icons/32/categories,icons/48/categories,icons/scalable/categories,icons/16/devices,icons/22/devices,icons/32/devices,icons/48/devices,icons/scalable/devices [icons/16/actions] Size=16 Context=Actions [icons/22/actions] Size=22 Context=Actions [icons/32/actions] Size=32 Context=Actions [icons/48/actions] Size=48 Context=Actions [icons/scalable/actions] MinSize=1 Size=128 MaxSize=256 Context=Actions Type=Scalable [icons/16/apps] Size=16 Context=Applications [icons/22/apps] Size=22 Context=Applications [icons/32/apps] Size=32 Context=Applications [icons/48/apps] Size=48 Context=Applications [icons/scalable/apps] MinSize=1 Size=128 MaxSize=256 Context=Applications Type=Scalable [icons/16/status] Size=16 Context=Status [icons/22/status] Size=22 Context=Status [icons/32/status] Size=32 Context=Status [icons/48/status] Size=48 Context=Status [icons/scalable/status] MinSize=1 Size=128 MaxSize=256 Context=Status Type=Scalable [icons/16/mimetypes] Size=16 Context=MimeTypes [icons/22/mimetypes] Size=22 Context=MimeTypes [icons/32/mimetypes] Size=32 Context=MimeTypes [icons/48/mimetypes] Size=48 Context=MimeTypes [icons/scalable/mimetypes] MinSize=1 Size=128 MaxSize=256 Context=MimeTypes Type=Scalable [icons/16/places] Size=16 Context=Places [icons/22/places] Size=22 Context=Places [icons/32/places] Size=32 Context=Places [icons/48/places] Size=48 Context=Places [icons/scalable/places] MinSize=1 Size=128 MaxSize=256 Context=Places Type=Scalable [icons/16/types] Size=16 Context=Types [icons/22/types] Size=22 Context=Types [icons/32/types] Size=32 Context=Types [icons/48/types] Size=48 Context=Types [icons/scalable/types] MinSize=1 Size=128 MaxSize=256 Context=Types Type=Scalable [icons/16/categories] Size=16 Context=Categories [icons/22/categories] Size=22 Context=Categories [icons/32/categories] Size=32 Context=Categories [icons/48/categories] Size=48 Context=Categories [icons/scalable/categories] MinSize=1 Size=128 MaxSize=256 Context=Categories Type=Scalable [icons/16/devices] Size=16 Context=Devices [icons/22/devices] Size=22 Context=Devices [icons/32/devices] Size=32 Context=Devices [icons/48/devices] Size=48 Context=Devices [icons/scalable/devices] MinSize=1 Size=128 MaxSize=256 Context=Devices Type=Scalable fusiondirectory-1.0.19/html/themes/breezy/lists.css000066400000000000000000000144551304016502700224420ustar00rootroot00000000000000 /******************************** * L i s t s * ********************************/ table.listingTable { border-top: 1px solid #C0C2C3; border-bottom: 1px solid #C0C2C3; border-left: 1px solid #C0C2C3; border-spacing: 0; } table.listingTable thead tr { position: relative; height: auto; margin: 3px; padding: 1px; white-space: nowrap; } table.listingTable > thead > tr > th { box-sizing: content-box; background: #F0F0F0; font-weight: bold; border-bottom: 1px solid #C0C2C3; padding: 3px; height: 22px; } html.ltr table.listingTable > thead > tr > th { border-right: 1px solid #C0C2C3; } html.rtl table.listingTable > thead > tr > th { border-left: 1px solid #C0C2C3; } table.listingTable > tbody { height: 100%; overflow-x: hidden; overflow-y: auto; } table.listingTable > tbody > tr { height: auto; white-space: nowrap; } table.listingTable > tbody > tr:nth-child(odd) { background-color: #fcfcfc; } table.listingTable > tbody > tr:nth-child(even) { background-color: #F5F5F5; } table.listingTable > tbody > tr.entry-locked:nth-child(odd) { background-color: #FFC; } table.listingTable > tbody > tr.entry-locked:nth-child(even) { background-color: #F5F5CC; } html.ltr table.listingTable > tbody > tr td:last-child { padding-right: 5px; } html.rtl table.listingTable > tbody > tr td:last-child { padding-left: 5px; } table.listingTable > tbody > tr:hover { background-color: #DDD; } table.listingTable > tbody > tr.entry-locked:hover { background-color: #DDA; } table.listingTable > tbody > tr td { color: #31363b; margin: 3px; padding: 2px; word-wrap: break-word; white-space: normal; max-width: 500px; background: transparent; height: 22px; } html.ltr table.listingTable > tbody > tr td { border-right: 1px solid #C0C2C3; } html.rtl table.listingTable > tbody > tr td { border-left: 1px solid #C0C2C3; } table.listingTable > tbody > tr td > input[type=image], table.listingTable > tbody > tr td > img { padding: 2px; } table.listingTable > tbody > tr td > a:link { text-decoration: none; color: #2980b9; } table.listingTable > tbody > tr td > a:visited { text-decoration: none; color: #2980b9; } /* List border */ div.nlistFooter { background-color: #E5E5E5; border-left: 1px solid silver; border-right: 1px solid silver; border-bottom: 1px solid silver; padding: 3px; width: auto; } /* Sortable Lists (only used in user main tab) */ div.sortableListContainer { border: 1px solid #C0C2C3; overflow: auto; margin-bottom: 2px; } .sortableListContainer th { background-color: #D8D8D8; padding: 3px; text-align: left; border-left: 1px solid #C0C2C3; } html.rtl .sortableListContainer th { text-align: right; border-right: 1px solid #C0C2C3; border-left: none; } .sortableListContainer td { padding: 3px; text-align: left; border-left: 1px solid #C0C2C3; } html.rtl .sortableListContainer td { text-align: right; border-right: 1px solid #C0C2C3; border-left: none; } tr.sortableListItem { background-color: #fcfcfc; cursor: move; color: #31363b; } tr.sortableListItemFill { background-color: #fcfcfc; cursor: default; } tr.sortableListItemOdd { background-color: #F5F5F5; cursor: move; color: #31363b; } tr.sortableListItem:hover,tr.sortableListItemOdd:hover { background-color: #EEE; } tr.sortableListItemDisabled { cursor: default; color: #CCC; } table.sortableListTable { border: 0; } tr.sortableListItemMarked { background-color: #FFD; } /* Tree List (used in baseSelector) */ ul.treeList,ul.treeList ul { list-style-type: none; background: url(../../images/lists/vline.png) repeat-y; margin: 0; padding: 0; } html.ltr ul.treeList ul { margin-left: 10px; } html.rtl ul.treeList ul { margin-right: 10px; } ul.treeList a:hover { background-color: #DDD; } a.treeList { padding: 2px; cursor: pointer; } a.treeListSelected { font-weight: bold; color: #2980b9; background-color: #DDD; padding: 2px; cursor: pointer; } a.treeList:hover,a.treeListSelected:hover { background-color: #DDD; padding: 2px; } ul.treeList a { padding: 2px; cursor: pointer; } ul.treeList li { margin: 0; padding: 0 12px; line-height: 20px; background: url(../../images/lists/node.png) no-repeat; } li.treeListSelected a { font-weight: bold; color: #2980b9; padding: 2px; } ul.treeList li.last, ul.treeList li:last-child { background: #fcfcfc url(../../images/lists/lastnode.png) no-repeat; } div.treeList { background-color: #fcfcfc; border: 1px solid #C0C2C3; padding: 5px; position: absolute; z-index: 500; overflow-y: auto; float: left; } html.rtl div.treeList { float: right; } table.listing-container { width: 100%; height: 100%; vertical-align: top; text-align: left; border: none; border-spacing: 2px; } html.rtl table.listing-container { text-align: right; } table.listing-container > tbody > tr > td.list { height: 100%; vertical-align: top; } table.listing-container > tbody > tr > td.filter { max-width: 300px; vertical-align: top; } table.listing-container > tbody > tr > td.filter .contentboxb { min-width: 230px; } /* On small screens */ @media (max-width: 640px) { table.listingTable { table-layout: auto; } table.listingTable > tbody > tr > td, table.listingTable > thead > tr > th { width: auto !important; min-width: 0 !important; } html.ltr table.listingTable > tbody > tr td:last-child { padding-right: 1px; } html.rtl table.listingTable > tbody > tr td:last-child { padding-left: 1px; } table.listing-container { border: none; border-spacing: 0; border-collapse: collapse; } table.listing-container > tbody > tr > td.list, table.listing-container > tbody > tr > td.filter { width: 100%; min-width: 0; max-width: none; height: auto; display: block; padding: 0; } table.listing-container > tbody > tr > td.list > div, table.listing-container > tbody > tr > td.filter > div { border: none; } table.listing-container > tbody > tr > td.list:after, table.listing-container > tbody > tr > td.filter:after { content: " "; display: block; } table.listing-container > tbody > tr > td.filter input[type=submit] { border: 1px solid #DDD; width: 100% !important; padding: 10px; display: inline-block; font-weight: bold; } html.ltr table.listing-container > tbody > tr > td.filter input[type=submit]:active { position: relative; top: 1px; left: 1px; } html.rtl table.listing-container > tbody > tr > td.filter input[type=submit]:active { position: relative; top: 1px; right: 1px; } } fusiondirectory-1.0.19/html/themes/breezy/login.css000066400000000000000000000027271304016502700224130ustar00rootroot00000000000000/* Login screen */ p.gosaLoginWarning { text-align: center; color: red; font-weight: bold; font-size: 12px; } html, body { min-height: 100%; } div#window-container { text-align: center; width: 100%; bottom: 0; top: 52px; position: absolute; } div#window-div { min-width: 50%; margin-top: 100px; border: 1px solid #c0c2c3; background-color: #f3f4f4; display: inline-block; } div#window-titlebar { text-align: center; border-bottom: 1px solid #c0c2c3; padding: 8px; background-color: #eff0f1; } div#window-titlebar > p { margin: 0; padding: 0; font-size: 24px; font-weight: bold; } div#window-content > div { padding: 10px; } a:link { text-decoration: none; color: #2980b9; } a:visited { text-decoration: none; color: #2980b9; } div#window-footer { padding: 0; } div#window-footer > div { display: inline-block; width: 47%; padding: 1%; } div#window-footer > div:nth-child(1) { color: red; font-weight: bold; } html.ltr div#window-footer > div:nth-child(1) { text-align: left; } html.rtl div#window-footer > div:nth-child(1) { text-align: right; } span.warning, p.warning { color: red; } /* On small screens */ @media (max-width: 640px) { div#window-div { min-width: 70%; margin-top: 10px; } div#window-footer > div { display: block; width: auto; padding: 5px; text-align: center !important; } div#window-footer.plugbottom > div:nth-child(2) > input[type=submit] { width: 100% !important; } p.gosaLoginWarning { margin-top: 0; margin-bottom: 0; } } fusiondirectory-1.0.19/html/themes/breezy/menu.css000066400000000000000000000057201304016502700222430ustar00rootroot00000000000000#menucell { border: none; width: 140px; vertical-align: top; } /* Side menu */ ul.menu, ul.menu ul { margin: 0; padding: 0; list-style-type: none; } ul.menu li > a { display: block; } ul.menu > li { margin-bottom: 5px; padding-bottom: 3px; background-color: #f3f4f4; border: 1px solid #c0c2c3; } ul.menu > li > a { font-family: arial,helvetica,sans-serif; font-size: 12px; font-weight: bold; color: #31363B; text-decoration: none; background-color: #eff0f1; text-align: center; vertical-align: middle; margin-bottom: 3px; padding-bottom: 5px; padding-top: 5px; border-style: solid; border-color: #c0c2c3; border-width: 0 0 1px; } ul.menu ul > li > a { color: #31363b; text-decoration: none; font-weight: normal; font-size: 12px; vertical-align: middle; margin: 2px 0; padding-top: 2px; padding-bottom: 2px; } html.ltr ul.menu ul > li > a { text-align: left; padding-left: 15px; } html.rtl ul.menu ul > li > a { text-align: right; padding-right: 15px; } .menuitem.menucurrent { background-color: #3daee9; } .menuitem:hover { background-color: #d5eaf7; } .menuitem a:link, .menuitem a:visited { text-decoration: none; color: #31363b; } .menuitem a:hover { text-decoration: none; } /* Main menu */ .iconmenu-section { border-top: 1px solid #C0C2C3; clear: both; } .iconmenu-section + br { clear: both; } .iconmenu-section:first-child { border-top: none; } .iconmenu .imgcontainer { height: 48px; width: 48px; display: flex; align-items: center; justify-content: center; } .iconmenu img { border: none; vertical-align: middle; flex: none; max-height: 48px; max-width: 48px; } h1.menuheader { margin: 0; padding: 10px; display: inline-block; border-bottom: 1px solid #c0c2c3; background-color: #eff0f1; } html.ltr h1.menuheader { border-right: 1px solid #c0c2c3; border-radius: 0 0 5px 0; float: left; } html.rtl h1.menuheader { border-left: 1px solid #c0c2c3; border-radius: 0 0 0 5px; float: right; } .iconmenu { cursor: pointer; display: flex; align-items: center; width: 17%; min-width: 130px; margin: .5%; padding: .5%; border-radius: 5px; border: 1px solid #f3f4f4; } html.ltr .iconmenu { float: left; text-align: left; } html.rtl .iconmenu { float: right; text-align: right; } .iconmenu:hover { border: 1px solid #c0c2c3; } .iconmenu:nth-child(2) { clear: left; } html.rtl .iconmenu:nth-child(2) { clear: right; } .iconmenu > a:link, .iconmenu > a:visited { text-decoration: none; color: #31363B; } .iconmenu > a:hover { text-decoration: none; } div.iconmenu:hover { background-color: #fcfcfc; } /* On small screens */ @media (max-width: 640px) { html.ltr .iconmenu, html.rtl .iconmenu { text-align: center; margin: 2px; padding: 2px; min-width: 70px; min-height: 80px; display: block; } .iconmenu .imgcontainer { margin: auto; display: block; float: none; } h1.menuheader { display: block; padding: 5px; text-align: center; } html.ltr h1.menuheader { border-right: none; float: none; } html.rtl h1.menuheader { border-left: none; float: none; } } fusiondirectory-1.0.19/html/themes/breezy/plugin.css000066400000000000000000000117041304016502700225740ustar00rootroot00000000000000.plugin-window { vertical-align: top; text-align: justify; background-color: #f3f4f4; margin-top: 0; margin-left: 0; margin-right: 0; width: auto; border: 1px solid #c0c2c3; padding: 0; } div.pluginfo { border-bottom: 1px solid #c0c2c3; width: 100%; padding-top: 2px; padding-bottom: 2px; margin-bottom: 0; text-align: right; vertical-align: middle; background-color: #eff0f1; font-family: arial,helvetica,sans-serif; font-size: 11px; } html.rtl div.pluginfo { text-align: left; } .plugbottom { border-style: solid; border-color: #c0c2c3; width: 100%; border-top-width: 1px; border-bottom-width: 0; border-left-width: 0; border-right-width: 0; padding-top: 10px; padding-bottom: 0; text-align: right; font-family: arial,helvetica,sans-serif; clear: both; } p.plugbottom { position: fixed; bottom: 0; right: 10px; margin: 0; border-radius: 5px 5px 0 0; width: auto; padding-left: 10px; padding-right: 10px; padding-bottom: 5px; padding-top: 5px; background: #e5e5e7; } html.rtl .plugbottom { text-align: left; } /* Simple Plugin specific things */ .plugin-sections:after { content: ""; display: block; clear: both; } .plugin-section { display: block; float: left; clear: left; width: 49%; border: 1px solid #c0c2c3; padding: 0; margin-top: 0.5%; margin-left: 0.5%; margin-bottom: 0.5%; margin-right: 0; position: relative; } html.rtl .plugin-section { float: right; clear: right; margin-left: 0; margin-right: 0.5%; } html.ltr .plugin-section:nth-child(even) { float: right; clear: right; margin-left: 0; margin-right: 0.5%; } html.rtl .plugin-section:nth-child(even) { float: left; clear: left; margin-left: 0.5%; margin-right: 0; } div.plugin-section { padding-top: 25px; } .plugin-section > div { padding: 5px; } fieldset.plugin-section > div { padding-top: 30px; } fieldset.plugin-section legend { float: left; padding: 0; margin: 0; } html.rtl fieldset.plugin-section legend { float: right; } fieldset.plugin-section legend span, .plugin-section > span.legend { font-weight: bold; background-color: #e5e5e7; border: 1px solid #c0c2c3; width: 100%; padding-top: 5px; padding-bottom: 5px; text-align: center; display: block; } html.ltr fieldset.plugin-section legend span, html.ltr .plugin-section > span.legend { margin-left: -1px; } html.rtl fieldset.plugin-section legend span, html.rtl .plugin-section > span.legend { margin-right: -1px; } fieldset.plugin-section legend span { position: absolute; top: 0; margin-top: -1px; } html.ltr fieldset.plugin-section legend span { left: 0; } html.rtl fieldset.plugin-section legend span { right: 0; } .plugin-section > span.legend { margin-top: -26px; } fieldset.plugin-section legend img, .plugin-section span.legend img { vertical-align: middle; } html.ltr fieldset.plugin-section legend img, html.ltr .plugin-section span.legend img { margin-right: 3px; } html.rtl fieldset.plugin-section legend img, html.rtl .plugin-section span.legend img { margin-left: 3px; } fieldset.plugin-section select[multiple], fieldset.plugin-section textarea { width: 100%; } .plugin-section > div > table { min-width: 80%; } html.ltr .plugin-section.fullwidth, html.rtl .plugin-section.fullwidth { float: none; clear: both; width: auto; margin-top: 0.5%; margin-left: 0.5%; margin-bottom: 0.5%; margin-right: 0.5%; } html.ltr .plugin-section.alone, html.rtl .plugin-section.alone { float: none; clear: both; } html.ltr .plugin-section.invisible, html.rtl .plugin-section.invisible { display: none; } fieldset.plugin-section.critical legend span, .plugin-section.critical > span.legend { font-weight: bold; background-color: #BCF; } fieldset.plugin-section.critical legend span:after, .plugin-section.critical > span.legend:after { content: " (editing this can break your LDAP)"; color: #D00; } .plugin-section.critical > div { background-color: #DFEFFF; } /* On small screens */ @media (max-width: 640px) { .plugin-window { margin: 0; border: none; width: 100%; } .plugin-section > div > table { width: 100%; } html.ltr .plugin-section, html.ltr .plugin-section:nth-child(even), html.ltr .plugin-section.fullwidth, html.rtl .plugin-section, html.rtl .plugin-section:nth-child(even), html.rtl .plugin-section.fullwidth { display: block; float: none; clear: both; width: 100%; border-top: none; margin: 0; } .plugbottom { text-align: center; width: 100%; margin: 0; padding-top: 5px; padding-bottom: 4px; padding-left: 1px; padding-right: 1px; border: none; } p.plugbottom { left: 5px; right: 5px; } .plugbottom input[type=submit], .plugbottom input[type=button] { border: 1px solid #c0c2c3; width: 30% !important; padding: 10px; display: inline-block; font-weight: bold; } .plugbottom input[type=submit]:active, .plugbottom input[type=button]:active { position: relative; top: 1px; } html.ltr .plugbottom input[type=submit]:active, html.ltr .plugbottom input[type=button]:active { left: 1px; } html.rtl .plugbottom input[type=submit]:active, html.rtl .plugbottom input[type=button]:active { right: 1px; } } fusiondirectory-1.0.19/html/themes/breezy/printer.css000066400000000000000000000003251304016502700227560ustar00rootroot00000000000000/* Disable header and menu block, for printers. */ td#menucell { display: none; } div.plugtop { display: none; } p.plugbottom { display: none; } .framework { width: 100%; } div.setup-header { display: none; } fusiondirectory-1.0.19/html/themes/breezy/setup.css000066400000000000000000000062011304016502700224320ustar00rootroot00000000000000/********* * Setup *********/ html.ltr body.setup div#header-left .plugtop { margin-left: 80px; } html.rtl body.setup div#header-left .plugtop { margin-right: 80px; } body.setup .plugin-window { border-radius: 5px; } /* default.*/ div.default { padding: 2px 10px; vertical-align: middle; } #menucell.setup-navigation { width: 200px; } /* The box used for each setup step */ #menucell.setup-navigation li.menuitem { text-decoration: none; padding-top: 8px; padding-bottom: 8px; margin-top: 5px; margin-bottom: 5px; } #menucell.setup-navigation li.menuitem > a { margin: 0; } /* An enabled setup step will use this style in navigation*/ #menucell.setup-navigation li.menuitem.menucurrent a.navigation-title { cursor: default; } /* Disabled setup steps */ #menucell.setup-navigation li.menuitem.disabled a.navigation-title { cursor: default; color: #C0C2C3; } /* Disabled setup steps */ #menucell.setup-navigation li.menuitem a.navigation-title { font-size: 1.2em; font-weight: bold; text-decoration: none; cursor: pointer; padding-top: 3px; padding-bottom: 3px; } /* The style for the info of an active setup */ #menucell.setup-navigation li.menuitem a.navigation-info { font-size: 1em; color: #31363b; margin: 0; cursor: default; } html.ltr #menucell.setup-navigation li.menuitem a.navigation-info { padding: 4px 4px 3px 15px; } html.rtl #menucell.setup-navigation li.menuitem a.navigation-info { padding: 4px 15px 3px 4px; } .setup-language select#lang_selected { width: 100%; } /* Setup step 2 styles */ /* used to hide display info div */ div.solution-visible { display: block; width: 100%; text-align: left; } html.rtl div.solution-visible { text-align: right; } /* Container for name and status */ div.step2-entry-container { padding: 3px; width: 99%; cursor: default; } /* Container for name and status, when status is failed */ div.step2-entry-container-info { padding: 3px; border: 1px solid #C0C2C3; width: 99%; cursor: default; } /* Text shown for each entry */ div.step2-entry-name { float: left; padding-bottom: 4px; vertical-align: middle; } html.rtl div.step2-entry-name { float: right; } /* Status container */ div.step2-entry-status { float: none; text-align: right; padding-bottom: 4px; vertical-align: middle; } html.rtl div.step2-entry-status { text-align: left; } /* Status failed */ div.step2-failed { color: red; padding-bottom: 4px; } /* Status failed but not necessary for setup */ div.step2-warning { color: orange; padding-bottom: 4px; } /* Status successful */ div.step2-successful { color: green; } /* Text used in info div. */ div.step2-failed-text { background-repeat: no-repeat; } html.ltr div.step2-failed-text { padding-left: 25px; } html.rtl div.step2-failed-text { padding-right: 25px; } /* Text used in info div. On warnings */ div.step2-warning-text { background-repeat: no-repeat; } html.ltr div.step2-warning-text { padding-left: 25px; } html.rtl div.step2-warning-text { padding-right: 25px; } /* On small screens */ @media (max-width: 640px) { body.setup a.plugtop img { height: 32px; } html.ltr body.setup div#header-left .plugtop { margin-left: 0; } html.rtl body.setup div#header-left .plugtop { margin-right: 0; } } fusiondirectory-1.0.19/html/themes/breezy/style.css000066400000000000000000000270111304016502700224340ustar00rootroot00000000000000body { margin: 0; background-color: #eff0f1; color: #31363b; font-family: arial,helvetica,sans-serif; font-size: 12px; } h1 { font-size: 14px; color: #31363b; } h2,h3,h4,h5,h6 { font-size: 13px; color: #31363b; } td,p,b,th { font-size: 12px; } img { border: none; } a:link { text-decoration: none; color: #31363B; } a:visited { text-decoration: none; color: #31363B; } td.listfooter { background: #E5E5E5; border-top: 1px solid #c0c2c3; padding: 3px; height: 16px; } td.scrollhead { vertical-align: top; padding: 0; } td.scrollbody { vertical-align: top; padding: 0; } div.scrollbody { background-color: #fcfcfc; overflow: auto; text-align: left; } html.rtl div.scrollbody { text-align: right; } /* -------------- DEPRECATED ----------------- */ td.list1 { background: transparent; border-right: 1px solid silver; padding: 3px; height: 22px; } td.list1nohighlight { background: #fcfcfc; border-right: 1px solid silver; padding: 3px; height: 22px; } td.list1nohighlightdisabled { background-color: #DFDBD7; border-right: 1px solid silver; padding: 3px; height: 2px; } td.list1#fill { height: 100%; } td.list1#icon { width: 0; text-align: center; } td.list1#info { width: 200px; } td.list1#property { width: 50px; } td.list1#properties7 { width: 136px; } td.list1#properties8 { width: 152px; } td.list1#properties9 { width: 168px; } td.list1#properties10 { width: 186px; } td.list1#actions { width: 52px; border-right: 0; text-align: right; } /* -------------------------------------------- */ /* Title bar */ a.maintitlebar,div.maintitlebar { font-family: arial,helvetica,sans-serif; text-decoration: none; /*color:#FFFFFF;*/ font-size: 12px; text-align: center; vertical-align: middle; cursor: pointer; display: inline-block; padding: 2px; border: 1px solid #eff0f1; border-radius: 8px; } a.maintitlebar:link,div.maintitlebar:link { text-decoration: none; color: #2980b9; } a.maintitlebar:visited,div.maintitlebar:visited { text-decoration: none; color: #2980b9; } html.ltr a.maintitlebar,html.ltr div.maintitlebar { padding-right: 5px; } html.rtl a.maintitlebar,html.rtl div.maintitlebar { padding-left: 5px; } a.maintitlebar:hover { text-decoration: none; background-color: #f3f4f4; cursor: pointer; border: 1px solid #c0c2c3; } td.phonelist:hover { background-color: #d2d2d2; } td.phonelist { border-right: 1px solid #c0c2c3; } div.copynotice { border-style: solid; border-color: #c0c2c3; width: 100%; border-top-width: 1px; border-bottom-width: 0; border-left-width: 0; border-right-width: 0; padding-top: 3px; padding-bottom: 0; text-align: right; font-family: arial,helvetica,sans-serif; font-size: 10px; } html.rtl div.copynotice { text-align: left; } hr { width: 100%; border: none; background-color: #C0C2C3; height: 1px; } .must { color: red; font-family: arial,helvetica,sans-serif; } img.center { text-align: center; vertical-align: middle; } input.center { text-align: left; vertical-align: middle; } html.rtl input.center { text-align: right; } select.center { text-align: left; vertical-align: middle; } html.rtl select.center { text-align: right; } a.center { text-align: left; vertical-align: middle; } html.rtl a.center { text-align: right; } /********************** Template migration *********************/ form#mainform { margin: 0; } table.framework { height: auto; width: 100%; border: 0; border-spacing: 5px; padding: 0; margin-top: 0; vertical-align: top; } html.ltr table.framework { margin-left: 0; } html.rtl table.framework { margin-right: 0; } table.framework td#maincell { background-color: #eff0f1; width: auto; vertical-align: top; padding-bottom: 35px; } /* cellpadding="0" */ table.framework > tbody > tr > td { padding: 0; } table.maintab { width: 100%; height: 100%; border: 0; border-spacing: 0; padding: 0; margin: 0; background-color: #507AAA; vertical-align: top; } div.contentboxh { background-color: #F0F0F0; border: 1px solid #c0c2c3; border-bottom: none; height: 26px; vertical-align: middle; width: auto; } div.contentboxh > p { margin: 2px; font-family: arial,helvetica,sans-serif; font-size: 16px; font-weight: bold; vertical-align: middle; } div.contentboxb { border: 1px solid #c0c2c3; border-top-width: 0; vertical-align: middle; width: auto; background: #fcfcfc; padding: 5px; } .filter div.contentboxb { padding: 0; } div.contentboxb > div { display: inline-block; margin: 1px; } .filter div.contentboxb > div { width: 100%; background: #EEEEEE; border-top: 1px solid #c0c2c3; text-align: right; margin: 0; padding: 3px; box-sizing: border-box; } .filter div.contentboxb > label img { vertical-align: middle; padding: 3px; } .filter div.contentboxb > hr { margin-bottom: 3px; } div.contentboxb > img, div.contentboxb > input { display: inline-block; margin: 3px; } p.contentboxb { padding-bottom: 0; margin: 0; border: 4px solid #f8f8f8; vertical-align: middle; } a.alphaselect:hover { text-decoration: none; background-color: #a0a0a0; color: #fcfcfc; } table.check { background-color: #e1e1f1; color: #31363b; border: 1px solid #c0c2c3; width: 95%; } html.ltr table.check { margin-left: 20px; } html.rtl table.check { margin-right: 20px; } html.ltr td.check { border-right: 1px solid #c0c2c3; } html.rtl td.check { border-left: 1px solid #c0c2c3; } option.select { background-repeat: no-repeat; background-position: 0 top; border: 0; padding-bottom: 1px; height: 18px; } html.ltr option.select { padding-left: 20px; } html.rtl option.select { padding-right: 20px; } td.tbhead { border-bottom: 1px solid #c0c2c3; } html.ltr td.tbhead { border-right: 1px solid #c0c2c3; } html.rtl td.tbhead { border-left: 1px solid #c0c2c3; } td.tbrhead { border-bottom: 1px solid #c0c2c3; } .item { text-align: left; white-space: nowrap; font-family: "bitstream vera sans", "luxi sans", verdana, geneva, arial, helvetica, sans-serif; font-size: 12px; padding-top: 2px; } html.rtl .item { text-align: right; } .item div { position: relative; display: block; text-decoration: none; } .item :hover { color: #fcfcfc; background-color: #4b6983; text-decoration: none; } .separator { background-color: red; border-top: 1px solid #c6c6bf; border-bottom: 1px solid #fcfcfc; margin: 2px 5px; /* top right bottom left */ height: 0; font-size: 1px; line-height: 0; } div.autocomplete { position: absolute; background-color: #fcfcfc; border: 1px solid #c0c2c3; margin: 0; padding: 0; z-index: 600; overflow: hidden; word-wrap: break-word; } div.autocomplete ul { list-style-type: none; margin: 0; padding: 0; } div.autocomplete ul li { list-style-type: none; display: block; margin: 0; padding: 2px; cursor: pointer; } html.ltr div.autocomplete ul li { padding-left: 4px; } html.rtl div.autocomplete ul li { padding-right: 4px; } div.autocomplete li:hover { background-color: #F0F0F0; } div.autocomplete ul li.selected { background-color: #F0F0F0; } #pulldown { background: #fcfcfc; height: 23px; border-top: 1px #c0c2c3 solid; border-bottom: 1px #c0c2c3 solid; } html.ltr #pulldown { border-left: 1px #c0c2c3 solid; border-right: 1px #c0c2c3 solid; } html.rtl #pulldown { border-right: 1px #c0c2c3 solid; border-left: 1px #c0c2c3 solid; } #pulldown ul { display: block; margin: 0; padding: 0; line-height: 1em; list-style: none; z-index: 90; } #pulldown ul li { margin: 0 3px 0 0; padding: 0; font-size: 12px; line-height: 1em; list-style-type: none; } html.rtl #pulldown ul li { margin: 0 0 0 3px; } #pulldown ul li a { float: left; display: block; width: auto; font-weight: normal; background: transparent; text-decoration: none; margin: 0; padding: 5px; } html.rtl #pulldown ul li a { float: right; } #pulldown ul li a:hover { text-decoration: none; } #pulldown ul li.sep { color: #C0C2C3; padding: .8em 0 .5em; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ #pulldown ul li a { float: none; } /* End IE5-Mac hack */ #pulldown ul ul { position: absolute; top: 0; left: 0; visibility: hidden; border-top: 1px #c0c2c3 solid; border-left: 1px #c0c2c3 solid; border-bottom: 1px #c0c2c3 solid; border-right: 1px #c0c2c3 solid; background: #fcfcfc; } #pulldown ul ul li { border-bottom: 1px solid #fcfcfc; float: none; margin: 0; padding: 0; width: 200px; } #pulldown ul ul li a { padding: 5px 9px 5px 5px; } #pulldown ul ul li a:hover { font-weight: normal; background-color: #D5EAF7; background-image: none; } span.informal { color: #444; font-style: italic; } span.mark { color: #B22; } #debug-handling { border-color: #ddd; } .error, .notice, .success, .info { border: 2px solid #c0c2c3; margin: .2em; padding: .3em; } .error { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; } .error h1,.error h2,.error h3,.error h4,.error h5,.error h6 { color: #8a3700; } .notice { background: #fff6bf; color: #514721; border-color: #ffd324; } .notice h1,.notice h2,.notice h3,.notice h4,.notice h5,.notice h6 { color: #412701; } .success { background: ##f3f4f4; color: #264409; border-color: #f3f4f4; } .success h1,.success h2,.success h3,.success h4,.success h5,.success h6 { color: #378a00; } .info { background: #d5edf8; color: #205791; border-color: #92cae4; } .info h1,.info h2,.info h3,.info h4,.info h5,.info h6 { color: #31363b; } /* Header */ html.ltr div#header-left { float: left; } html.rtl div#header-left { float: right; } .plugtop { color: #31363b; border: 1px solid #c0c2c3; padding: 10px; margin: 0; text-align: center; vertical-align: middle; background-color: #f3f4f4; font-family: arial,helvetica,sans-serif; font-size: 18px; } .plugtop img { height: 32px; } html.ltr .plugtop img { margin-right: 4px; } html.rtl .plugtop img { margin-left: 4px; } html.ltr div#header-left .plugtop { margin-left: 35px; } html.rtl div#header-left .plugtop { margin-right: 35px; } div#header-left img { vertical-align: middle; } html.ltr div#header-left img#fd-logo { padding-left: 2px; padding-right: 25px; } html.rtl div#header-left img#fd-logo { padding-left: 25px; padding-right: 2px; } html.ltr div#header-left .logout { margin-left: 35px; } html.rtl div#header-left .logout { margin-right: 35px; } div#header-right { padding-top: 8px; height: 38px; color: #31363b; } html.ltr div#header-right { text-align: right; } html.rtl div#header-right { text-align: left; } div#header-right div.version { font-size: 20px; } /* Header col */ div.setup-header { background-color: #eff0f1; padding: 4px 5px 4px; color: #31363b; } /* On small screens */ @media (max-width: 640px) { div.setup-header { padding: 2px; height: 36px; } a.maintitlebar { width: 36px; height: 36px; overflow: hidden; display: block; } html.ltr a.maintitlebar { float: left; margin: 0; padding: 0; } html.rtl a.maintitlebar { float: right; margin: 0; } a.maintitlebar img { padding: 6px; width: 22px; height: 22px; } html.ltr div#header-left .logout { margin-left: 0; float: right; } html.rtl div#header-left .logout { margin-right: 0; float: left; } html.ltr div#header-left, html.rtl div#header-left { height: 40px; width: 100%; } html.ltr div#header-right, html.rtl div#header-right { padding-top: 8px; height: 30px; margin-top: -40px; width: 100%; } div#header-right a { background: #eff0f1; } .optional { display: none !important; } div#header-left .plugtop { display: inline-block; hyphens: none; overflow: hidden; white-space: nowrap; padding-top: 2px; padding-bottom: 2px; font-size: 1em; } html.ltr div#header-left .plugtop { margin: 0; padding-left: 6px; } html.rtl div#header-left .plugtop { margin: 0; padding-right: 6px; } div.logout-label { display: inline-block; vertical-align: middle; } table.framework { margin: 0; border: none; width: 100%; border-spacing: 0; } table.framework #maincell { padding-bottom: 55px; } } fusiondirectory-1.0.19/html/themes/breezy/svg/000077500000000000000000000000001304016502700213605ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/000077500000000000000000000000001304016502700216065ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/000077500000000000000000000000001304016502700232465ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/add.svg000066400000000000000000000050001304016502700245120ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/document-edit.svg000066400000000000000000000073651304016502700265430ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/document-import.svg000066400000000000000000000337431304016502700271270ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/document-new.svg000066400000000000000000000072301304016502700263760ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/document-restore.svg000066400000000000000000000077371304016502700273040ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/down.svg000066400000000000000000000070321304016502700247400ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/edit-copy.svg000066400000000000000000000077121304016502700256730ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/edit-cut.svg000066400000000000000000000112461304016502700255110ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/edit-delete.svg000066400000000000000000000077671304016502700261750ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/edit-paste.svg000066400000000000000000000330571304016502700260360ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/export.svg000066400000000000000000000317671304016502700253260ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/go-first.svg000066400000000000000000000075741304016502700255360ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/go-home.svg000066400000000000000000000103171304016502700253240ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/go-previous.svg000066400000000000000000000070471304016502700262560ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/next.svg000066400000000000000000000070321304016502700247470ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/process-stop.svg000066400000000000000000000102601304016502700264270ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/remove.svg000066400000000000000000000073341304016502700252730ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/save.svg000066400000000000000000000073571304016502700247410ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/snapshot.svg000066400000000000000000000112361304016502700256310ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/submit.svg000066400000000000000000000073251304016502700253010ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/system-reinstall.svg000066400000000000000000000112431304016502700273070ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/system-search.svg000066400000000000000000000102111304016502700265510ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/system-shutdown.svg000066400000000000000000000106171304016502700271710ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/system-update.svg000066400000000000000000000074411304016502700266010ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/tools-wizard.svg000066400000000000000000000077661304016502700264450ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/up.svg000066400000000000000000000070241304016502700244160ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/view-refresh.svg000066400000000000000000000132431304016502700264000ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/view-sort-ascending.svg000066400000000000000000000067231304016502700276670ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/actions/view-sort-descending.svg000066400000000000000000000067251304016502700300410ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/000077500000000000000000000000001304016502700225515ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/antivirus.svg000066400000000000000000000073401304016502700253220ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/imap.svg000066400000000000000000000111621304016502700242210ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/ldap.svg000066400000000000000000000111751304016502700242170ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/office-calendar.svg000066400000000000000000000102131304016502700262710ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/os-linux.svg000066400000000000000000000226051304016502700250550ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/os-windows.svg000066400000000000000000000072041304016502700254060ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/apps/utilities-system-monitor.svg000066400000000000000000000077521304016502700303270ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/categories/000077500000000000000000000000001304016502700237335ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/categories/acl.svg000066400000000000000000000176111304016502700252210ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/categories/applications-internet.svg000066400000000000000000000560071304016502700310000ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/categories/settings.svg000066400000000000000000000105151304016502700263160ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/000077500000000000000000000000001304016502700232305ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/computer.svg000066400000000000000000000065671304016502700256250ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/media-cdrom.svg000066400000000000000000000066451304016502700261450ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/network-device.svg000066400000000000000000000076211304016502700267050ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/phone.svg000066400000000000000000000064141304016502700250670ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/printer.svg000066400000000000000000000560501304016502700254420ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/server.svg000066400000000000000000000071571304016502700252710ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/telephone.svg000066400000000000000000000114561304016502700257430ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/devices/terminal.svg000066400000000000000000000551561304016502700256000ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/000077500000000000000000000000001304016502700236225ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/application-certificate.svg000066400000000000000000000126721304016502700311360ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/application-pdf.svg000066400000000000000000000111231304016502700274130ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/application-x-executable.svg000066400000000000000000000051371304016502700312400ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/package-x-generic.svg000066400000000000000000000053751304016502700276270ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/mimetypes/text-csv.svg000066400000000000000000000057571304016502700261360ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/places/000077500000000000000000000000001304016502700230555ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/places/folder.svg000066400000000000000000000066471304016502700250660ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/000077500000000000000000000000001304016502700231315ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/dialog-error.svg000066400000000000000000000050211304016502700262360ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/dialog-information.svg000066400000000000000000000070401304016502700274350ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/dialog-password.svg000066400000000000000000000245121304016502700267550ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/dialog-warning.svg000066400000000000000000000376161304016502700265710ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/locked.svg000066400000000000000000000070461304016502700251220ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/task-complete.svg000066400000000000000000000050241304016502700264230ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/task-failure.svg000066400000000000000000000045721304016502700262510ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/task-running.svg000066400000000000000000000102271304016502700262740ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/task-stopped.svg000066400000000000000000000107711304016502700262760ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/status/unlocked.svg000066400000000000000000000112471304016502700254630ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/000077500000000000000000000000001304016502700227525ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/action.svg000066400000000000000000000111211304016502700247440ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/application.svg000066400000000000000000000051211304016502700257750ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/contact.svg000066400000000000000000000141101304016502700251230ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/country.svg000066400000000000000000000074611304016502700252060ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/dc.svg000066400000000000000000000135431304016502700240670ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/domain.svg000066400000000000000000000503651304016502700247530ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/locality.svg000066400000000000000000000072301304016502700253150ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/organization.svg000066400000000000000000000072031304016502700262010ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/resource-group.svg000066400000000000000000000123401304016502700264540ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/role.svg000066400000000000000000000100431304016502700244320ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/user-group.svg000066400000000000000000000120241304016502700256020ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/16/types/user.svg000066400000000000000000000105651304016502700244600ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/22/000077500000000000000000000000001304016502700216035ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/22/actions/000077500000000000000000000000001304016502700232435ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/22/actions/application-exit.svg000066400000000000000000000074151304016502700272450ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/22/actions/go-home.svg000066400000000000000000000113761304016502700253270ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/22/status/000077500000000000000000000000001304016502700231265ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/22/status/dialog-error.svg000066400000000000000000000102231304016502700262330ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/22/status/dialog-information.svg000066400000000000000000000103611304016502700274320ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/32/000077500000000000000000000000001304016502700216045ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/32/status/000077500000000000000000000000001304016502700231275ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/32/status/dialog-error.svg000066400000000000000000000154751304016502700262520ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/32/status/dialog-information.svg000066400000000000000000000155271304016502700274440ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/32/status/dialog-warning.svg000066400000000000000000000171331304016502700265570ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/32/status/object-locked.svg000066400000000000000000000122401304016502700263540ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/000077500000000000000000000000001304016502700216135ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/actions/000077500000000000000000000000001304016502700232535ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/actions/view-task.svg000066400000000000000000000263241304016502700257150ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/apps/000077500000000000000000000000001304016502700225565ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/apps/config-language.svg000066400000000000000000000234151304016502700263320ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/apps/config-welcome.svg000066400000000000000000000306471304016502700262070ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/apps/os-linux.svg000066400000000000000000000630231304016502700250610ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/apps/utilities-system-monitor.svg000066400000000000000000000222741304016502700303300ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/categories/000077500000000000000000000000001304016502700237405ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/categories/acl.svg000066400000000000000000000250271304016502700252260ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/categories/applications-development.svg000066400000000000000000000314651304016502700315000ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/categories/applications-other.svg000066400000000000000000000220511304016502700302660ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/categories/settings.svg000066400000000000000000000212221304016502700263200ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/devices/000077500000000000000000000000001304016502700232355ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/devices/computer.svg000066400000000000000000000341121304016502700256150ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/mimetypes/000077500000000000000000000000001304016502700236275ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/mimetypes/application-certificate.svg000066400000000000000000000356411304016502700311440ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/places/000077500000000000000000000000001304016502700230625ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/places/folder.svg000066400000000000000000000204541304016502700250630ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/places/network-server.svg000066400000000000000000000720221304016502700266030ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/status/000077500000000000000000000000001304016502700231365ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/status/dialog-password.svg000066400000000000000000000334361304016502700267670ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/000077500000000000000000000000001304016502700227575ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/contact.svg000066400000000000000000000245041304016502700251400ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/resource-group.svg000066400000000000000000000262021304016502700264630ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/role.svg000066400000000000000000000266411304016502700244520ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/user-group.svg000066400000000000000000000217711304016502700256200ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/48/types/user.svg000066400000000000000000000206311304016502700244600ustar00rootroot00000000000000 image/svg+xml fusiondirectory-1.0.19/html/themes/breezy/svg/AUTHORS000066400000000000000000000227451304016502700224420ustar00rootroot00000000000000Icon update for FusionDirectory by Timothée Giet, 2016. All new icons are either copies, modified versions or creations largely inspired from the Breeze icon set. See a copy of the license below, or at the original source location: https://projects.kde.org/projects/kde/workspace/breeze/repository/revisions/master/entry/COPYING-ICONS The Breeze Icon Theme in icons/ Copyright (C) 2014 Uri Herrera and others 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 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . Clarification: The GNU Lesser General Public License or LGPL is written for software libraries in the first place. We expressly want the LGPL to be valid for this artwork library too. KDE Breeze theme icons is a special kind of software library, it is an artwork library, it's elements can be used in a Graphical User Interface, or GUI. Source code, for this library means: - where they exist, SVG; - otherwise, if applicable, the multi-layered formats xcf or psd, or otherwise png. The LGPL in some sections obliges you to make the files carry notices. With images this is in some cases impossible or hardly useful. With this library a notice is placed at a prominent place in the directory containing the elements. You may follow this practice. The exception in section 5 of the GNU Lesser General Public License covers the use of elements of this art library in a GUI. https://vdesign.kde.org/ ----- GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser 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 Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. fusiondirectory-1.0.19/html/themes/breezy/tabs.css000066400000000000000000000044511304016502700222300ustar00rootroot00000000000000table.tabs-header { width: 100%; border: none; border-spacing: 0; font-family: arial,helvetica,sans-serif; text-decoration: none; color: #2980b9; font-size: 13px; font-weight: bold; } /* tabs header */ table.tabs-header > tbody > tr > td { padding: 0; vertical-align: bottom; white-space: nowrap; width: 1px; } table.tabs-header > tbody > tr > td:last-child { width: auto; } table.tabs-header > tbody > tr > td > div > a { display: inline-block; border-radius: 5px 5px 0 0; text-align: center; background-color: #D0D0D0; border: 1px solid #999; margin-top: 5px; padding-top: 1px; padding-left: 8px; padding-right: 8px; padding-bottom: 5px; transition: margin .4s ease, padding .4s ease; } table.tabs-header > tbody > tr > td > div > a:hover { margin-top: 0; padding-top: 2px; padding-bottom: 7px; } table.tabs-header > tbody > tr > td > div.tab-active > a { background-color: #f8f8f8; border-bottom: 0; margin-top: 2px; padding-top: 2px; padding-bottom: 8px; } table.tabs-header > tbody > tr > td > div.tab-inactive > a { color: grey; font-weight: normal; } table.tabs-header > tbody > tr > td > div.tab-disabled > a { color: grey; } table.tabs-header > tbody > tr > td > div.tab-disabled > a:hover { margin-top: 5px; padding-top: 1px; padding-bottom: 5px; } table.tabs-header > tbody > tr > td > div.tab-notify > a { background-image: url(../../geticon.php?context=status&icon=dialog-information&size=16); background-repeat: no-repeat; background-position: 1px 1px; } html.ltr table.tabs-header > tbody > tr > td > div.tab-notify > a { padding-left: 18px; } html.rtl table.tabs-header > tbody > tr > td > div.tab-notify > a { padding-right: 18px; } html.ltr table.tabs-header > tbody > tr > td > div.tab-left > a { border-right-width: 0; } html.rtl table.tabs-header > tbody > tr > td > div.tab-left > a { border-left-width: 0; } html.ltr table.tabs-header > tbody > tr > td > div.tab-right > a { border-left-width: 0; } html.rtl table.tabs-header > tbody > tr > td > div.tab-right > a { border-right-width: 0; } table.tabs-header > tbody > tr > td > div.tab-border { border-bottom: 1px solid #999; } /* tabs content */ div.tab-content { padding: 4px; width: auto; background-color: #F8F8F8; border-style: solid; border-color: #C0C2C3; border-top-width: 0; border-bottom-width: 1px; border-left-width: 1px; border-right-width: 1px; } fusiondirectory-1.0.19/html/themes/breezy/theme.css000066400000000000000000000000641304016502700223750ustar00rootroot00000000000000/* Themes can override this file to add some CSS */ fusiondirectory-1.0.19/html/themes/legacy/000077500000000000000000000000001304016502700205255ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/000077500000000000000000000000001304016502700216405ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/000077500000000000000000000000001304016502700220665ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/000077500000000000000000000000001304016502700235265ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/add.png000077700000000000000000000000001304016502700271662list-add.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/document-new.png000066400000000000000000000007351304016502700266460ustar00rootroot00000000000000PNG  IHDRabKGDO4ױ pHYs  tIME&Ӷ)jIDAT8˭OK[QsV$}%[\f qYE޲w#ĂM7*RJRJIZEbwDž&Tz63 s3R.kZ\go˟oϾdRIxS/Oh缠'+⮶23l6 ! "=c~!"f L&jǷ[SW{jky`1*F_^^o: L8 n4Y:OPEi@дޛzƦ织'Z_YD)]Cu4G$d F`Jiym7TDb$[cc| ;YqڍLhs(lEat 岵M$A.f$IBy@f.Ql64EQ ("INyΊт h4`j"úDnKL!Vg"gc8LYd :~E @`P Z_4wqR\}T.)S{&Ъ MiZ7+˲QyGk~C^]7!Ztpi8#Hy~$6 #F ('t)mG^(,+"}߱o_}d$I{= XvT,>L q3s_^y)nr:]ͬ8 +Ϟ:өٶQKKEǏ$d"ݧ( ^zCQtJ\qKa{UEEȝ<9DAU21 (mnh>A_4!5纀VҨ)onP^CDz\Z14I3XpcZ7l/D#팦$1fSU;`\13TKOxiIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/go-down.png000066400000000000000000000012531304016502700256070ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<=IDAT8MhAߙk`C"I"/*AU*mك١E&MADEt>S8zVO޼)c>. Q51Qw&zgO/Dk00(nCȽ{[a~5鈴@bLQ= &$dY[AOXZloxz.Ҽ6?_h8|E7sJ*hIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/go-first.png000066400000000000000000000012321304016502700257640ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<,IDAT8}SMHTQ=߽3F 1AMEAPTA e&$H\A mfA`4(E ӦLќ7ɑ7snwsOX&1n }c|8I{5Ԗ#oN`rGX`X,[x{΃8\'i:6a k1=5+=k[be4b{JKH%qZۧ.w] n߶f !  \4 d pzP}nοg+W5$zZ+Y..B*-` J kL2vPU+"m`Z+mM[yس׏G;b3+_ n.Hqhρ^ sNҎ~,,廻;~|.17]5 %N}8y/}7" R6ɷʹ;}~]MX`=шd<45"0a?_Zp4IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/go-home.png000066400000000000000000000011361304016502700255700ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs B(xtIME %S*;IDAT8˕kSQ{K@$UdQ{hU\BJ'\:n%`?y[\ZbQ!y!ٗP!g\s)Uz0{JiO=Iqhx87oW"nbY'Nq8'&Skk\Rnu@~Sa12jJ\~zdt*M*@kh,B~D0.`vКErn. RTk69?## |Ά\N>=6o3V?Et0F,/-yx0!O"^SyZk&3úӲ,L0K;t~ 0 R"Ē`So/:"Z$c`(.Ns5Cq.KMB~8pA$mpg,+:bwVգIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/go-jump.png000066400000000000000000000013231304016502700256110ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<eIDAT8}Ka\K iF&J -DDR˨m_("EH&- Di͌:_3iǬgs8JDQ \( "tl}fv%:UQN6nV$'>'{clf ѱ_3;ҺGUW0}[r)2E!pڷKL*1 jj7Ұ{՟|`ZpMC,AHJl6{o@de&\=AoTVUc X hcdc;g?K1Ȥsxn'WByrlSi.K2/;xܘ[tl)sgrvlR@f21GpY@Eǣ9Pv6VUk( xp-f)7",3x_3ԁ1|tSSRƣqwp5Xb55~ԋ+U?cjJZۆ25|I=/b1 lܺ?n%&Fs'0۶К"IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/go-up.png000077700000000000000000000000001304016502700302432go-previous.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/list-add.png000066400000000000000000000005031304016502700257330ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs B(xtIME DxIDAT8͑``rҺ`6[;tqDdZ &g7Z,Vi1v`9=0+n/\ϵUR>.009xrbD["[-$mx\9XwV2@@PiAkeRjt&Rȿ&ROXNOӅ43kgO=TrK wIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/list-remove.png000066400000000000000000000003671304016502700265100ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs B(xtIME ;"\IDAT8푱 Pi:+#mF stԶ"DO!ʳ3w&H6暺`?S-FIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/next.png000077700000000000000000000000001304016502700272742go-next.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/previous.png000077700000000000000000000000001304016502700310702go-previous.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/process-stop.png000066400000000000000000000014641304016502700267020ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME - kIDAT8mOSasm%@+xij 6X\:8iL q1P$(Ji;&_M{Ua==1DUv \Be3?k.]vͭhRJiY|x23^(X5*FN><}j&1}QPȑ|8v728emZ:M W,JgZg&xccw6ǪG Df8޻w$_r<֍TD"̻w Ծ>Ԗu~ ڷEJJ.hϟ( %BaՑppq]Qpz<8;wu@ y%%}]pzXb1mc6 ;Rww(8vԅB*,e_)D V[Z޺e=gutǃ=<혹Ʒoȕt)冚a ,6\Uxqx4рԝ:iբ)+@[VJ$(~MOnޤP^\$k$oF4|~?%r^S'[AW*gX-kSH c:`C6"Orbizi~inU|^L= 1mv?x.ElBZVO$֧lvƆ(,nƭ"zvWiEay3MR׆IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/remove.png000077700000000000000000000000001304016502700305002list-remove.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/system-search.png000066400000000000000000000016471304016502700270330ustar00rootroot00000000000000PNG  IHDRabKGD pHYs B(xtIMElx4IDAT8˥[hTwgn646>|P4B5M5TZ4DThk&/}/Hh@[d޷=9%Z 3Ïo>W~7ߊ*qBfyxE |ͲQE&NgRg2{v[c ;֦[aHR,(ĥ\6J>iTw=6DrQcJK6 hDčآŃCro::毫<MqIʥ"3d"rIP\fU[,X6n0y}V34ݑApw־D$I v(x/7br]Hė4ʀ+m$yZ$QO&ژ LhbN80@D<ޙw2>s79(" q0ȭXt}rL&zee` DQJx+V5`rGArPpylxo#Eԉ} 6.@o{`rO^Z&`lZ[[[TCz ;fhOIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/system-shutdown.png000066400000000000000000000010261304016502700274300ustar00rootroot00000000000000PNG  IHDRabKGD pHYs B(xtIME '|^IDAT8˝Au,b#6/`.I#RB: `g ڍ79suzç99u* BwsG4@`Ys4 󼂺YV%N(SYX,wɄ0 ) ru5~x% Cm)@A Z(}%y(hj51H)BRʿ k-qtz\.!J)$9Ge<j}fkpVk.I)%Yy+rft:k-3q38x5RJRE/1?=;c4iIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/up.png000077700000000000000000000000001304016502700264102go-up.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/actions/view-refresh.png000066400000000000000000000016201304016502700266410ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<"IDAT8mRMlTe={3m[ 3јF7`XDa M ta1L%47!«qВF;̴Yp=''\bfHe4jՄ'¸.ؖp|t&E@O*}]gQ(V02v|g'-lzW6ÌĈdǂЉ  3EW Ŋ 5>.W f43=gOk40ĭCձž _M^l8l?3]X1/23ǕgƧg^hڷuS( wD-HU/<A2e^ۏ^,}?,az  ,Hc$UgnSui&vn{'v>Eq4Akw_?߼''k'W%߼[0j>AX-/?ԩT=eYcJ奎Go@W!'$_ԓSln\{&?3 DV%r=?JeFmXv@x\qqah=Ѿ2;}З|9r-k5tT2>hMA҄ǡ̖MD, z=*];[x 8wyIuI1MN<-I7, #?[FՕD(̗ˣRmcer-0{ W1oR ]!PՑl.UvjeIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/000077500000000000000000000000001304016502700230315ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/accessories-text-editor.png000066400000000000000000000010761304016502700303140ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME 7);RHIDAT8˥MhA3ݣH"-)X+xEж'< "~1[M\bӍLlZx0Cmj+ ofރ a]VzxG/fw؎XM9WOJݬ;-T@YXݓ zV_LKNJ7qĉ?}MeM}'O2t3@zz}KAI{|-Mu=۶m;R>n&X^Q@dct| UsEΟ0 M ҽ \y7}7FdY~C;>Yz=iv4nK!?y%;nL&q]7\OPV<G;+H%H`YeExA,CkMVCk5Bl:ud})0oZy IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/office-calendar.png000066400000000000000000000011331304016502700265370ustar00rootroot00000000000000PNG  IHDRabKGDUYm pHYs  ~tIME+K^>tEXtCommentCreated with The GIMP (c) 2003 Jakub 'jimmac' Steiner'3XIDAT8˝Q;sgPP{ |+ b n1Ā ZM/b%"&!02wg%S͜{wcb"fݛ;8 nel6! PLRt,x6'|>_w)$ qHR, K7>}4M NdBZ%㺮Ηe, !k`tXV}f9.zĶmLv;6uumۺ0$#A.c^3 ,D)eYz=%vq˲hZu9FX,tG v-` H)#4 NkR(B}}H$px ^(.?l[*ʋ |7? h}-)kIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/system-installer.png000066400000000000000000000012311304016502700270530ustar00rootroot00000000000000PNG  IHDRabKGD pHYs B(xtIME /Ub&IDAT8ˍKSatm ]ՅRPAMK 3 ru)!"" 5@v1&ЅL!a/rn9Gw.t`7GJN$n˜Al'PO_xI)30Ju^LϪ|>I)߼~!:\x\ضM,;23= PFVöml&Nj !hqR(H$UI)PJfIR  |oFGG 5}h]ܻσOhFT*ǀzJ)vkkkllmJeYh';Pޛ<}F.\.c6yR#XXb,IVWW1 jujm!0 总 a{{M4A ЎZ[[,9"N.݊Sa&bHa)D܉qAI[[B@8Psg]JN<8]GiXEK)|93sٞf8ttp]q>e d<ȁpiIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/system-software-update.png000066400000000000000000000017041304016502700301750ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME LE5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPًoIDAT8uk[u?sNIfM&i.[gE*CӛR/EAE -8peh:kK5Yc^N^NsrUܠ<_qć?p]勋 _?ZJf| vSiHgUnld) !]\\XHpW3eLQgP!.?n= ӽX8v~ph _ 6gQlj1;Dz6}Mv^/8fx}~dIq5^Q}WƓfn~"bnjjN?H@H WñI#/Z5R{z(LTyQ-s<8Ba7Wj}8 &GbHFnw,꺁P_0뷶p(> Dhp=b3=.M%it:^3 Rl8T(OeX#Scavkh>-,^[00Ap+Uf%E.햛D,Ar2%TlTUE4zQuvJJKgƵwU6kM ҤT)ZhFAPi:++=1`M8xq3Wma(ԴzIL /TK~yZ/Ř{7㱥Aߐk:>h`mSu'OgNrW=tr%Y!:]s ~ cS #]2IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/system-users.png000066400000000000000000000016171304016502700262270ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME,mS! 5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPًoIDAT8}Kh\uޙ{I2 I;4ML"ք QXQAh][ -+u)Jݹ1(.RH|"*2G38>>M2M}s>>eް@hSmwcS=$Xf\tA6MlӒՑDxal |?["!6Z$^/GNMTQdtX:Ql(lœ4m0Cu(=Fh;٩t.7׭Ffu^kaz k':>>|k K}kX RMC&3q zu8aP))CQ TJcx1jU8_vӇ3ѭ|w\)a27^I3*|sAR?} O=sP2a]^xG Z7M3;?N?l}קPwⷵ:22/2yK!!2X):w؟JOEI0@[5g*2 PKhۇBD . <:j%x%{d~[m7E,qWw_=뙫m{͞{DYFϤZ`IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/text-editor.png000077700000000000000000000000001304016502700332612accessories-text-editor.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/apps/utilities-system-monitor.png000066400000000000000000000011431304016502700305600ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME :4$gIDAT8˥=hAݙݽ"Ka BH!`as`$jRXF.1VHXB*AD=I 4 w;11!'J|eg&(sl#iJoj93T*zF;ORG p Er%cg.C2 <6r>dDi١:J& i.E%)"$ ֘k*F$1={s #B vA(Fk˥]SH$1Qq՟ N,A0ǟPߍ,Som7?5;Xcz x(UX !?pY# . `uG9.=hmVcqZg po&S:9.JqJBR((n Qo>B]#p67mll4(!aFEkb'Z5hYY)hi 䗾_6d֕Q6 e5FX;$"עMIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/categories/000077500000000000000000000000001304016502700242135ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/categories/applications-internet.png000066400000000000000000000015401304016502700312350ustar00rootroot00000000000000PNG  IHDRabKGD pHYs B(xtIME ;=ClIDAT8˥;l[uׯ85v$"U " NB "10x@( * i}@gt~:t>%^4G(ʺi; 1\;bZu!eqa)癙ܩߥ\NKo}?bOӹ̟L dA#kgn?u- ɗ?xY|'w^)rdz S&D 2h7ZY~ߟ?l_Avoyh;kmcAv&I*ca)'Pz\^ u MB#+GңLYj1`lx,\dHr6y=hnpi1^hTŘءc5|6G3y4DU&ĵllAh{h8#L2L9lQ>^]ff&~>!տwfC;Zd#4:Ɩ66I'U2ST\(Vw [GدZOP$gxHR3NfW薷Z{108a[vgbۜN1 u +l|R뇲'뇃X<*S$VrnW=&z[,rg`ҡՓPÖ1ΰw6+&rssNs! { `t>_%?TK_IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/categories/gnome-settings.png000077700000000000000000000000001304016502700343352preferences-desktop.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/categories/preferences-desktop.png000066400000000000000000000006701304016502700306740ustar00rootroot00000000000000PNG  IHDRasBIT|dtEXtSoftwarewww.inkscape.org<JIDAT8JA{'!`ps)‚JQ1BJL3FHI-Js-dIXw7g k3{0=$"_:ͬtDdyFUlfi$f3D^h4$.EQl=lrv~^/uvFJZug`> ˎ~RɄӓ6N|pPh=x jqy EcP{Dϴw)$J,e6݀(3UUF6Iz6_f\'@ew(s@Od] *tIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/devices/000077500000000000000000000000001304016502700235105ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/devices/computer.png000066400000000000000000000013251304016502700260550ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<RIDAT8kSQ94ixVTݨ+AATZ*t#Pnݫ[At# BI[{ f~3sd||c["bT`:뽜*+ic,>Ƙ('Z-ԙ{+ J7$K­GW2AaqŷRYd4|YX"dؤ9I;3QoddYNbQU8X,hG3J2@^aX t: Оjgwog_$=D"vvwCRrJոi躎eZU/TZS!RŽ{ԏhBi =cXG+"@J ]7Fv)%GGGdYO޿;:P,XMێd2q0 ,L&#_g4Bhs$;;;Kڕi˲'''W ʼne߰_Rt !Dd9 QnJ:IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/devices/printer.png000066400000000000000000000007411304016502700257030ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  d_tIME5 znIDAT8˥N"Q[!z̊"10bިi$;#c7joo[[W*LX,~hLV9:"T.3<{*VkQDVe<ϮP('ι 1tz/֒^L&Lj}Y]R%I @U Ðh`0`8z4M^_;xLT" C4]R2, "L h2N18g[H|.qu Z+1bED.fxq DU9x9o~hAIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/000077500000000000000000000000001304016502700241025ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/application-certificate.png000066400000000000000000000014761304016502700314030ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs  tIME# T5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPًoIDAT8˅KSq?s>ifMf,Dz$"I"*"z.)")H^J l:us*ugt2{<K-I7 ejG=;9>^.ML1pG@r1`' [)wo5fZ^*Fx $08MNY>( Ҳ"ۘ~݋6UTf  k^W0_He S}j*vMšFC>VCa.24 @Z I`TZ:C#`/@p`U2HZbE(TS8PPZY>`P7t}}hm2i1S0 xTɦb- M#w %71=>2AK) a`_)Uqh~Rw[d3r?L^*w3œpA&b.:>qQ|鉒8?*Dym:om|4fQqWͥEqh?7G04Tr;eJ/D ^ԗ$gSzF,bHM'ʫ:\gl826n{PW!\.9G' $IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/application-x-executable.png000066400000000000000000000010601304016502700314740ustar00rootroot00000000000000PNG  IHDRabKGD pHYs B(xtIME8rJIDAT8˵NaofMH(`; (h aH7Mܰ`p.a4ހѕqB Q i e(.ffvY>ON!Y\ZYxz:IDd9gw=J"bi{vDҸ3>Lbd(T"/]{w]ItM31 ,;sDBO8=Xvf*dk38F 7Pp4Vھ݉\3o"5 egWָ:o]\9P$flX>o,;3`2{50$Lj3 r |C|.[8_.R,LDRxFMIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/package-x-generic.png000066400000000000000000000010341304016502700300600ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs B(xtIME IDAT8˭1hTAww=b A I#MR (X( ;H) h,Ebl"*Q]۱x9#xQفٙ4h0lڑВF4ѳWc[6#H>/bJi"/3sV,1;ZEsSpZ8vKo[G-Cb 4ET }W(Pٲ ٰ|r@ UPmҏHV?1(>9! d Bj}Xk`<h~pb+@zP$3_F0׌Q3_Aszy]❇{ 3Al'2=֮G%J=.]q{ klf_o҇)IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/x-office-document.png000066400000000000000000000006101304016502700301210ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME  )TIDAT8˭J@Ir('[ "&xYZ X0!i|_@tD] #xjv YNaEi(əy@D&`6PZk$)5%"z.NA#Aba`Vs_3c,2mj [klvy|!Iմy;v "߮a?A7`c^nk?Bg}TЙD# "RD1yER*6MJ3K_Ut8F~IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/mimetypes/x-office-spreadsheet.png000066400000000000000000000013001304016502700306070ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME وDMIDAT8˕KSa?gnzUYqR!, x!HEc]u4ЛR CrЅhw9l HM[[K9;b?.|/}^ixxz/`pP(dB] "䕄i (^c``(EiHR IZɻ_+{bFiimA%n!@*"/IOWq^ UvtIO̵~t"e*!HMϦxte"@u6QLÍ>$*SN"v#24G]px9Mc| *Uu\ SDﳭA~  AfdzJ3 U}qma!P0}I_ZN&ULmeå(n#0-IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/places/000077500000000000000000000000001304016502700233355ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/places/folder.png000066400000000000000000000011051304016502700253130ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT81kQsW,)2v._?VW(Ĺ`Y)$Pi&%߽&6XZw9{yy_v7 w2 nY33 w~?t:ϗ9gBe8~T9gWU& $vxLӪ+bfkvܤjc$h4b<?\YPUS-~H̚??́={U9gO)1m!rx5)_;9x~J)N ˲|@+U%猈u#j9xs3DظiQ ATc;YuiIjAbR7 inPEar6_TRJ/sN ggD FNuk"ERR;'|:uxlQew"E‹G!c1IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/places/network-server.png000066400000000000000000000012021304016502700270330ustar00rootroot00000000000000PNG  IHDRabKGD```efJ pHYs  ~tIME ) E9>tEXtCommentCreated with The GIMP (c) 2003 Jakub 'jimmac' Steiner'3XIDAT8ˍ"Q6b>F |6d755/1ыMw;ݫ2{Bq=TOZ|`,K}_|u]q]W1bx,Zk^r>NPRD)h4V+ӉrT*n}?@Df>|o8EfJ)8B!:n " & v۶q]bU`6:j5|.7|yAD<FDv;6 DzM,66ܻ+ ÁL&@R!Jl6IRj5MK痗?|PsIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/status/000077500000000000000000000000001304016502700234115ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/16/status/dialog-error.png000066400000000000000000000012151304016502700265040ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs  tIME 2SIDAT8˝OQm 壾Mh ĔD2iҁ";2tf#@XD0hc$-M[(=}KOrs9nTR<ƽ,e`z!~; -L&a|*3ef39x7Lr{UE XCwOMRSWt2^,F{sm4@UAEAi|?öj2CX[C*zbŅ1S)>olPkf-`~2rguPqTqy<`>?>|DE+OoA5?JDQ`zpT?P&×AĽQ7<7UD (Y "":'V][x%u7:NCPcG" lZlg w(CO4Fz`VW*H$p }0vrjܺLv_“QEEpM::_΋nOGfXvwIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/status/dialog-information.png000066400000000000000000000015371304016502700277070ustar00rootroot00000000000000PNG  IHDRabKGDC pHYs  tIME 2:P5tEXtComment(c) 2004 Jakub Steiner Created with The GIMPًoIDAT8˕KHTqƿ;:G&YjfR>E"ġ%ԤlbpaE1EM%It&JJ͊4Lqtwo5~s~s8T\L)%) 1ek^v}STޔ0bmeZqU7S{z?\!&,zIW׈%ooߓc,RFg}ZUYEӣm%Y{[n=v_0kEI珖D N Jhs;u&%srm'$=Wn/@ ,C-f PPn(.*rraB+YWUH43 sW߽%::6ilZN̾24PU}z YXXx(7VL6^|IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/16/status/dialog-warning.png000066400000000000000000000011331304016502700270170ustar00rootroot00000000000000PNG  IHDRabKGD pHYs  tIME'-wIDAT8˕Ja;43JFC AJ0Hct"]t0 \teBEIVP>P\ \@I17ȴ;gsȀx݀/|zyxpG@uOHRZXXОRZ VC 0a/ zbwLIt8l,z>ϓ-e !v{^aR Z v "8=bc.| f̙\xrg\uݑ[Ra&#lח=8`^K=@Dn=|C>y' f"/t 4}IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/22/000077500000000000000000000000001304016502700220635ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/22/actions/000077500000000000000000000000001304016502700235235ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/22/actions/go-home.png000066400000000000000000000016301304016502700255640ustar00rootroot00000000000000PNG  IHDRĴl;bKGD pHYs B(xtIME #oUO%IDAT8˥oE:m@]Dm!U4@(4R/ *j-YU"_S`TH' :R/=B9A5B\ ]MDHݝ7yoVp69~9 mޚczǶ<ѾM~-v׸8'a< ѝ;xmqQuAֽ{ d]󇁋 0BgmJ)/EjNG?'.0tF.biǢm`1\ǡGl~^<Ω6WRm+="uѶل]dp'}##J&iZy03]|:d!Hǁn6Af/y ļuRrusxFLEڄо3LΟò@k eYdealrt~ho300]n>,0;O٥gg.-͝[O?dO7׿E>BG>vJ:Й3oĥ`|i˓ A1FoZ0ȿ~p5~hH$0M00MTnߛl؈H)IU QC)R c<dK;(r4[4QOE+M6ֈI&A)&b{RTm-" |0F=JEet(B)җ'KMwP! ڝ lؚX<%خaOG?ifV(\&?IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/22/actions/system-log-out.png000066400000000000000000000020741304016502700271440ustar00rootroot00000000000000PNG  IHDRĴl;sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8kU?ޙ;~yM>BcL!U h "-j1Xt7!BqS]\%JhZ\4R^_&{ z03{Z @N `[=%cJ)4=0 q]}syk@}/0\ *ZZ1c RJr#l k|ןKi)x֚0 8I5CCC(PJNgH}S>Zk("Iڹ7yL!$B4 Z{=`5@H)Zrm~`8>y^ǵֈ!}{!nU,R q c"<=}#Gcw&399imIs[kWzJH*USPI^BS0t <Ì=RoYX{{Ug2fff{.Ǐ)ss0<: XP $ "db!D'NٳgJ%R^}UlT*$ 2"u$> ֢Z˃948 rK$&m8R,o=G*ns؇a4[?Nī",Fi40R=G,bw牃fdWYImzIIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/22/status/000077500000000000000000000000001304016502700234065ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/22/status/dialog-error.png000066400000000000000000000016351304016502700265070ustar00rootroot00000000000000PNG  IHDRĴl;bKGD pHYs  tIME 4/`h*IDAT8Ք?hg?'$4ihLBzdҩK@ 2dOJ:kB$[B!!$N,d[ήtrqUwYtY ,xY^o[g*\98ðkeVcիpm~: ܘ)xy(.R?ݽ Ʊ3)n/^Ro"*h -lϣn7~M\z}98@E T3*3a 8< rLzmtAUD1A0sE:L4w#M$btU5*X07-a3nNlp,Cׯի:Dӎ㌯yƶO Xd13Q٤>[2b(;m9PEm?mLEjV*F?0.P nn!ol5ff2ɠw @ETn:MU U$~ ^wggideNƕb$NHap*<tlg4N1n:M譨cP][c׻3Gm dZ66qRRT[,!=ǥCV;-1ފq{QNoy ^އU6@w 49sw!30+Ʉ)` ;f?Rh@c2֡3߫C=%.:/ɧIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/22/status/dialog-information.png000066400000000000000000000022641304016502700277020ustar00rootroot00000000000000PNG  IHDRĴl;bKGDC pHYs  tIME / ={HAIDAT8˝]lUw|NgnRU[PJ!i@DjjR#} AM !$1`ԄBb4F%>!Ceq@;ͽ%EB9a,!$Ι-?E#Na7nZص[4,A/HeEsשFNx]íoتԃD`q\~IÇ7E#낷صi-ejqpsBŌOdϣmZPicHfpkamM)#~mPb6xĒK>TlNyA D9߱p+WoòM)1 !eA %JHRRDР)*M|Pq|xs]gl[CA 1 !VN5N1̙.l8.f_%J yN7尢+D fEt(~" GUPGKY:נޮ`C7-F5:=3k8U1"c'y Վu9ʖ&i=ۻCuɹS3/ S}Ŭ^4*X"q}QVs\<GNYgFG߷ی6ṳ̏1*lJSͪlmT:ri98؜9C KAu?\ sm"/L-.c[cшyG*2k-Lu׿"J5VWN78e&+K6s;FB8 EM5{}Ǟ勅)֟n 3R.}{90+kl3>?~֓P@Z_84m]F0JdD%}X&QG>{'dRb!',ucq[> KUĽO|V<7х H Sv F1uZ!:=Ċ0P /1X!V u; 5JnJ)|Gk镰!ˠBێo{T7;6ΟǫV;+!656[J%7[G5*=kCGc6N_.]qJ={:46hs<hKG2=MS*Vۯ ɱ61z\ج[O1[-nDd 2$۲!85![}cxu[󅢸o͡^CC_ޘW./&F䳷E>U`\3SZGDF,#kWxx& `oQP'NӝzG*lE'`Yzoյ)}c`k v0_(Gƿv$朿Rm-:<K9gyoZ[nƒ[}ny{M}8e. QNs0k8Mjr_?nzn{ O>խ|m{1xU b~ymѺSV.Ml,[:wůZp$ 42LNÏH2PٱB*YbxNVA{ukMmYpMpNd  G=0$s݇ <U}_3y੧B 2ܦ&r=j6yg{ZWS]V:4F=tqibV+/z BΘNiش6D9"!7Bٲ_ɹ?|p:3k՚칳 kO㤋7{(iM:41rAA2"D(/PWٜ9sd }ntscړ$HD0N6'KdrFVXxC(NlKslMun? l\U,l)@A9D9#1f2N,3s2U:^Δ}ݧ;߄Z E.É9Ĕd 3RW]cDŠ UV4u(E5S6LsBsal`A O|WT W7]|?Z71e'^Z!͈,8#sA*_Yӝw ""1ֽXESTw -Ze6ld&dh Gz%%̚U˛ZX&<.W67z\#b5D*ϕtN-V쉹9\1qY6b27h@h3 mTr_={jl i]koY昮,'BH%#-Mn\% Cx/Yр}bW^͟o՗u|H6u6 FJ  k_8t=ӆ7ėXXT-gIbL2];ڞ5Qڮ\&yv)sR\e ՆS}ᱯ]{.~rt'VJpb=N}>XJnm{۳cU%/L 8vn5+E:Uuzq;nX籇lAOZ4F#\# [;oС;6ڲنxO.J A>7/xMKY@z?]+= d YvՓ3 z@G"C])8qcSp]{;00ch\G….B[ugrwwӚaL\6ALCX蹏05y\RbPg29|Y q@EpzdNNf;;{essw?6mze;8rdj喝׃jPK Btz㞱Q?Ϗ?~yuT_s%^E Dhooo}g2bM`B`l [՜^PJqˍoMJ\;b8JeoOI3iaPwBW< AiqnqqJ<-ͺw|s:boG)`[QDXu5d RP4T{C((?OYJmt *+ۤAg/18#Ѐс/'.p*~8|z2ʬYhaԹs]J6ߕBt¡ PԔmm-[~?B\.WbBLIUTD&'K7 B5kx[UpwLyqՑ Nm᫤ٳsܦ)څLJJ8r8((躞ĵw/OR&M]C8 TSav G/,L8IdӉ|o^sSi#+'GSwg [`k)={xb4\$`4nɏw0 M@ k耝}@L i( p M/IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/000077500000000000000000000000001304016502700220735ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/apps/000077500000000000000000000000001304016502700230365ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/apps/config-language.png000077700000000000000000000000001304016502700345002preferences-desktop-locale.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/apps/preferences-desktop-locale.png000066400000000000000000000034021304016502700307500ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+IDAThُG?U];Ύ78q;V)dxAB EB@_C)!E<%R$#Bd0>w=fZkZsU5 Hw$oeO0|N*Rf#y9R gM_[9 C?'jDs]31=ŮabLa6lZ3߸ܢH'9_~tO>mDyiؾ=܂M*1-0pIH)$<@ Y]^f~h^TxbR1~! E_;y[sORV5aFk Y6`p0Ҕ+DQL2V'L͍51WHs2|nl=aRH0/(rYBɀ@)8!bBDQ+q,<8Z07 =i ?aQУ(r\P*#dRrGH7x عnV_ =laU,ڕIK+h`%d7J*[$[fG 8_>ʩٟ3?8.%& "QYuk ib.]b!22ӄ:,Q{7M%[h3>{s?b<_>cEú+EoZ+LLǻZ%6z+hvu.Jԝ$Yf׾|` . i'%r:ߐ]asޝ!_ #Ɋ= &Pi0o(\}c EQ |!q5<9 9GUtkW-y!U& BU(P4zES}ep]=R@iB3S5(%D)ItDIRuH(PWoNy{<λ=omM)IZ} q4G<U[Bal{瘂mPCB[ M#ױ&S8jBVfjw)$]l Zrirqzk ;bV[qv7'ٙ.-ykz}1 =~,5n?@sd U]o 2'`8* Vj[{l=3 =B&пՊٕ}\% jF~8QjLD|e NB&d@bXKaߨQ gZ0G4OCNK°9h:c $%TmlKlh vcǁ 1f4*6$_yi[6= &DM$: jJ S~TyNVZ\4I6)|9bq&`n {emc;K?ZbСx퇒N7퍧tuNP~.I'] cEPm A@>ΘG_ȏqPнɃ~u(?KeQFH!ͺ o~?kڻB*ό LU*렵&2ZMflQG8+P{܁:V%FiEkZ9}~^kf?s_|rq!@C+4#I8A ysN%~?{~F!0 q=!Zi2'G֠&;>8\0 G^KolI(BJaH>tXmZ&;TdJnח=^oWL8q}RR) pH, שUk=_=2>畑(VU)$*aq/?']1tMXk/j}w `W!a#yJD\T*>B\' QӉb:QD' qzͬ?1^A\d}5V\,+=Q@R\),'In1QY H S,7ϋ}7Wp¤Mt *a7r4q WGk\{*?Pjy䖚0}u1G"ᖑA4kHp|!Kx6vm"VG NP%2$%N4%WjǂJ( X;H V 6yV1}S'$/rLK=#xAf#e**<BY `6F=Fр-xA)9Hۮ"/S=SSӜ>}WޜcFCփ[+KE\A :Ǫt 9H<`TU V`ޭqqܡýcc2~hVp1(/'XH4Xb>tH:x"jF $h1Yyᑧq_kwX}jbr/!@JtbpEk9X@ZƧ UX\^c2^I[E) Vcu#L.@nJdI=2p>ǦťKvKsA(p=R \k*q6ɘ^]7i7&G1BŃ`M B}l7o Ox䠵)QVG $k|CнF턦2 MB0 ຊyۘ vɰ#.ΞY;׍~[ 0tzhc-;݀1`E /2cA+NKs) b;641:V%;sJ8A.=c`vUH\bT=µA_q%Ź0NץQׄ x=вٙNw/gnCy%[]ln&gg>x3sqO/Dqxaauu |W?%5Ⱦqweq3ݻҘyp=6><,SA!ۍ~uӥ׋ Q<1R+3.j2֖fYk4G# xҍ<| Q)&܅ֱ>rٷpe kV:&=EyWά}rpf~+te7&w>w6neSs,G'Fx4XMOV~rS|%+5FDQaP%K-|7mwxw1=;^85^}LLM3q&''ymW#`kʼnnbbWB2pNgI0!gCZS˿A"MXo_%u\Xuadd޾A^[x^6DIY֙7C~SPsikV!խJ&Ԏ0ݢT*3#RZ,m6avuGK$@ ӯd&og/# ~$S;GMSsW$Ixaf kX[fsw5DqFbGۿ}8O?Ǟ&&&kCԥ)8Zt< Mv8y~U9y~k2Uk &O%W \r{,olgKQkq\/h1o/,15f7+9{}ncюSЏ2o@R\fGVŵ ǂ熆BƠTC\G}4 Tt J/Y&,";,ТT(w:4:]/{[q|ca73P|o. ]l{U&Qw,5+@:]Zk3ON]ZM"'n!Z!lel8}w6iI#_qF*WXe4x}QǦ'zF[S j-fBʵCětH,#=o,:kp?{ J+s'[ 7Jk\ck|a¾Z6Mx_So@ NGK}wM2٢UbL1ь8:Ɠ_k 'J#7&pa)rc oMtu{LY>@ҥϵHv68 dXk\kVR!d.$I:wI5 ]oQPg]kMRTr:PRQlFLuc]j6IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/apps/utilities-system-monitor.png000066400000000000000000000064421304016502700305740ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+ IDAThՙ[dYU眾LΌ^zmop6(vdّŏ<7.</('E@$ "F,Ē-s3ٝ9έ{QJ]]眪S ~Ƌ~p埾G 9xƊXD,"iXHҺ{AgXXuIZ1nUϊ8_A^?zj{`u>| rtN!&B"b5z0tFQ۾./ nq_ }D"/1X1k0`u1RP?^>U+m k˟|̙U"61"h桫53U'ͬ qE1ı!211f YVPp8ùSՙ3w~u@)+++pA;dF'JR)5u?Q´sK43|w~ ߇-?~A曟;U=/|P.Si7Ryk!'#f($ $ X,}~_ 16!T.CwVX\X?(rmN"Z82iJr{1#=XZEx&:a֚~BDPVL\ Y0Ĥ.g`2fɮ#6e&uA{Ql(@e @BĦSl$0zEG)/M9c+ Jg46g@iMµX(R 1(6rp͙|N"u.CyHcӛPF+qOވ0L+J=O)u`)C⮭ӐRN%f3N@N3dQx,.8XcJ8<]h#*RJ, VdXaXQ 'ڀr;j3̀fJs>1(%Tyf/Ma \lrjhwXQE;RF45' byS/' ;7$ÿ"!bJLRgaRYBCc>{Ax2*Q3 Fap:Y5H1 •nGkQ,\OP)ks: T˰ !-qlǖ( Ct!3Jh{\7J,טoDE9v}_K/8֦ShD\j@ dZxhfF\ee8salΟ+8K}'>6no;Vg*3V0"a"4VwqۀRhkt)0Zʒ zFŹ1gN|B,O_o'/PL1+JK?cAx/hqYMPףse|c{#NhkzrN1~/|[#3|r/^%v;=lۉ#b?;fy֖}n|΀-&n6v7$ %bR8ʍ& (!s#"6;mh,B#u|0|ݐ11W g&Kź]  i@q"={ tꍼP[;^ģsfyw=ܝ{͏Bh?iG'ќ4( I b;%R(hAb*j1tL[NrCq5懷-[ \ߘHcToiDƖ0 #lzAN殢7jn4Ib%* #6 6ʰ@rjv,NFZkPЧ7P*MQmL뜅 @SthJO>4++aȵX[[`&/KxLJ&kkk34Qz`>`GTMR \\%nVT:t~ֺ hF7~rw.^sSUxXi.,p&ׯ_l4<ťE[-nݺMR>7%zuPtN׎ :P֕X {kghpF;wbciQ[〵VE4~@c1O\ʞ(UǼo_z)/_:/Pkx~aT8tJm8{//xt:t;]sU/޽ w: 3_ڟyx&"⊙DLFlF|O0NA 5ÃN;7t5\׈A!!0<##mC8-3^4K*}Qyr_/bdIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/categories/000077500000000000000000000000001304016502700242205ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/categories/applications-development.png000066400000000000000000000070611304016502700317400ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+ IDAThݚiy / b&ӂ( C@!RBU4JVA(*.`~{ܙs^c/VFܙ3yss~ ,=$Lc|_/7݄e>N6$|-+qN\*gIu-X֚xgr\FϚWKǻ?PLqRYj+0vƖJi5gr/u?owuO#~{g{*Yc@G01`aEx!3&}M\E{2w_i?c:) "$Gա"[oϽ_L~'M{TXsæQ[:2ݝ 48|>,.}γz9k}/_cZKλ+`*H2*1` 9 #/Dsf/qrޑ>c{r#gL(.{"7=P9gu'P?^ L!mDU,CF$IE\߻U{_|%p\ P֨Z~20Q aE6|G@ALhv .ǖTZDĕ$m\zs;<'n՘ UDM\GEB(e) DrbM^p9}&&lytpG"_f"~ ŀP[(E]Qh:Og.\+" M`1C|y)ϛ2 cX?·vv+ bQ:0hbsOZB$TD6^55.?%珜qɟ%.ߋJ+WE4C%+V6H)|]I( Qx~’󿎸JV,؊Kzk.tRJH[]C k UޥAm`)#cˈL8yT.K|.b~prPs/i^ " uuqpl4:x96釬=!~*cx7U;" #/MTZ4J5Cھ!&s$ Qw-$?kHUrvFϸUp4* leˆXň>3v :@PquNVǢs Y3S9$5O>B7 .AFʧ)STy4%=9-Z&J~l@T`AF%m Hfh&"&,5b!> $}ݻby_.(tv3#+>ĕugÂk|c jcc1, EۣW-K&wzWwbx7 ,ZޭO^1 c1s ")9hĚF"0j AipEkbc  ׃5Ә~뉓8yl_b몃+O afamc,j" џO`sS˜C7u//V*puyXj 虿h? Ao7}>q%_Mv c M@pWiZ+bl cνbL5q`Á Q!*0tڝWgK?};Y@EWWV1{-5M AqSlXSTSVX%͊4G|[9O vd$Mg4s@+JɳD F@D.ߏJ0w ^|C>Ļ3H>:M<.l:ǹg׺@w5uDm4󶔝'a\6p1O]:9#&^wXv&zLwۖiB\Z@ eT %.w =k= c`&)"/5gMu9:m/tFCT7tF0&ܳd~;,Ҝ~ c,:믈j(%G|BE0r3Elu"h(G}E?  CBzIGxml>Wq,Xut61g :*Xvv`:%)R8ajnxk;={W c`c(FaS+QKCw;60ۘ|tv3.I'cz}8U TwMcclK:]gx w73y9o"o5MGXEԎxIoNX3pQ&ȗrL=ȋ@~4>~65їz?+x74QS-\[sQT`>܇Fj߹E * *-B%13y h@5ItGY Ii=Q.G풔 XH"JiͽM+7nj4{&jN5vSCF b*WP.CIZdJ ~]Lq y $s84 qX?9q'7KB D Pfbĥx?" )%`L U~d<#pPs2TۚGw@ցgeAed2 >imLlyJI⮺-"E1Ch o%kw_~knR {E~f|w׾o얰a[g?/XV kuc ֖Ѯ$ +ˁ2;^y?4A"tL}}׋y^igdmp7oJBcH֛'Yp.7cQskqn˛l} CVH"clW=o-(EuLBm25c˵_9<.ѱ~xrɸ- K@';&6`Npۙ5VSrJ x?'w_p8kcg~whͨqa7-r_mKbTm hzpclCFD6@S{S3շ;odW]E| I/ޑqQU&RF=X[)v"\nu/r aK!Q&ɛOԽ[w\UJYn.8Kqy_ՑZ8$q?J>Jƽjr}z$yêfzLgfbLIoNЩ~莁 T b% c3гhA}Ts{1uSSS4 r tJ8+E,Yw lO|,8O]/BhXHIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/categories/applications-other.png000066400000000000000000000046741304016502700305460ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+ ^IDAThXmTW~{33.., 峥,t+?55ĪX7&?&ȶ[HIM?1A#i` v ~0y{~fv'sr;so-c,^i!WwPر|ƂPwR(-oO킺Pa :y=lK0\El'ه~ּ+Nm!. ?CjZeFByU@Im!\tSFo ~r2:q&Z7Gӻؼ)1/.8QTO0x Ƙ׉!{ r:L#TgqR`jYS($|'KGodx/;ݗjuj?h>XYWańA_@:փ@Dw 5ԊW ]ԩKX~< FϹ F}rRjL{"N8O;`#52 a|`_ >H̙^:ht|;V3 1F 1B6͓!Mw͝Ĝx+_3=`e"B"#o?d9ur?Xq2lŠ4T 5kwx_ V>[RI{.uE=scDOή:J:uE:h!g&Z,BatLJLKiGx"?FFR- Qo[BZ>0 -qLE'!/nG-::-9kx(K'n5kv6ȎBͰr %aHCYҁ܍QsUsb7>FZGҼ%CM510FZAR @xxkA0f[б"cyFj-H쨚w)0Y0wƆu <<x|g)0u> 3q+N™( ^D$ ֆbRQFbݔAh ބ>|fvF"=3u < p 9ZsG WrP>~&0׏,\g^''._6ޛ  0$`S{TiprZ%3+h +D~-O1 no {Vql#|m;Uqp/ȫƮrU7^ DjJFD)h} JnTS"; `al:\DQ~*i+[9Z y3t!F+0'?6pRm;(%3,U@aF@;SO V?+~'ӯDxJ ^@#q@j>|050@|@]\D`rډT=-Y˵I|յBǡ #񮯬ZR_ye? ["0)ef8ڝWSzG[ExmPRyJ;28H Aޭω@ d?\[zַ3z kuVȞف_t%G( /)`qSULRP[#{Yg s6Cn$BK|O`١xk3x~)\D/x 6!NGHHo"{p10'H(El 5aD5<xF8^5y%Wv7|1`~(vz@0\cO#3ZbUa}Df^a\FdKk}k*|&ӑ6^a^FjM<EWq=ܟ_hP9lυypWEm!a$GV?+n|G~^t9xejZg"D]tZnz0ZiS77Wl*V] FdJttY3; B {@޿nyS?N`w3Zf)@LY,@@FLOOOZ,%Ob'9|'t\R'迅e8=gr] Q9?5tBirWU[oYN|>m׳PRZfܪVBg=*Cec%0њIENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/categories/gnome-settings.png000077700000000000000000000000001304016502700343422preferences-desktop.pngustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/categories/preferences-desktop.png000066400000000000000000000027751304016502700307110ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+IDAThXOhW}o7C[!ީP""MAlu/AAׯ_?>|=gjСC@Xl " ϛrn/jW+DOIbR"ͮ>hZY޿|ݨ-Qbuov(Jhv5Ζ(ҥKϯt~U[5/\ ;v[,Kٶ!ZjT*lRiJӴ/zq /{ɓ'>/_ξ155#G`zzZcѣGxD$ ø4@]v;vL{Q.h4=`ffmNY`;035m>27 #4D h4Ԅ+++0 e>s4 ?~eVT=)L&!|GZ Bt C UŲ,<909Mۙ3gnh;w CSNu]!u dِA$C@4u7\nB+mvl*i"J)A;BqBwv/zqv۶dy|u9rY& egu]e˶#,ɞJ`6c;W<í[zP_Ff< -qیui\Q(بWW tKKKU:UQ(k8qBR+ Cċ'祹О9۷S}, öarq4Q-]ׇoiw,m)8 F>`O26|[&N<7M7lvf Dlo<ad~U VEb"!k=x$$%ppa'tP={6V9"" tK@BhD$&MLL38A`i1pΉ1&|5Px,߼yK{ "hw9*G?Rc :aE"} }A^MCBN=t^&qÆMOX;)#0B.IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/devices/000077500000000000000000000000001304016502700235155ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/devices/computer.png000066400000000000000000000063161304016502700260670ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+ pIDAThY[l]Uzc\|| q6m 3bФU+ ^B_hVT*RHӀUGULUU#C>}e~at^_k}/M/g\;8n 3`f"$r3ۙDk8` JwD@q\̌0$0+(w  I@4rj.`븂 DQ!T/BA)SКկO'W V|h&>33m6aT(2ͻfW6 QD5r% #2m̌ `z(mٔ "FX g 0u]X"ؖei& m͚ƉAP(cmb 4v# fФR `&dFβ-x:_#Q#ޝ(HT L#>{`h`I$#[ "B@@hsh$"ITu H#598\W$&3eP.R@)nͦWuka aHU#?U"] }>p@Y4(FMk`s hxc!ʨ=gJ M "m !c&"R!uîFHd&,/BHiiyJ4%J%HB4l5R4(^%F81@\"0 V$LӀWQc[1b5 5~f.{/c+++?8|xJD& $IYh Fc f0Q}K>QvM&RL`:sMߕ@9sffcc^\\.(goFHzΤv⮉+zaYʕ2_}߿Z6Msq/J>_?Ϸ~[+ `4o:AT vjz3<%x˴.\'T* bxyaa*/^~ڵ&^=j'E%ڳ,w`hRJU Rd I\ZTV[__8ͧ~:j4mՇ'SwF&i[jA! 4`Zbyy k jbbœ΍ ܕf,˺˶̼QV/aRO=ԅ,L l__ޯ<;F ۲`#"(`uKŅ[ލ 79os=0@a_d2bhPg+g}R ǔR&3Z2&L"mH )w !\)$"af&YU3B-PB-JJI) ˒|{i ӫڣ>fO^Xc=A'<2::7蠊$6Ednr4bzcEBp"K^W?hl oxov7xwvsss'm-~grxWQjn,NK_>'֋fF.3˗x x:k'sRE;cO>2勥U<4 `ݪ \̽Sλ<w9rh|||rtt~!ĺyٕOe˲_ ۃm 웜<744ovQ)ɕ+Wf={ٳ7<`'Oޗremp?[G[7/v\'p ji[^\ޏ?痗_n-,#VS__JjEYZCJ 6:F\+=؛o2b?uO?܆8x]zGM\Q\b<2GN܍᡻ '0_g-Xk WcZ[!!־_5}6oN7g)Ɯ\jG1T<;vÿl:BB~|!|>|u-n=j=3:4^=tjd8ׇ59:Av$$R)dPsfsȍ15qNgw7_z>,]cP^5J%F~7=:&.mHwv_ת~ZX+z Wo[@~ !Z&012J*lVZI!1xkdzeL;B +lc&ZH+q yJFտS5lGQL &XTrWOgo(܉!2n!֙@V@J0 ,;B8&֞ƫNpE4f~zmE6yg}FWez4SSoyl~LN]kJbʺj$Xm۴[O=MH,!H1%pDXo M#e3o3 YkK?v",ݰ?FAB+P´B*9֮@ts9O' 쉋^h̖+XZ7{AH$}(Kw016ͨOaj?omOp$:MAT R K.%5}e,z!!} @\J ~e䫦~ud&ёf)N?֗Qn.wJDKJCke!-Y" I`rE=PN޺c?eL A6i ސKi R&D,!0-Z*"ivArEg jZ{{b>A4k29,FHԍPuX$qm, X{.J|@fn7d'XBKʥP|*0DL0;tjiڮE*oNMOә^NY 7 AP7\ːZ:PceBX.=IʠbyE^?*tv\$\B7@FN_FA4]ǨKTX$M"A&[&tT*?Y4RYE%2 BR",y- $eAuC؂zWB?n_x\q+A/DԲ{R TB> u`BX4vvus\rZ5G1؇CWą kV%5sz).UՅ@Wh{ Lxab2&/*PD%c1DO~T?~mo K`D^bNK)% u-h 'ۈ?-i˿̇+akyMq⁞wz8~! * &LbJV0}TK7 a ?r|čr7*S;Ih!Rb+D4OP`,,}8+~j0 lˈ@=Rk4@U*<Y6QW]O z>5Ut{``kk׊v%00 j:'t89 ]"J3;|w? #=0Dv%U=h o {z߰VJ$za;vJ>ّ.uMkFJ4B8nW;낸 eEsRyki ҁH&e2[nܼ{-QJB+ f=;H o w{_o#N+ 8Xy"7~oh!V [.ffj2HBT&1-ڼY-GriתIy{rqp>~m3w߳+5c.0P%79Aea4uviWQmM\KG+dêƁldR3rNe'N{z'{ ;gxtؾ7 ˍwa-TsGg.9?/=Ol8qyXmGW{ao:0`aGmKXR{^gE') q7;; iuKco)14 \IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/48/places/000077500000000000000000000000001304016502700233425ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/icons/48/places/folder.png000066400000000000000000000032711304016502700253260ustar00rootroot00000000000000PNG  IHDR00WsBIT|d pHYs+[IDAThXM$I"2++kǑf=EPa2O#QX7^Z/ ēsFdD(Ӯ.c"055Uyʚi|}^{%.qkf=5f>ld2|޽{5r\?f}/٪V=qƗ& 91i[ H4MCcngA][<{GRl)`4-7EZ +W޺vvvvnB>Rw>|۷~ALGj<}tI&$\ ,k)(mO" gfA,[zbE|S@}^ , lRiȯe,[zC>sCsB-%b~_]wDl؆p93^ЛsvN[[4Ǯ-Kfo~g 0di0`a.!?^z1hBc* EҀm *kۭFs5y ;; c:D`JJ̀!ʺw%E1` PEI C(# - u@$en)&(e;Qf0ǐaUQg 0zQjӭ7_/,) Bh^HT*^9_r~/1.lw 5@^rE0fqB +,K)ٶRz3gOH`@9ɪ8UbY_+jbDI  9#,K8LIa8UYv#IXbʦн~.R"WE˟=Ψ$-@ `ӵ@0mf$Af`CTONc|AVZ@DQ$HzX'y(RO( (e5*mhV:agSi2 4^¶m֒/_vvvFZ[[߿vuRYYp],#eRBuxǕ~fvl``!9uTJYրI&^=_SSg{n0RJtvvz  줔H$4߁Bs_~,0z/|R B^C@ =*~“/7R"0??O Ns%6Uȶ畕o&_,(9]\\b}J !iR.P !*^__}?8[#P"T=7gn%@ G"o멊!Ђ`0̓-}IENDB`fusiondirectory-1.0.19/html/themes/legacy/icons/AUTHORS000066400000000000000000000006701304016502700227130ustar00rootroot00000000000000Ulisse Perusin Steven Garrity Lapo Calamandrei Ryan Collier Rodney Dawes Andreas Nilsson Tuomas Kuosmanen Garrett LeSage Jakub Steiner From original Tango icon theme: The icons in this repository are herefore released into the Public Domain. fusiondirectory-1.0.19/html/themes/legacy/images/000077500000000000000000000000001304016502700217725ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/images/border.png000066400000000000000000000002071304016502700237540ustar00rootroot00000000000000PNG  IHDRlNQbKGD pHYs  tIMENIDATc|(ܠsBv`IENDB`fusiondirectory-1.0.19/html/themes/legacy/index.theme000066400000000000000000000055661304016502700226740ustar00rootroot00000000000000[Icon Theme] Name=Legacy Comment=FusionDirectory legacy theme with Tango icons Directories=icons/16/actions,icons/22/actions,icons/32/actions,icons/48/actions,icons/scalable/actions,icons/16/apps,icons/22/apps,icons/32/apps,icons/48/apps,icons/scalable/apps,icons/16/status,icons/22/status,icons/32/status,icons/48/status,icons/scalable/status,icons/16/mimetypes,icons/22/mimetypes,icons/32/mimetypes,icons/48/mimetypes,icons/scalable/mimetypes,icons/16/places,icons/22/places,icons/32/places,icons/48/places,icons/scalable/places,icons/16/types,icons/22/types,icons/32/types,icons/48/types,icons/scalable/types,icons/16/categories,icons/22/categories,icons/32/categories,icons/48/categories,icons/scalable/categories,icons/16/devices,icons/22/devices,icons/32/devices,icons/48/devices,icons/scalable/devices [icons/16/actions] Size=16 Context=Actions [icons/22/actions] Size=22 Context=Actions [icons/32/actions] Size=32 Context=Actions [icons/48/actions] Size=48 Context=Actions [icons/scalable/actions] MinSize=1 Size=128 MaxSize=256 Context=Actions Type=Scalable [icons/16/apps] Size=16 Context=Applications [icons/22/apps] Size=22 Context=Applications [icons/32/apps] Size=32 Context=Applications [icons/48/apps] Size=48 Context=Applications [icons/scalable/apps] MinSize=1 Size=128 MaxSize=256 Context=Applications Type=Scalable [icons/16/status] Size=16 Context=Status [icons/22/status] Size=22 Context=Status [icons/32/status] Size=32 Context=Status [icons/48/status] Size=48 Context=Status [icons/scalable/status] MinSize=1 Size=128 MaxSize=256 Context=Status Type=Scalable [icons/16/mimetypes] Size=16 Context=MimeTypes [icons/22/mimetypes] Size=22 Context=MimeTypes [icons/32/mimetypes] Size=32 Context=MimeTypes [icons/48/mimetypes] Size=48 Context=MimeTypes [icons/scalable/mimetypes] MinSize=1 Size=128 MaxSize=256 Context=MimeTypes Type=Scalable [icons/16/places] Size=16 Context=Places [icons/22/places] Size=22 Context=Places [icons/32/places] Size=32 Context=Places [icons/48/places] Size=48 Context=Places [icons/scalable/places] MinSize=1 Size=128 MaxSize=256 Context=Places Type=Scalable [icons/16/types] Size=16 Context=Types [icons/22/types] Size=22 Context=Types [icons/32/types] Size=32 Context=Types [icons/48/types] Size=48 Context=Types [icons/scalable/types] MinSize=1 Size=128 MaxSize=256 Context=Types Type=Scalable [icons/16/categories] Size=16 Context=Categories [icons/22/categories] Size=22 Context=Categories [icons/32/categories] Size=32 Context=Categories [icons/48/categories] Size=48 Context=Categories [icons/scalable/categories] MinSize=1 Size=128 MaxSize=256 Context=Categories Type=Scalable [icons/16/devices] Size=16 Context=Devices [icons/22/devices] Size=22 Context=Devices [icons/32/devices] Size=32 Context=Devices [icons/48/devices] Size=48 Context=Devices [icons/scalable/devices] MinSize=1 Size=128 MaxSize=256 Context=Devices Type=Scalable fusiondirectory-1.0.19/html/themes/legacy/lists.css000066400000000000000000000140341304016502700223770ustar00rootroot00000000000000 /******************************** * L i s t s * ********************************/ table.listingTable { border-top: 1px solid #AAA; border-bottom: 1px solid #AAA; border-left: 1px solid #AAA; border-spacing: 0; } table.listingTable thead tr { position: relative; height: auto; margin: 3px; padding: 1px; white-space: nowrap; } table.listingTable > thead > tr > th { box-sizing: content-box; background: #F0F0F0; font-weight: bold; border-bottom: 1px solid #AAA; padding: 3px; height: 22px; } html.ltr table.listingTable > thead > tr > th { border-right: 1px solid #AAA; } html.rtl table.listingTable > thead > tr > th { border-left: 1px solid #AAA; } table.listingTable > tbody { height: 100%; overflow-x: hidden; overflow-y: auto; } table.listingTable > tbody > tr { height: auto; white-space: nowrap; } table.listingTable > tbody > tr:nth-child(odd) { background-color: #FFF; } table.listingTable > tbody > tr:nth-child(even) { background-color: #F5F5F5; } table.listingTable > tbody > tr.entry-locked:nth-child(odd) { background-color: #FFC; } table.listingTable > tbody > tr.entry-locked:nth-child(even) { background-color: #F5F5CC; } html.ltr table.listingTable > tbody > tr td:last-child { padding-right: 5px; } html.rtl table.listingTable > tbody > tr td:last-child { padding-left: 5px; } table.listingTable > tbody > tr:hover { background-color: #DDD; } table.listingTable > tbody > tr.entry-locked:hover { background-color: #DDA; } table.listingTable > tbody > tr td { color: #000; margin: 3px; padding: 2px; word-wrap: break-word; white-space: normal; max-width: 500px; background: transparent; height: 22px; } html.ltr table.listingTable > tbody > tr td { border-right: 1px solid #AAA; } html.rtl table.listingTable > tbody > tr td { border-left: 1px solid #AAA; } table.listingTable > tbody > tr td > input[type=image], table.listingTable > tbody > tr td > img { padding: 2px; } /* List border */ div.nlistFooter { background-color: #E5E5E5; border-left: 1px solid silver; border-right: 1px solid silver; border-bottom: 1px solid silver; padding: 3px; width: auto; } /* Sortable Lists (only used in user main tab) */ div.sortableListContainer { border:1px solid #AAA; overflow:auto; margin-bottom:2px; } .sortableListContainer th { background-color:#D8D8D8; padding:3px; text-align:left; border-left:1px solid #AAA; } html.rtl .sortableListContainer th { text-align:right; border-right:1px solid #AAA; border-left:none; } .sortableListContainer td { padding:3px; text-align:left; border-left:1px solid #AAA; } html.rtl .sortableListContainer td { text-align:right; border-right:1px solid #AAA; border-left:none; } tr.sortableListItem { background-color:#FFF; cursor:move; color:#000; } tr.sortableListItemFill { background-color:#FFF; cursor:default; } tr.sortableListItemOdd { background-color:#F5F5F5; cursor:move; color:#000; } tr.sortableListItem:hover,tr.sortableListItemOdd:hover { background-color:#EEE; } tr.sortableListItemDisabled { cursor:default; color:#CCC; } table.sortableListTable { border:0; } tr.sortableListItemMarked { background-color:#FFD; } /* Tree List (used in baseSelector) */ ul.treeList,ul.treeList ul { list-style-type: none; background: url(../../images/lists/vline.png) repeat-y; margin: 0; padding: 0; } html.ltr ul.treeList ul { margin-left: 10px; } html.rtl ul.treeList ul { margin-right: 10px; } ul.treeList a:hover { background-color: #DDD; } a.treeList { padding: 2px; cursor: pointer; } a.treeListSelected { font-weight: bold; color: #1010AF; background-color: #DDD; padding: 2px; cursor: pointer; } a.treeList:hover,a.treeListSelected:hover { background-color: #DDD; padding: 2px; } ul.treeList a { padding: 2px; cursor: pointer; } ul.treeList li { margin: 0; padding: 0 12px; line-height: 20px; background: url(../../images/lists/node.png) no-repeat; } li.treeListSelected a { font-weight: bold; color: #1010AF; padding: 2px; } ul.treeList li.last, ul.treeList li:last-child { background: #fff url(../../images/lists/lastnode.png) no-repeat; } div.treeList { background-color: #FFF; border: 1px solid #AAA; padding: 5px; position: absolute; z-index: 500; overflow-y: auto; float: left; } html.rtl div.treeList { float: right; } table.listing-container { width: 100%; height: 100%; vertical-align: top; text-align: left; border: none; border-spacing: 2px; } html.rtl table.listing-container { text-align: right; } table.listing-container > tbody > tr > td.list { height: 100%; vertical-align: top; } table.listing-container > tbody > tr > td.filter { max-width: 300px; vertical-align: top; } table.listing-container > tbody > tr > td.filter .contentboxb { min-width: 230px; } /* On small screens */ @media (max-width: 640px) { table.listingTable { table-layout: auto; } table.listingTable > tbody > tr > td, table.listingTable > thead > tr > th { width: auto !important; min-width: 0 !important; } html.ltr table.listingTable > tbody > tr td:last-child { padding-right: 1px; } html.rtl table.listingTable > tbody > tr td:last-child { padding-left: 1px; } table.listing-container { border: none; border-spacing: 0; border-collapse: collapse; } table.listing-container > tbody > tr > td.list, table.listing-container > tbody > tr > td.filter { width: 100%; min-width: 0; max-width: none; height: auto; display: block; padding: 0; } table.listing-container > tbody > tr > td.list > div, table.listing-container > tbody > tr > td.filter > div { border: none; } table.listing-container > tbody > tr > td.list:after, table.listing-container > tbody > tr > td.filter:after { content: " "; display: block; } table.listing-container > tbody > tr > td.filter input[type=submit] { border: 1px solid #DDD; width: 100% !important; padding: 10px; display: inline-block; font-weight: bold; } html.ltr table.listing-container > tbody > tr > td.filter input[type=submit]:active { position: relative; top: 1px; left: 1px; } html.rtl table.listing-container > tbody > tr > td.filter input[type=submit]:active { position: relative; top: 1px; right: 1px; } } fusiondirectory-1.0.19/html/themes/legacy/login.css000066400000000000000000000027331304016502700223540ustar00rootroot00000000000000/* Login screen */ p.gosaLoginWarning { text-align: center; color: red; font-weight: bold; font-size: 12px; } html, body { min-height: 100%; } div#window-container { text-align: center; box-shadow: 0 0 2px black; width: 100%; bottom: 0; top: 52px; position: absolute; } div#window-div { min-width: 50%; margin-top: 100px; border: 1px solid #AAAAAA; background-color: white; display: inline-block; border-radius: 10px; box-shadow: 0 0 3px black inset; } div#window-titlebar { text-align: center; border-bottom: 1px solid #AAAAAA; padding: 8px; background-color: #DBE6C6; border-radius: 10px 10px 0 0; } div#window-titlebar > p { margin: 0; padding: 0; font-size: 24px; font-weight: bold; } div#window-content > div { padding: 10px; } div#window-footer { padding: 0; } div#window-footer > div { display: inline-block; width: 47%; padding: 1%; } div#window-footer > div:nth-child(1) { color: red; font-weight: bold; } html.ltr div#window-footer > div:nth-child(1) { text-align: left; } html.rtl div#window-footer > div:nth-child(1) { text-align: right; } span.warning, p.warning { color: red; } /* On small screens */ @media (max-width: 640px) { div#window-div { min-width: 70%; margin-top: 10px; } div#window-footer > div { display: block; width: auto; padding: 5px; text-align: center !important; } div#window-footer.plugbottom > div:nth-child(2) > input[type=submit] { width: 100% !important; } p.gosaLoginWarning { margin-top: 0; margin-bottom: 0; } } fusiondirectory-1.0.19/html/themes/legacy/menu.css000066400000000000000000000062251304016502700222100ustar00rootroot00000000000000#menucell { border: none; width: 140px; background-color: white; vertical-align: top; } /* Side menu */ ul.menu, ul.menu ul { margin: 0; padding: 0; list-style-type: none; } ul.menu li > a { display: block; } ul.menu > li { border: 0; margin-bottom: 5px; padding-bottom: 3px; border-radius: 5px; box-shadow: 0px 0px 3px black inset; } ul.menu > li > a { font-family: arial,helvetica,sans-serif; font-size: 12px; font-weight: bold; color: #00008F; text-decoration: none; background-color: #dbe6c6; text-align: center; vertical-align: middle; margin-bottom: 3px; padding-bottom: 5px; padding-top: 5px; border-radius: 5px 5px 0 0; border: 1px solid #AAA; } ul.menu ul > li > a { color: #00008F; text-decoration: none; font-weight: normal; font-size: 12px; vertical-align: middle; margin: 2px 0; padding-top: 2px; padding-bottom: 2px; } html.ltr ul.menu ul > li > a { text-align: left; padding-left: 15px; } html.rtl ul.menu ul > li > a { text-align: right; padding-right: 15px; } .menuitem.menucurrent { background-color: #E5F5D5; box-shadow: 0px 0px 2px black inset; } .menuitem:hover { background-color: #F0F0F0; box-shadow: 0px 0px 2px black inset; } .menuitem a:link, .menuitem a:visited { text-decoration: none; color: #00008f; } .menuitem { transition: box-shadow .5s ease, background .5s ease; } .menuitem a:hover { text-decoration: none; } /* Main menu */ .iconmenu-section { border-top: 1px solid #AAAAAA; clear: both; } .iconmenu-section + br { clear: both; } .iconmenu-section:first-child { border-top: none; } .iconmenu .imgcontainer { height: 48px; width: 48px; display: flex; align-items: center; justify-content: center; } .iconmenu img { border: none; vertical-align: middle; flex: none; max-height: 48px; max-width: 48px; } h1.menuheader { margin: 0; padding: 10px; display: block; border-bottom: 1px solid #AAAAAA; background-color: #DBE6C6; } html.ltr h1.menuheader { border-right: 1px solid #AAAAAA; border-radius: 0 0 5px 0; float: left; } html.rtl h1.menuheader { border-left: 1px solid #AAAAAA; border-radius: 0 0 0 5px; float: right; } .iconmenu { cursor: pointer; display: flex; align-items: center; width: 18%; min-width: 130px; margin: .5%; padding: .5%; border-radius: 5px; transition: box-shadow .5s ease, background .5s ease; } html.ltr .iconmenu { float: left; text-align: left; } html.rtl .iconmenu { float: right; text-align: right; } .iconmenu:hover { box-shadow: 0px 0px 4px black; } .iconmenu:nth-child(2) { clear: left; } html.rtl .iconmenu:nth-child(2) { clear: right; } .iconmenu > a:link, .iconmenu > a:visited { text-decoration: none; color: #00008f; } .iconmenu > a:hover { text-decoration: none; } div.iconmenu:hover { background-color: #F0F0F0; } /* On small screens */ @media (max-width: 640px) { html.ltr .iconmenu, html.rtl .iconmenu { text-align: center; margin: 2px; padding: 2px; min-width: 70px; min-height: 80px; display: inline-block; } .iconmenu .imgcontainer { margin: auto; display: block; float: none; } h1.menuheader { display: block; padding: 5px; text-align: center; } html.ltr h1.menuheader { border-right: none; float: none; } html.rtl h1.menuheader { border-left: none; float: none; } } fusiondirectory-1.0.19/html/themes/legacy/plugin.css000066400000000000000000000117531304016502700225440ustar00rootroot00000000000000.plugin-window { vertical-align: top; text-align: justify; background-color: white; margin-top: 0; margin-left: 0; margin-right: 0; width: auto; border: 1px solid #AAA; padding: 0; } div.pluginfo { border-bottom: 1px solid #AAA; width: 100%; padding-top: 2px; padding-bottom: 2px; margin-bottom: 0; text-align: right; vertical-align: middle; background-color: #dbe6c6; font-family: arial,helvetica,sans-serif; font-size: 11px; } html.rtl div.pluginfo { text-align: left; } .plugbottom { border-style: solid; border-color: #a0a0a0; width: 100%; border-top-width: 1px; border-bottom-width: 0; border-left-width: 0; border-right-width: 0; padding-top: 10px; padding-bottom: 0; text-align: right; font-family: arial,helvetica,sans-serif; clear: both; } p.plugbottom { position: fixed; bottom: 0; right: 10px; margin: 0; box-shadow: 0px 0px 2px black; border-radius: 5px 5px 0 0; width: auto; padding-left: 10px; padding-right: 10px; padding-bottom: 5px; padding-top: 5px; background: #BC9; } html.rtl .plugbottom { text-align: left; } /* Simple Plugin specific things */ .plugin-sections:after { content: ""; display: block; clear: both; } .plugin-section { display: block; float: left; clear: left; width: 49%; vertical-align: top; border: 1px solid #B0B0B0; padding: 0; margin-top: 0.5%; margin-left: 0.5%; margin-bottom: 0.5%; margin-right: 0; position: relative; } html.rtl .plugin-section { float: right; clear: right; margin-left: 0; margin-right: 0.5%; } html.ltr .plugin-section:nth-child(even) { float: right; clear: right; margin-left: 0; margin-right: 0.5%; } html.rtl .plugin-section:nth-child(even) { float: left; clear: left; margin-left: 0.5%; margin-right: 0; } div.plugin-section { padding-top: 25px; } .plugin-section > div { padding: 5px; } fieldset.plugin-section > div { padding-top: 30px; } fieldset.plugin-section legend { float: left; padding: 0; margin: 0; } html.rtl fieldset.plugin-section legend { float: right; } fieldset.plugin-section legend span, .plugin-section > span.legend { font-weight: bold; background-color: #DBE6C6; border: 1px solid #B0B0B0; width: 100%; padding-top: 5px; padding-bottom: 5px; text-align: center; display: block; } html.ltr fieldset.plugin-section legend span, html.ltr .plugin-section > span.legend { margin-left: -1px; } html.rtl fieldset.plugin-section legend span, html.rtl .plugin-section > span.legend { margin-right: -1px; } fieldset.plugin-section legend span { position: absolute; top: 0; margin-top: -1px; } html.ltr fieldset.plugin-section legend span { left: 0; } html.rtl fieldset.plugin-section legend span { right: 0; } .plugin-section > span.legend { margin-top: -26px; } fieldset.plugin-section legend img, .plugin-section span.legend img { vertical-align: middle; } html.ltr fieldset.plugin-section legend img, html.ltr .plugin-section span.legend img { margin-right: 3px; } html.rtl fieldset.plugin-section legend img, html.rtl .plugin-section span.legend img { margin-left: 3px; } fieldset.plugin-section select[multiple], fieldset.plugin-section textarea { width: 100%; } .plugin-section > div > table { min-width: 80%; } html.ltr .plugin-section.fullwidth, html.rtl .plugin-section.fullwidth { float: none; clear: both; width: auto; margin-top: 0.5%; margin-left: 0.5%; margin-bottom: 0.5%; margin-right: 0.5%; } html.ltr .plugin-section.alone, html.rtl .plugin-section.alone { float: none; clear: both; } html.ltr .plugin-section.invisible, html.rtl .plugin-section.invisible { display: none; } fieldset.plugin-section.critical legend span, .plugin-section.critical > span.legend { font-weight: bold; background-color: #BCF; } fieldset.plugin-section.critical legend span:after, .plugin-section.critical > span.legend:after { content: " (editing this can break your LDAP)"; color: #D00; } .plugin-section.critical > div { background-color: #DFEFFF; } /* On small screens */ @media (max-width: 640px) { .plugin-window { margin: 0; border: none; width: 100%; } .plugin-section > div > table { width: 100%; } html.ltr .plugin-section, html.ltr .plugin-section:nth-child(even), html.ltr .plugin-section.fullwidth, html.rtl .plugin-section, html.rtl .plugin-section:nth-child(even), html.rtl .plugin-section.fullwidth { display: block; float: none; clear: both; width: 100%; border-top: none; margin: 0; } .plugbottom { text-align: center; width: 100%; margin: 0; padding-top: 5px; padding-bottom: 4px; padding-left: 1px; padding-right: 1px; border: none; } p.plugbottom { left: 5px; right: 5px; } .plugbottom input[type=submit], .plugbottom input[type=button] { border: 1px solid #DDD; width: 30% !important; padding: 10px; display: inline-block; font-weight: bold; } .plugbottom input[type=submit]:active, .plugbottom input[type=button]:active { position: relative; top: 1px; } html.ltr .plugbottom input[type=submit]:active, html.ltr .plugbottom input[type=button]:active { left: 1px; } html.rtl .plugbottom input[type=submit]:active, html.rtl .plugbottom input[type=button]:active { right: 1px; } } fusiondirectory-1.0.19/html/themes/legacy/setup.css000066400000000000000000000061701304016502700224030ustar00rootroot00000000000000/********* * Setup *********/ html.ltr body.setup div#header-left .plugtop { margin-left: 80px; } html.rtl body.setup div#header-left .plugtop { margin-right: 80px; } body.setup .plugin-window { border-radius: 5px; } /* default.*/ div.default { padding: 2px 10px; vertical-align: middle; } #menucell.setup-navigation { width: 200px; } /* The box used for each setup step */ #menucell.setup-navigation li.menuitem { text-decoration: none; padding-top: 8px; padding-bottom: 8px; margin-top: 5px; margin-bottom: 5px; } #menucell.setup-navigation li.menuitem > a { margin: 0; } /* An enabled setup step will use this style in navigation*/ #menucell.setup-navigation li.menuitem.menucurrent a.navigation-title { cursor: default; } /* Disabled setup steps */ #menucell.setup-navigation li.menuitem.disabled a.navigation-title { cursor: default; color: #AAA; } /* Disabled setup steps */ #menucell.setup-navigation li.menuitem a.navigation-title { font-size: 1.2em; font-weight: bold; text-decoration: none; cursor: pointer; padding-top: 3px; padding-bottom: 3px; } /* The style for the info of an active setup */ #menucell.setup-navigation li.menuitem a.navigation-info { font-size: 1em; color: #000; margin: 0; cursor: default; } html.ltr #menucell.setup-navigation li.menuitem a.navigation-info { padding: 4px 4px 3px 15px; } html.rtl #menucell.setup-navigation li.menuitem a.navigation-info { padding: 4px 15px 3px 4px; } .setup-language select#lang_selected { width: 100%; } /* Setup step 2 styles */ /* used to hide display info div */ div.solution-visible { display: block; width: 100%; text-align: left; } html.rtl div.solution-visible { text-align: right; } /* Container for name and status */ div.step2-entry-container { padding: 3px; width: 99%; cursor: default; } /* Container for name and status, when status is failed */ div.step2-entry-container-info { padding: 3px; border: 1px solid #AAA; width: 99%; cursor: default; } /* Text shown for each entry */ div.step2-entry-name { float: left; padding-bottom: 4px; vertical-align: middle; } html.rtl div.step2-entry-name { float: right; } /* Status container */ div.step2-entry-status { float: none; text-align: right; padding-bottom: 4px; vertical-align: middle; } html.rtl div.step2-entry-status { text-align: left; } /* Status failed */ div.step2-failed { color: red; padding-bottom: 4px; } /* Status failed but not necessary for setup */ div.step2-warning { color: orange; padding-bottom: 4px; } /* Status successful */ div.step2-successful { color: green; } /* Text used in info div. */ div.step2-failed-text { background-repeat: no-repeat; } html.ltr div.step2-failed-text { padding-left: 25px; } html.rtl div.step2-failed-text { padding-right: 25px; } /* Text used in info div. On warnings */ div.step2-warning-text { background-repeat: no-repeat; } html.ltr div.step2-warning-text { padding-left: 25px; } html.rtl div.step2-warning-text { padding-right: 25px; } /* On small screens */ @media (max-width: 640px) { body.setup a.plugtop img { height: 32px; } html.ltr body.setup div#header-left .plugtop { margin-left: 0; } html.rtl body.setup div#header-left .plugtop { margin-right: 0; } } fusiondirectory-1.0.19/html/themes/legacy/style.css000066400000000000000000000265761304016502700224170ustar00rootroot00000000000000body { margin: 0; background-color: #FFF; color: #00008F; font-family: arial,helvetica,sans-serif; font-size: 12px; } h1 { font-size: 14px; color: #00378a; } h2,h3,h4,h5,h6 { font-size: 13px; color: #00378a; } td,p,b,th { font-size: 12px; } img { border: none; } a:link { text-decoration: none; color: #00008F; } a:visited { text-decoration: none; color: #00008f; } td.listfooter { background: #E5E5E5; border-top: 1px solid silver; padding: 3px; height: 16px; } td.scrollhead { vertical-align: top; padding: 0; } td.scrollbody { vertical-align: top; padding: 0; } div.scrollbody { background-color: #FFF; overflow: auto; text-align: left; } html.rtl div.scrollbody { text-align: right; } /* -------------- DEPRECATED ----------------- */ td.list1 { background:transparent; border-right:1px solid silver; padding:3px; height:22px; } td.list1nohighlight { background:#FFF; border-right:1px solid silver; padding:3px; height:22px; } td.list1nohighlightdisabled { background-color:#DFDBD7; border-right:1px solid silver; padding:3px; height:22px; } td.list1#fill { height:100%; } td.list1#icon { width:0; text-align:center; } td.list1#entry { } td.list1#info { width:200px; } td.list1#property { width:50px; } td.list1#properties7 { width:136px; } td.list1#properties8 { width:152px; } td.list1#properties9 { width:168px; } td.list1#properties10 { width:186px; } td.list1#actions { width:52px; border-right:0; text-align:right; } /* -------------------------------------------- */ /* Title bar */ a.maintitlebar,div.maintitlebar { font-family: arial,helvetica,sans-serif; text-decoration: none; /*color:#FFFFFF;*/ font-size: 12px; text-align: center; vertical-align: middle; cursor: pointer; display: inline-block; padding: 2px; border-radius: 8px; transition: box-shadow .5s ease, background .5s ease; } html.ltr a.maintitlebar,html.ltr div.maintitlebar { padding-right: 5px; } html.rtl a.maintitlebar,html.rtl div.maintitlebar { padding-left: 5px; } a.maintitlebar:hover { text-decoration: none; background-color: #d7e6b4; cursor: pointer; box-shadow: 0px 0px 2px black; } td.phonelist:hover { background-color: #d2d2d2; } td.phonelist { border-right: 1px solid #B0B0B0; } div.copynotice { border-style: solid; border-color: #AAA; width: 100%; border-top-width: 1px; border-bottom-width: 0; border-left-width: 0; border-right-width: 0; padding-top: 3px; padding-bottom: 0; text-align: right; font-family: arial,helvetica,sans-serif; font-size: 10px; } html.rtl div.copynotice { text-align: left; } hr { width: 100%; border: none; background-color: #AAA; height: 1px; } .must { color: red; font-family: arial,helvetica,sans-serif; } img.center { text-align: center; vertical-align: middle; } input.center { text-align: left; vertical-align: middle; } html.rtl input.center { text-align: right; } select.center { text-align: left; vertical-align: middle; } html.rtl select.center { text-align: right; } a.center { text-align: left; vertical-align: middle; } html.rtl a.center { text-align: right; } /********************** Template migration *********************/ form#mainform { margin: 0; } table.framework { height: auto; width: 100%; border: 0; border-spacing: 5px; padding: 0; margin-top: 0; vertical-align: top; box-shadow: 0px 0px 2px black; } html.ltr table.framework { margin-left: 0; } html.rtl table.framework { margin-right: 0; } table.framework td#maincell { background-color: white; width: auto; vertical-align: top; padding-bottom: 35px; } /* cellpadding="0" */ table.framework > tbody > tr > td { padding: 0; } table.maintab { width: 100%; height: 100%; border: 0; border-spacing: 0; padding: 0; margin: 0; background-color: #507AAA; vertical-align: top; } div.contentboxh { background-color: #F0F0F0; border: 1px solid #AAA; border-bottom: none; height: 26px; vertical-align: middle; width: auto; } div.contentboxh > p { margin: 2px; font-family: arial,helvetica,sans-serif; font-size: 16px; font-weight: bold; vertical-align: middle; } div.contentboxb { border: 1px solid #b0b0b0; border-top-width: 0; vertical-align: middle; width: auto; background: white; padding: 5px; } .filter div.contentboxb { padding: 0; } div.contentboxb > div { display: inline-block; margin: 1px; } .filter div.contentboxb > div { width: 100%; background: #EEEEEE; border-top: 1px solid #B0B0B0; text-align: right; margin: 0; padding: 3px; box-sizing: border-box; } .filter div.contentboxb > label img { vertical-align: middle; padding: 3px; } .filter div.contentboxb > hr { margin-bottom: 3px; } div.contentboxb > img, div.contentboxb > input { display: inline-block; margin: 3px; } p.contentboxb { padding-bottom: 0; margin: 0; border: 4px solid #f8f8f8; vertical-align: middle; } a.alphaselect:hover { text-decoration: none; background-color: #a0a0a0; color: #FFF; } table.check { background-color: #e1e1f1; color: #000; border: 1px solid #AAA; width: 95%; } html.ltr table.check { margin-left: 20px; } html.rtl table.check { margin-right: 20px; } html.ltr td.check { border-right: 1px solid #AAA; } html.rtl td.check { border-left: 1px solid #AAA; } option.select { background-repeat: no-repeat; background-position: 0 top; border: 0; padding-bottom: 1px; height: 18px; } html.ltr option.select { padding-left: 20px; } html.rtl option.select { padding-right: 20px; } td.tbhead { border-bottom: 1px solid #B0B0B0; } html.ltr td.tbhead { border-right: 1px solid #B0B0B0; } html.rtl td.tbhead { border-left: 1px solid #B0B0B0; } td.tbrhead { border-bottom: 1px solid #B0B0B0; } .item { text-align: left; white-space: nowrap; font-family: "bitstream vera sans", "luxi sans", verdana, geneva, arial, helvetica, sans-serif; font-size: 12px; padding-top: 2px; } html.rtl .item { text-align: right; } .item div { position: relative; display: block; text-decoration: none; } .item :hover { color: #FFF; background-color: #4b6983; text-decoration: none; } .separator { background-color: red; border-top: 1px solid #c6c6bf; border-bottom: 1px solid #FFF; margin: 2px 5px; /* top right bottom left */ height: 0; font-size: 1px; line-height: 0; } div.autocomplete { position: absolute; background-color: #FFF; border: 1px solid #AAA; margin: 0; padding: 0; z-index: 600; overflow: hidden; word-wrap: break-word; } div.autocomplete ul { list-style-type: none; margin: 0; padding: 0; } div.autocomplete ul li { list-style-type: none; display: block; margin: 0; padding: 2px; cursor: pointer; } html.ltr div.autocomplete ul li { padding-left: 4px; } html.rtl div.autocomplete ul li { padding-right: 4px; } div.autocomplete li:hover { background-color: #F0F0F0; } div.autocomplete ul li.selected { background-color: #F0F0F0; } #pulldown { background: #FFF; height: 23px; border-top: 1px #D0D0D0 solid; border-bottom: 1px gray solid; } html.ltr #pulldown { border-left: 1px #D0D0D0 solid; border-right: 1px gray solid; } html.rtl #pulldown { border-right: 1px #D0D0D0 solid; border-left: 1px gray solid; } #pulldown ul { display: block; margin: 0; padding: 0; line-height: 1em; list-style: none; z-index: 90; } #pulldown ul li { margin: 0 3px 0 0; padding: 0; font-size: 12px; line-height: 1em; list-style-type: none; } html.rtl #pulldown ul li { margin: 0 0 0 3px; } #pulldown ul li a { float: left; display: block; width: auto; font-weight: normal; background: transparent; text-decoration: none; margin: 0; padding: 5px; } html.rtl #pulldown ul li a { float: right; } #pulldown ul li a:hover { text-decoration: none; } #pulldown ul li.sep { color: #AAA; padding: .8em 0 .5em; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ #pulldown ul li a { float: none; } /* End IE5-Mac hack */ #pulldown ul ul { position: absolute; top: 0; left: 0; visibility: hidden; border-top: 1px #D0D0D0 solid; border-left: 1px #D0D0D0 solid; border-bottom: 1px gray solid; border-right: 1px gray solid; background: #FFF; } #pulldown ul ul li { border-bottom: 1px solid #fff; float: none; margin: 0; padding: 0; width: 200px; } #pulldown ul ul li a { padding: 5px 9px 5px 5px; } #pulldown ul ul li a:hover { font-weight: normal; background-color: #418DD4; background-image: none; } span.informal { color: #444; font-style: italic; } span.mark { color: #B22; } #debug-handling { border-color: #ddd; } .error, .notice, .success, .info { border: 2px solid #ddd; margin: .2em; padding: .3em; } .error { background: #fbe3e4; color: #8a1f11; border-color: #fbc2c4; } .error h1,.error h2,.error h3,.error h4,.error h5,.error h6 { color: #8a3700; } .notice { background: #fff6bf; color: #514721; border-color: #ffd324; } .notice h1,.notice h2,.notice h3,.notice h4,.notice h5,.notice h6 { color: #412701; } .success { background: #e6efc2; color: #264409; border-color: #c6d880; } .success h1,.success h2,.success h3,.success h4,.success h5,.success h6 { color: #378a00; } .info { background: #d5edf8; color: #205791; border-color: #92cae4; } .info h1,.info h2,.info h3,.info h4,.info h5,.info h6 { color: #00378a; } /* Header */ html.ltr div#header-left { float: left; } html.rtl div#header-left { float: right; } .plugtop { border: none; border-radius: 10px; box-shadow: 0px 0px 4px black inset; padding: 10px; margin: 0; text-align: center; vertical-align: middle; background-color: #dbe6c6; font-family: arial,helvetica,sans-serif; font-size: 18px; } .plugtop img { height: 32px; } html.ltr .plugtop img { margin-right: 4px; } html.rtl .plugtop img { margin-left: 4px; } html.ltr div#header-left .plugtop { margin-left: 35px; } html.rtl div#header-left .plugtop { margin-right: 35px; } div#header-left img { vertical-align: middle; } html.ltr div#header-left img#fd-logo { padding-left: 2px; padding-right: 25px; } html.rtl div#header-left img#fd-logo { padding-left: 25px; padding-right: 2px; } html.ltr div#header-left .logout { margin-left: 35px; } html.rtl div#header-left .logout { margin-right: 35px; } div#header-right { padding-top: 8px; height: 38px; color: black; } html.ltr div#header-right { text-align: right; } html.rtl div#header-right { text-align: left; } div#header-right div.version { font-size: 20px; } /* Header col */ div.setup-header { background-color: #bbcc99; padding: 4px 5px 2px; color: #000; } /* On small screens */ @media (max-width: 640px) { div.setup-header { padding: 2px; height: 36px; } a.maintitlebar { width: 36px; height: 36px; overflow: hidden; display: inline-block; } html.ltr a.maintitlebar { float: left; margin: 0; padding: 0; } html.rtl a.maintitlebar { float: right; margin: 0; } a.maintitlebar img { padding: 6px; width: 22px; height: 22px; } html.ltr div#header-left .logout { margin-left: 0; float: right; } html.rtl div#header-left .logout { margin-right: 0; float: left; } html.ltr div#header-left, html.rtl div#header-left { height: 40px; width: 100%; float: none; } html.ltr div#header-right, html.rtl div#header-right { padding-top: 8px; height: 30px; margin-top: -40px; width: 100%; float: none; } div#header-right a { background: #bbcc99; } .optional { display: none !important; } div#header-left .plugtop { display: inline-block; hyphens: none; overflow: hidden; white-space: nowrap; padding-top: 2px; padding-bottom: 2px; font-size: 1em; } html.ltr div#header-left .plugtop { margin: 0; padding-left: 6px; } html.rtl div#header-left .plugtop { margin: 0; padding-right: 6px; } div.logout-label { display: inline-block; vertical-align: middle; } table.framework { margin: 0; border: none; width: 100%; border-spacing: 0; } table.framework #maincell { padding-bottom: 55px; } } fusiondirectory-1.0.19/html/themes/legacy/svg/000077500000000000000000000000001304016502700213245ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/AUTHORS000066400000000000000000000006701304016502700223770ustar00rootroot00000000000000Ulisse Perusin Steven Garrity Lapo Calamandrei Ryan Collier Rodney Dawes Andreas Nilsson Tuomas Kuosmanen Garrett LeSage Jakub Steiner From original Tango icon theme: The icons in this repository are herefore released into the Public Domain. fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/000077500000000000000000000000001304016502700230725ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/000077500000000000000000000000001304016502700245325ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/document-new.svg000066400000000000000000000417761304016502700276770ustar00rootroot00000000000000 image/svg+xml New Document Jakub Steiner http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/document-open.svg000066400000000000000000000741251304016502700300410ustar00rootroot00000000000000 image/svg+xml Folder Icon Accept 2005-01-31 Jakub Steiner http://jimmac.musichall.cz Active state - when files are being dragged to. Novell, Inc. fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/document-save.svg000066400000000000000000000723061304016502700300350ustar00rootroot00000000000000 image/svg+xml Save Jakub Steiner hdd hard drive save io store http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/edit-copy.svg000066400000000000000000000363531304016502700271620ustar00rootroot00000000000000 image/svg+xml Edit Copy 2005-10-15 Andreas Nilsson edit copy Jakub Steiner fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/edit-cut.svg000066400000000000000000000550131304016502700267750ustar00rootroot00000000000000 image/svg+xml Edit Cut Garrett Le Sage edit cut clipboard Jakub Steiner fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/edit-delete.svg000066400000000000000000001532161304016502700274500ustar00rootroot00000000000000 image/svg+xml Delete Jakub Steiner edit delete shredder Novell, Inc. fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/edit-paste.svg000066400000000000000000000563131304016502700273220ustar00rootroot00000000000000 image/svg+xml Edit Paste 2005-10-10 Andreas Nilsson edit paste Jakub Steiner fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-down.svg000066400000000000000000000202141304016502700266240ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Down go lower down arrow pointer > Andreas Nilsson fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-first.svg000066400000000000000000000212101304016502700270010ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Previous go previous left arrow pointer < Andreas Nilsson fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-home.svg000066400000000000000000000516751304016502700266240ustar00rootroot00000000000000 image/svg+xmlGo HomeJakub Steinerhttp://jimmac.musichall.czhomereturngodefaultuserdirectoryTuomas Kuosmanen fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-jump.svg000066400000000000000000000176621304016502700266450ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Jump go jump seek arrow pointer fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-next.svg000066400000000000000000000173401304016502700266410ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Next go next right arrow pointer > fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-previous.svg000066400000000000000000000674231304016502700275460ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Previous go previous left arrow pointer < fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/go-up.svg000066400000000000000000000200321304016502700262770ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Go Up go higher up arrow pointer > Andreas Nilsson fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/list-add.svg000066400000000000000000000347301304016502700267630ustar00rootroot00000000000000 image/svg+xml Add 2006-01-04 Andreas Nilsson http://tango-project.org add plus fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/list-remove.svg000066400000000000000000000327361304016502700275340ustar00rootroot00000000000000 image/svg+xml Remove 2006-01-04 Andreas Nilsson http://tango-project.org remove delete fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/system-log-out.svg000066400000000000000000000452671304016502700302010ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz System Log Out log out logout exit fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/system-search.svg000066400000000000000000000366051304016502700300540ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/system-shutdown.svg000066400000000000000000000412501304016502700304520ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz System Shutdown poweroff shutdown halt system fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/actions/view-refresh.svg000066400000000000000000000407441304016502700276720ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz View Refresh reload refresh view fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/000077500000000000000000000000001304016502700240355ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/accessories-text-editor.svg000066400000000000000000000670421304016502700313400ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Text Editor fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/office-calendar.svg000066400000000000000000000432301304016502700275620ustar00rootroot00000000000000 image/svg+xml Calendar Jakub Steiner http://jimmac.musichall.cz calendar date time cal fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/preferences-desktop-locale.svg000066400000000000000000000745041304016502700317750ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Locale Preferences locale preferences fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/system-installer.svg000066400000000000000000000564161304016502700301110ustar00rootroot00000000000000 image/svg+xml System - Installer jakub Steiner http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/system-software-update.svg000066400000000000000000002023771304016502700312250ustar00rootroot00000000000000 image/svg+xml Software Update Jakub Steiner http://jimmac.musichall.cz network update software synchronize fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/system-users.svg000066400000000000000000000670551304016502700272560ustar00rootroot00000000000000 image/svg+xml People Jakub Steiner http://jimmac.musichall.cz users people fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/utilities-system-monitor.svg000066400000000000000000000475751304016502700316220ustar00rootroot00000000000000 image/svg+xml System Monitor 2005-10-10 Andreas Nilsson system monitor performance Jakub Steiner fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/apps/utilities-terminal.svg000066400000000000000000000514321304016502700304070ustar00rootroot00000000000000 image/svg+xml Terminal 2005-10-15 Andreas Nilsson terminal emulator term command line Jakub Steiner fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/categories/000077500000000000000000000000001304016502700252175ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/categories/applications-development.svg000066400000000000000000000363301304016502700327530ustar00rootroot00000000000000 image/svg+xml Henrik Andersen Developer Tools developer dev tool make compile build code hacker Jakub Steiner http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/categories/applications-internet.svg000066400000000000000000000755071304016502700322720ustar00rootroot00000000000000 image/svg+xml Internet Category Jakub Steiner Tuomas Kuosmanen http://jimmac.musichall.cz internet tools applications category fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/categories/applications-other.svg000066400000000000000000000361001304016502700315450ustar00rootroot00000000000000 image/svg+xml Other applications Jakub Steiner http://jimmac.musichall.cz/ category applications other unspecified fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/categories/preferences-desktop.svg000066400000000000000000000733021304016502700317150ustar00rootroot00000000000000 image/svg+xml Jakub Steiner http://jimmac.musichall.cz Desktop Preferences preferences system category fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/devices/000077500000000000000000000000001304016502700245145ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/devices/computer.svg000066400000000000000000001100511304016502700270710ustar00rootroot00000000000000 image/svg+xml Computer 2005-03-08 Jakub Steiner workstation computer node client http://jimmac.musichall.cz/ fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/devices/media-optical.svg000066400000000000000000000706031304016502700277530ustar00rootroot00000000000000 image/svg+xml Media CD-ROM Jakub Steiner http://jimmac.musichall.cz cdrom media removable cd audio fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/devices/printer.svg000066400000000000000000000535231304016502700267300ustar00rootroot00000000000000 image/svg+xml Printer Jakub Steiner http://jimmac.musichall.cz printer local laser bubblejet inkjet print output cups lpd fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/000077500000000000000000000000001304016502700251065ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/application-certificate.svg000066400000000000000000000356741304016502700324310ustar00rootroot00000000000000 image/svg+xml CertificateJakub Steinercertificate fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/application-x-executable.svg000066400000000000000000000231261304016502700325220ustar00rootroot00000000000000 image/svg+xml Executable Jakub Steiner http://jimmac.musichall.cz/ executable program binary bin script shell fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/package-x-generic.svg000066400000000000000000000513121304016502700311030ustar00rootroot00000000000000 image/svg+xml Package Jakub Steiner http://jimmac.musichall.cz/ package archive tarball tar bzip gzip zip arj tar jar fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/x-office-document.svg000066400000000000000000000610161304016502700311470ustar00rootroot00000000000000 image/svg+xml Office Document rich text document pdf openoffice word rtf Jakub Steiner http://jimmac.musichall.cz fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/mimetypes/x-office-spreadsheet.svg000066400000000000000000000676451304016502700316560ustar00rootroot00000000000000 image/svg+xml Spreadsheet Jakub Steiner http://jimmac.musichall.cz spreadheet document office fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/places/000077500000000000000000000000001304016502700243415ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/places/folder.svg000066400000000000000000000545251304016502700263500ustar00rootroot00000000000000 image/svg+xml Folder Icon Jakub Steiner http://jimmac.musichall.cz folder directory fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/places/network-server.svg000066400000000000000000001216011304016502700300600ustar00rootroot00000000000000 image/svg+xml Server Jakub Steiner http://jimmac.musichall.cz server daemon comupetr lan service provider Garrett LeSage fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/status/000077500000000000000000000000001304016502700244155ustar00rootroot00000000000000fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/status/dialog-error.svg000066400000000000000000000256051304016502700275340ustar00rootroot00000000000000 image/svg+xml Rodney Dawes Jakub Steiner, Garrett LeSage Dialog Error fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/status/dialog-information.svg000066400000000000000000001315341304016502700307270ustar00rootroot00000000000000 image/svg+xml Info Jakub Steiner dialog info http://jimmac.musichall.cz Garrett LeSage fusiondirectory-1.0.19/html/themes/legacy/svg/scalable/status/dialog-warning.svg000066400000000000000000000335251304016502700300500ustar00rootroot00000000000000 image/svg+xml Dialog Warning 2005-10-14 Andreas Nilsson Jakub Steiner, Garrett LeSage dialog warning fusiondirectory-1.0.19/html/themes/legacy/tabs.css000066400000000000000000000044461304016502700222000ustar00rootroot00000000000000table.tabs-header { width: 100%; border: none; border-spacing: 0; font-family: arial,helvetica,sans-serif; text-decoration: none; color: #00008F; font-size: 13px; font-weight: bold; } /* tabs header */ table.tabs-header > tbody > tr > td { padding: 0; vertical-align: bottom; white-space: nowrap; width: 1px; } table.tabs-header > tbody > tr > td:last-child { width: auto; } table.tabs-header > tbody > tr > td > div > a { display: inline-block; border-radius: 5px 5px 0 0; text-align: center; background-color: #D0D0D0; border: 1px solid #999; margin-top: 5px; padding-top: 1px; padding-left: 8px; padding-right: 8px; padding-bottom: 5px; transition: margin .4s ease, padding .4s ease; } table.tabs-header > tbody > tr > td > div > a:hover { margin-top: 0; padding-top: 2px; padding-bottom: 7px; } table.tabs-header > tbody > tr > td > div.tab-active > a { background-color: #f8f8f8; border-bottom: 0; margin-top: 2px; padding-top: 2px; padding-bottom: 8px; } table.tabs-header > tbody > tr > td > div.tab-inactive > a { color: grey; font-weight: normal; } table.tabs-header > tbody > tr > td > div.tab-disabled > a { color: grey; } table.tabs-header > tbody > tr > td > div.tab-disabled > a:hover { margin-top: 5px; padding-top: 1px; padding-bottom: 5px; } table.tabs-header > tbody > tr > td > div.tab-notify > a { background-image: url(../../geticon.php?context=status&icon=dialog-information&size=16); background-repeat: no-repeat; background-position: 1px 1px; } html.ltr table.tabs-header > tbody > tr > td > div.tab-notify > a { padding-left: 18px; } html.rtl table.tabs-header > tbody > tr > td > div.tab-notify > a { padding-right: 18px; } html.ltr table.tabs-header > tbody > tr > td > div.tab-left > a { border-right-width: 0; } html.rtl table.tabs-header > tbody > tr > td > div.tab-left > a { border-left-width: 0; } html.ltr table.tabs-header > tbody > tr > td > div.tab-right > a { border-left-width: 0; } html.rtl table.tabs-header > tbody > tr > td > div.tab-right > a { border-right-width: 0; } table.tabs-header > tbody > tr > td > div.tab-border { border-bottom: 1px solid #999; } /* tabs content */ div.tab-content { padding: 4px; width: auto; background-color: #F8F8F8; border-style: solid; border-color: #AAA; border-top-width: 0; border-bottom-width: 1px; border-left-width: 1px; border-right-width: 1px; } fusiondirectory-1.0.19/html/themes/legacy/theme.css000066400000000000000000000000641304016502700223410ustar00rootroot00000000000000/* Themes can override this file to add some CSS */ fusiondirectory-1.0.19/ihtml/000077500000000000000000000000001304016502700161455ustar00rootroot00000000000000fusiondirectory-1.0.19/ihtml/themes/000077500000000000000000000000001304016502700174325ustar00rootroot00000000000000fusiondirectory-1.0.19/ihtml/themes/breezy/000077500000000000000000000000001304016502700207325ustar00rootroot00000000000000fusiondirectory-1.0.19/ihtml/themes/breezy/acl.tpl000066400000000000000000000073401304016502700222160ustar00rootroot00000000000000{if !$acl_readable}

    {msgPool type=permView}

    {else} {if $dialogState eq 'head'}

    {t}Assigned ACL for current entry{/t}

    {$aclList} {if $acl_createable} {/if} {/if} {if $dialogState eq 'create'}

    {t}ACL type{/t} {if !$acl_writeable}   {else}   {/if}


    {t}Additional filter options{/t}  {if !$acl_writeable} {else} {/if}
    {t}Use members from{/t}

    {t}Available members{/t}
    {if !$acl_writeable} {else} {/if}
    {if $acl_writeable}

    {/if}
    {t}Members{/t}
    {if !$acl_writeable} {else} {/if}
    {if $aclType ne 'reset'} {if $aclType ne 'role'} {if $aclType ne 'base'}

    {t}List of available ACL categories{/t}

    {$aclList} {/if} {/if} {/if} {if $aclType eq 'base'}

    {t}ACL for this object{/t}

    {$aclSelector} {/if} {if $aclType eq 'role'}

    {t}Available roles{/t}

    {$roleSelector} {/if}
    {if $acl_writeable}   {/if}
    {/if} {if $dialogState eq 'edit'}

    {$headline}

    {$aclSelector}
     
    {/if} {/if} fusiondirectory-1.0.19/ihtml/themes/breezy/colors.txt000066400000000000000000000004311304016502700227720ustar00rootroot00000000000000Color guide =========== Background: #D8D8D8 Header-background: #A9FBA6 Font colors: #000000 #00008F Menu: #F8F8F8 Highlight: #F0F0F0 Borders: #AAAAAA Font Error: #FF0000 Font Warning: #FFA500 Font OK: #008000 fusiondirectory-1.0.19/ihtml/themes/breezy/copyPasteDialog.tpl000066400000000000000000000021641304016502700245450ustar00rootroot00000000000000

    {t}Copy & paste wizard{/t}

    {$message}

    {if $Complete == false} {t}Some values need to be unique in the complete directory while some combinations make no sense. FusionDirectory shows the relevant attributes. Please maintain the values below to fulfill the policies.{/t}
    {t}Remember that some properties like taken snapshots will not be copied!{/t}  {t}Or if you copy or cut an entry within FusionDirectory and delete the source object, you may get errors while pasting this object again!{/t}

    {$AttributesToFix} {if $SubDialog == false}
      {if $type == "modified"} {/if}
    {/if} {else}

    {t}Operation complete{/t}

     
    {/if} fusiondirectory-1.0.19/ihtml/themes/breezy/css.tpl000066400000000000000000000020171304016502700222430ustar00rootroot00000000000000 {foreach from=$css_files item=file} {/foreach} fusiondirectory-1.0.19/ihtml/themes/breezy/framework.tpl000066400000000000000000000044501304016502700234530ustar00rootroot00000000000000 {$game_screen} {$php_errors}
    {if !$hideMenus} {/if}
    {$msg_dialogs}
    {$contents}
    {if $channel != ""} {/if}
    {$errors} {$focus}
    fusiondirectory-1.0.19/ihtml/themes/breezy/headers.tpl000066400000000000000000000025371304016502700230750ustar00rootroot00000000000000 {if isset($title)}{$title}{else}FusionDirectory{/if} {include file={filePath file="css.tpl"}} {if $usePrototype == 'true'} {/if} {foreach from=$js_files item=file} {/foreach} fusiondirectory-1.0.19/ihtml/themes/breezy/islocked.tpl000066400000000000000000000021131304016502700232450ustar00rootroot00000000000000

     {t}Locking conflict detected{/t}

    {t}Warning{/t}: {$message}

      {foreach from=$locks item=lock}
    • {t 1=$lock.object 2=$lock.user 3=$lock.timestamp|date_format:"%Y-%m-%d, %H:%M:%S"}"%1" has been locked by "%2" since %3{/t}
    • {/foreach}

    {t 1=$action}If this lock detection is false, the other person may have closed the webbrowser during the edit operation. You may want to take over the lock by pressing the "%1" button.{/t}

    {if $allow_readonly}   {/if}  

    fusiondirectory-1.0.19/ihtml/themes/breezy/login.tpl000066400000000000000000000050571304016502700225720ustar00rootroot00000000000000 {$php_errors} {include file={filePath file="setup_header.tpl"}} {* FusionDirectory login - smarty template *}
    {$msg_dialogs}

    {t}Login screen{/t}

    {t}Please use your username and your password to log into the site administration system.{/t}
    {if $ssl}{$ssl}{/if} {if $lifetime}{$lifetime}{/if}
    {t}Directory{/t} 

    {$errors}
    fusiondirectory-1.0.19/ihtml/themes/breezy/msg_dialog.tpl000066400000000000000000000041371304016502700235650ustar00rootroot00000000000000{if $frame}
    {else} {if $s_Trace != "" && $i_TraceCnt != 0}
    {$s_Trace}
    {/if} {if $i_Type == $smarty.const.INFO_DIALOG || $i_Type == $smarty.const.CONFIRM_DIALOG}
    {elseif $i_Type == $smarty.const.WARNING_DIALOG}
    {else}
    {/if}

    {if $i_Type == $smarty.const.ERROR_DIALOG} {t}Error{/t} {elseif $i_Type == $smarty.const.WARNING_DIALOG} {t}Warning{/t} {elseif $i_Type == $smarty.const.INFO_DIALOG || $i_Type == $smarty.const.CONFIRM_DIALOG} {t}Information{/t} {/if} {$s_Title}

    {$s_Message}
    {if $s_Trace != "" && $i_TraceCnt != 0} {/if} {if $i_Type == $smarty.const.CONFIRM_DIALOG} {/if}
    {/if} fusiondirectory-1.0.19/ihtml/themes/breezy/recovery.tpl000066400000000000000000000113721304016502700233150ustar00rootroot00000000000000 {* FusionDirectory recovery - smarty template *} {$php_errors}
    {include file={filePath file="setup_header.tpl"}}
    {$msg_dialogs}

    {t}Password{/t} {t}Lost password{/t}

    {if $activated} {$ssl} {$message} {if $step==3}

    {t 1=$uid 2=$email_address}Information to reset password for %1 has been sent to email address %2{/t}
    {t 1=$delay_allowed}Warning : this email is only valid for %1 minutes.{/t}

    {elseif $step==4}

    {t}This dialog provides a simple way to change your password. Enter the new password (twice) in the fields below and press the 'Change' button.{/t}


    {if $show_directory_chooser} {/if}
    {t}Directory{/t}
    {$uid}
    {t}Password strength{/t}
    {elseif $changed}
    {t}Success{/t} {t}Your password has been changed successfully.{/t}

    Return to login screen
    {else}

    {t}Enter your current e-mail address in the field below and press the 'Change' button.{/t}
    {t}=> Use your e-mail in the long format, e.g : John Doe => john.doe@example.com{/t}


    {if $show_directory_chooser} {/if}
    {t}Directory{/t}
    {/if} {else}

    {$message}

    {t}Password recovery is not activated. If you have lost your password, please contact your administrator{/t}

    {/if} fusiondirectory-1.0.19/ihtml/themes/breezy/remove.tpl000066400000000000000000000011541304016502700227510ustar00rootroot00000000000000
     {t}Warning{/t}

    {$intro} {t}This may be used by several groups. Please double check if you really want to do this since there is no way for FusionDirectory to get your data back.{/t}

    {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}

     

    fusiondirectory-1.0.19/ihtml/themes/breezy/restore-confirm.tpl000066400000000000000000000020271304016502700245720ustar00rootroot00000000000000

     {t}Warning: you are about to restore the following snapshot{/t}

      {foreach from=$objects item=object}
    • {$object.name} ({$object.dn})
    • {/foreach}
    {t}Any modification made to the object since this snapshot will be lost.{/t} {t}Please double check if you really want to do this since there is no way for FusionDirectory to get your data back.{/t}

    {t}So - if you're sure - press 'Continue' to continue or 'Cancel' to abort.{/t}

    fusiondirectory-1.0.19/ihtml/themes/breezy/setup_header.tpl000066400000000000000000000006251304016502700241260ustar00rootroot00000000000000
    {$version}
    {* FusionDirectory - smarty template for setup header, which is also used by login and password recovery *} fusiondirectory-1.0.19/ihtml/themes/breezy/simple-filter.tpl000066400000000000000000000007131304016502700242300ustar00rootroot00000000000000

    {t}Filter{/t}

    {if isset($objectFilters)} {foreach from=$objectFilters item="ofilter"} {${$ofilter.id}}
    {/foreach} {/if}
    {$SCOPE}
    {$NAME}
    {$APPLY}
    fusiondirectory-1.0.19/ihtml/themes/breezy/simple-list.tpl000066400000000000000000000015601304016502700237170ustar00rootroot00000000000000

     {$HEADLINE} {$SIZELIMIT}

    {if $BASE}{/if}
    {$ROOT} {$BACK} {$HOME} {$RELOAD} {$SEPARATOR} {t}Base{/t} {$BASE} {$SEPARATOR} {$ACTIONS}
    {$LIST}
    {$FILTER}
    fusiondirectory-1.0.19/ihtml/themes/breezy/simple-remove.tpl000066400000000000000000000017061304016502700242430ustar00rootroot00000000000000

     {t}Warning: you are about to delete the following objects{/t}

      {foreach from=$objects item=object}
    • {$object.name} ({$object.dn})
    • {/foreach}
    {t}Please double check if you really want to do this since there is no way for FusionDirectory to get your data back.{/t}

    {t}So - if you're sure - press 'Delete' to continue or 'Cancel' to abort.{/t}

    fusiondirectory-1.0.19/ihtml/themes/breezy/simple-select-list.tpl000066400000000000000000000004121304016502700251670ustar00rootroot00000000000000{include file={filePath file="simple-list.tpl"}}

    {if $MULTISELECT}   {/if}

    fusiondirectory-1.0.19/ihtml/themes/breezy/simpleplugin.tpl000066400000000000000000000010061304016502700241600ustar00rootroot00000000000000
    {foreach from=$sections key=section item=display} {$display} {/foreach}
    {if is_array($hiddenPostedInput)} {foreach from=$hiddenPostedInput item=hiddenPostedInput_item} {/foreach} {else} {/if} fusiondirectory-1.0.19/ihtml/themes/breezy/simpleplugin_section.tpl000066400000000000000000000006501304016502700257100ustar00rootroot00000000000000
    {$section}
    {foreach from=$attributes item=attribute key=id} {/foreach}
    {eval var=$attribute.input}
    fusiondirectory-1.0.19/ihtml/themes/breezy/simpleplugin_section_alone.tpl000066400000000000000000000002161304016502700270640ustar00rootroot00000000000000{include file={filePath file="simpleplugin_section.tpl"}} {* Empty div to avoid breaking CSS rules which uses :nth-child(even) *}
    fusiondirectory-1.0.19/ihtml/themes/breezy/sizelimit.tpl000066400000000000000000000017031304016502700234650ustar00rootroot00000000000000

    {$warning}

    {t}The size limit option makes LDAP operations faster and saves the LDAP server from getting too much load. The easiest way to handle big databases without long timeouts would be to limit your search to smaller values and use filters to get the entries you are looking for.{/t}

    {t}Please choose the way to react for this session{/t}:



    {$limit_message}

    fusiondirectory-1.0.19/ihtml/themes/breezy/template.tpl000066400000000000000000000010521304016502700232640ustar00rootroot00000000000000

    {t}Creating a new object using templates{/t}


    {if isset($template_dialog)} {$template_dialog} {else}
    {/if}

     

    fusiondirectory-1.0.19/include/000077500000000000000000000000001304016502700164535ustar00rootroot00000000000000fusiondirectory-1.0.19/include/accept-to-gettext.inc000066400000000000000000000147341304016502700225200ustar00rootroot00000000000000 * Copyright (c) 2012-2016, FusionDirectory * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * * Usage: * * $locale=al2gt(, * ); * setlocale('LC_ALL', $locale); // or 'LC_MESSAGES', or whatever... * * Example: * * $langs=array('nl_BE.ISO-8859-15','nl_BE.UTF-8','en_US.UTF-8','en_GB.UTF-8'); * $locale=al2gt($langs, 'text/html'); * setlocale('LC_ALL', $locale); * * Note that this will send out header information (to be * RFC2616-compliant), so it must be called before anything is sent to * the user. * * Assumptions made: * * Charset encodings are written the same way as the Accept-Charset * HTTP header specifies them (RFC2616), except that they're parsed * case-insensitive. * * Country codes and language codes are the same in both gettext and * the Accept-Language syntax (except for the case differences, which * are dealt with easily). If not, some input may be ignored. * * The provided gettext-strings are fully qualified; i.e., no "en_US"; * always "en_US.ISO-8859-15" or "en_US.UTF-8", or whichever has been * used. "en.ISO-8859-15" is OK, though. * * The language is more important than the charset; i.e., if the * following is given: * * Accept-Language: nl-be, nl;q=0.8, en-us;q=0.5, en;q=0.3 * Accept-Charset: ISO-8859-15, utf-8;q=0.5 * * And the supplied parameter contains (amongst others) nl_BE.UTF-8 * and nl.ISO-8859-15, then nl_BE.UTF-8 will be picked. * * $Log: accept-to-gettext.inc,v $ * Revision 1.1.1.1 2003/11/19 19:31:15 wouter * * moved to new CVS repo after death of the old * * Fixed code to apply a default to both Accept-Charset and * Accept-Language if none of those headers are supplied; patch from * Dominic Chambers * * Revision 1.2 2003/08/14 10:23:59 wouter * Removed little error in Content-Type header syntaxis. * * Revision 2012/06/07 Côme BERNIGAUD * Rewrote a lot of things, use functions and PHP features in order to be more efficient and more readable */ /*! * \brief Parse a string like nl-be, nl;q=0.8, en-us;q=0.5, en;q=0.3 * into an array like array('nl-be'=>1,'nl'=>0.8,'en-us'=>0.5,'en'=>0.3) */ function parse_scores ($str) { $scores = array(); $parts = preg_split('/,/', $str); foreach ($parts as $part) { $part = trim(strtolower($part)); if (preg_match("/(.*);q=(.*)/", $part, $matches)) { $scores[$matches[1]] = $matches[2]; } else { $scores[$part] = 1; } } return $scores; } /*! * \brief Compute the maximum value in scores array, between keys from testvals array. * example: max_scores(array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5),array('a','d','f')) returns 4 * if no key from testvals is found, returns 0 */ function max_scores ($scores, $testvals) { $values = array_intersect_key($scores, array_flip($testvals)); if (empty($values)) { return 0; } else { return max($values); } } /*! * \brief Parse a lang in gettext format and returns lang, country and charset. * example: en_US.utf-8 will return ('en','us','utf-8') */ function parse_gettext_lang ($str) { if (preg_match("/^([^_]*)(_([^_]*))?\.(.*)$/", $str, $m)) { return array(strtolower($m[1]), strtolower($m[3]), strtolower($m[4])); } else { return FALSE; } } function al2gt($gettextlangs, $mime) { /* Check if ACCEPT_LANGUAGE isset */ if (empty($_SERVER["HTTP_ACCEPT_LANGUAGE"])) { /* default to "everything is acceptable", as RFC2616 specifies */ $acceptLang = '*'; } else { $acceptLang = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; } if (empty($_SERVER["HTTP_ACCEPT_CHARSET"])) { /* default to "everything is acceptable", as RFC2616 specifies */ $acceptChar = 'ISO-8859-1,*;q=0.5'; } else { $acceptChar = $_SERVER["HTTP_ACCEPT_CHARSET"]; } $lang_scores = parse_scores($acceptLang); $char_scores = parse_scores($acceptChar); /* RFC2616: ``If no "*" is present in an Accept-Charset field, then * all character sets not explicitly mentioned get a quality value of * 0, except for ISO-8859-1, which gets a quality value of 1 if not * explicitly mentioned.'' */ if (!isset($char_scores['ISO-8859-1']) && !isset($char_scores['*'])) { $char_scores['ISO-8859-1'] = 1; } /* Loop through the available languages/encodings, and pick the one * with the highest score, excluding the ones with a charset the user * did not include. */ /* The lang with the maximum score found */ $max_lang = NULL; /* The lang score of this lang */ $max_l_score = 0; /* The char score of this lang */ $max_c_score = 0; foreach ($gettextlangs as $gtlang) { if (!($infos = parse_gettext_lang($gtlang))) { continue; } list ($lang, $country, $char) = $infos; $lang_score = max_scores($lang_scores, array($lang,$lang.'-'.$country,'*')); $char_score = max_scores($char_scores, array($char,'*')); if ($char_score == 0) { /* exclude charsets the user refuses */ continue; } if (($lang_score > $max_l_score) || (($lang_score == $max_l_score) && ($char_score > $max_c_score))) { /* if lang scores are equals we compare char scores */ $max_l_score = $lang_score; $max_c_score = $char_score; $max_lang = $gtlang; } } if ($max_lang === NULL) { return NULL; } /* We must re-parse the gettext-string now, since we may have found it * through a "*" qualifier.*/ list ($lang, $country, $char) = parse_gettext_lang($max_lang); if (!headers_sent()) { header("Content-Language: $lang".(empty($country)?"":"-$country")); if (!empty($char)) { header("Content-Type: $mime; charset=$char"); } } return $max_lang; } ?> fusiondirectory-1.0.19/include/class_CopyPasteHandler.inc000066400000000000000000000256631304016502700235540ustar00rootroot00000000000000current = NULL; $this->queue = array(); } /*! * \brief Entry entry to Copy & Paste queue. * A Queue entry is represented as follows. * array['file_name'] - Position on hdd * array['method'] - 'copy' or 'cut' * array['dn'] - the dn of the object added to the queue * array['tab_class'] - Tab object that should be used to initialize the new object * array['tab_object'] - Tab object name used to initialize correct object Type like USERTABS * * \param String $dn The dn of the object added to the queue * * \param String $action Copy or Cut * * \param String $tab_class Tab object that should be used to initialize the new object * * \param String $tab_object Tab object name used to initialize correct object Type like USERTABS * * \param String $tab_acl_category Tab with acl category * * \param Object $parent the parent to set to the tab object */ function add_to_queue() { global $config; $dn = func_get_arg(0); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, "add_to_queue"); $action = func_get_arg(1); if (!in_array($action, array("cut","copy"))) { trigger_error(sprintf("Specified action '%s' does not exists for copy & paste.", $action)); return FALSE; } $tmp = array(); $tmp['method'] = $action; $tmp['dn'] = $dn; if (func_num_args() == 3) { $type = func_get_arg(2); $tmp['type'] = $type; $infos = objects::infos($type); $tmp['aclCategory'] = $infos['aclCategory']; $tmp['mainTab'] = $infos['mainTab']; $tmp['parent'] = NULL; } else { // Deprecated $tab_class = func_get_arg(2); $tab_object = func_get_arg(3); $tab_acl_category = func_get_arg(4); $parent = NULL; if (func_num_args() > 5) { $parent = func_get_arg(5); } if (!class_available($tab_class)) { trigger_error(sprintf("Specified class object '%s' does not exists.", $tab_class)); return FALSE; } if (!isset($config->data['TABS'][$tab_object])) { trigger_error(sprintf("Specified tab object '%s' does not exists.", $tab_object)); return FALSE; } $tmp['tab_class'] = $tab_class; $tmp['tab_object'] = $tab_object; $tmp['aclCategory'] = $tab_acl_category; $tmp['mainTab'] = reset($config->data['TABS'][$tab_object]); $tmp['parent'] = $parent; } $this->queue[] = $tmp; $this->require_update = TRUE; return TRUE; } /*! * \brief This removes all objects from queue. * Remove hdd dumps of current entries too. * Remove entries older than 24 hours. */ function cleanup_queue() { $this->current = FALSE; $this->require_update = TRUE; $this->queue = array(); } /*! * \brief Check if there are still entries the object queue */ function entries_queued() { return ((count($this->queue) > 0) || ($this->current != FALSE)); } /*! * \brief Paste one entry from queue */ function load_entry_from_queue($entry, $base) { global $config; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $entry['dn'], 'load_entry_from_ldap'); if (!isset($entry['tab_class']) && !isset($entry['type'])) { return array(); } if (isset($entry['type'])) { $entry['object'] = objects::open($entry['dn'], $entry['type']); } else { trigger_error('Call to deprecated tabs constructor'); // old way $tab_c = $entry['tab_class']; $tab_o = $entry['tab_object']; $tab_a = $entry['aclCategory']; // Deprecated $entry['object'] = new $tab_c(NULL, $config->data['TABS'][$tab_o], $entry['dn'], $tab_a); } $entry['object']->set_acl_base($base); if ($entry['parent'] !== NULL) { $entry['object']->parent = $entry['parent']; } if ($entry['method'] == 'copy') { $entry['object']->resetCopyInfos(); } $entry['object']->resetBase(); return $entry; } /*! * \brief Displays a dialog which allows the user to fix all dependencies of this object. * Create unique names, ids, or what ever */ function execute($base) { $ui = get_userinfo(); /* Check which entries can be pasted directly. * Create a list of all entries that can be pasted directly. */ if ($this->require_update) { $this->clean_objects = array(); $this->objects_to_fix = array(); $this->disallowed_objects = array(); /* Put each queued object in one of the above arrays */ foreach ($this->queue as $key => $entry) { /* Update entries on demand */ if (!isset($entry['object'])) { $entry = $this->load_entry_from_queue($entry, $base); $this->queue[$key] = $entry; } $msgs = $entry['object']->check(); /* Retrieve ACL infos */ $copy_acl = $ui->is_copyable($entry['dn'], $entry['aclCategory'], $entry['mainTab']); $cut_acl = $ui->is_cutable($entry['dn'], $entry['aclCategory'], $entry['mainTab']); /* Check permissions */ if ($entry['method'] == "copy" && !$copy_acl) { $this->disallowed_objects[$key] = $entry; } elseif ($entry['method'] == "cut" && !$cut_acl) { $this->disallowed_objects[$key] = $entry; } elseif (!count($msgs)) { $this->clean_objects[$key] = $entry; } else { $this->objects_to_fix[$key] = $entry; } } if (count($this->disallowed_objects)) { $dns = array(); foreach ($this->disallowed_objects as $entry) { $dns[] = $entry['dn']; } msg_dialog::display(_('Permission'), msgPool::permCreate($dns), INFO_DIALOG); } $this->require_update = FALSE; } /* Save objects that can be pasted directly */ if (count($this->clean_objects)) { $this->save_object(); foreach ($this->clean_objects as $key => $entry) { /* Remove from queue -> avoid saving twice */ unset($this->queue[$key]); unset($this->clean_objects[$key]); $this->save_current($entry); } } /* Save edited entry and force loading new one */ if (isset($this->current['object'])) { $this->current['object']->save_object(); } /* Save current object if edition is finished */ if (isset($_POST['edit_finish']) && $this->current) { $msgs = $this->current['object']->check(); if (!count($msgs)) { $this->save_current(); } else { foreach ($msgs as $msg) { msg_dialog::display(_("Error"), $msg, ERROR_DIALOG); } } } /* Display a list of all pastable entries */ if ($this->current || count($this->objects_to_fix)) { $this->save_object(); if (!$this->current) { $key = key($this->objects_to_fix); if ($key !== NULL) { $this->current = $this->objects_to_fix[$key]; unset($this->objects_to_fix[$key]); unset($this->queue[$key]); } } if ($this->current) { $display = $this->current['object']->execute(); if ($this->current['object']->dialogOpened()) { return $display; } else { // Display ok, (apply) and cancel buttons $display .= '

    '."\n"; $display .= ''."\n"; $display .= " \n"; $display .= ''."\n"; $display .= ''."\n"; $display .= '

    '; return $display; } } } return ""; } private function save_current($object = NULL) { if ($object !== NULL) { $this->current = $object; } $this->lastdn = $this->current['object']->dn; $this->current['object']->save(); $this->handleReferences(); $this->current = FALSE; } /*! * \brief Get the last endited entry * * \return the dn of the last edited entry */ function last_entry() { return $this->lastdn; } /*! * \brief Save new values posted by copy & paste dialog */ function save_object() { if (isset($_POST['abort_current_cut-copy_operation'])) { $this->current = FALSE; } if (isset($_POST['abort_all_cut-copy_operations'])) { $this->cleanup_queue(); $this->current = FALSE; } } function handleReferences() { $dst_dn = $this->current['object']->dn; $src_dn = $this->current['dn']; $this->current['object']->getBaseObject()->handleForeignKeys($src_dn, $dst_dn, ($this->current['method'] == 'cut'?'move':'copy')); } /*! * \brief Generate the paste icon for headpages * * \return the paste icon for headpages */ function generatePasteIcon() { $Copy_Paste = "  "; if ($this->entries_queued()) { $Copy_Paste .= " "; } else { $Copy_Paste .= "\""._("Cannot "; } return $Copy_Paste; } } ?> fusiondirectory-1.0.19/include/class_IconTheme.inc000066400000000000000000000266211304016502700222150ustar00rootroot00000000000000Size = $infos['Size']; $this->MinSize = $infos['Size']; $this->MaxSize = $infos['Size']; foreach (array('Type', 'MaxSize', 'MinSize', 'Threshold') as $key) { if (isset($infos[$key])) { $this->$key = $infos[$key]; } } /* Thanks to this Threshold and Scaled are the same */ if ($this->Type == 'Threshold') { $this->MinSize = $this->Size - $this->Threshold; $this->MaxSize = $this->Size + $this->Threshold; } } function MatchesSize($size) { switch ($this->Type) { case 'Fixed': return ($this->Size == $size); case 'Threshold': case 'Scalable': return (($this->MinSize <= $size) && ($size <= $this->MaxSize)); } } function SizeDistance($size) { switch ($this->Type) { case 'Fixed': return abs($this->Size - $size); case 'Threshold': case 'Scalable': if ($size < $this->MinSize) { return $this->MinSize - $size; } if ($size > $this->MaxSize) { return $size - $this->MaxSize; } return 0; } } } class IconTheme { private $subdirs = array(); private $path; private $parent; function __construct($folder, $default_parent) { $this->path = $folder; $datas = @parse_ini_file($folder.'/index.theme', TRUE, INI_SCANNER_RAW); if ($datas === FALSE) { throw new ThemeFileParsingException('Error while parsing theme file'); } if (isset($datas['Icon Theme']['Directories']) && !empty($datas['Icon Theme']['Directories'])) { $dirs = preg_split('/,/', $datas['Icon Theme']['Directories']); foreach ($dirs as $name) { $this->subdirs[strtolower($datas[$name]['Context'])][$name] = new IconThemeDir($datas[$name]); } } if (isset($datas['Icon Theme']['Inherits'])) { $this->parent = $datas['Icon Theme']['Inherits']; } else { $this->parent = $default_parent; } } function FindIcon($context, $icon, $size) { $context = strtolower($context); return $this->FindIconHelper($context, $icon, $size); } function FindIconHelper($context, $icon, $size) { $filename = $this->LookupIcon($context, $icon, $size); if ($filename != NULL) { return $filename; } if (isset(static::$fallbacks[$context.'/'.$icon])) { foreach (static::$fallbacks[$context.'/'.$icon] as $fallback) { $filename = $this->LookupIcon($fallback[0], $fallback[1], $size); if ($filename != NULL) { return $filename; } } } if ($this->parent !== NULL) { $parent = $this->findTheme($this->parent); if ($parent === NULL) { $parent = $this->findTheme(static::$default_theme); } return $parent->FindIconHelper($context, $icon, $size); } return NULL; } function LookupIcon($context, $iconname, $size) { if (!isset($this->subdirs[$context])) { return NULL; } foreach ($this->subdirs[$context] as $path => &$subdir) { if ($subdir->MatchesSize($size)) { foreach (static::$extensions as $extension) { $filename = $this->path.'/'.$path.'/'.$iconname.'.'.$extension; if (file_exists($filename)) { return $filename; } } } } unset($subdir); if (static::$find_closest) { $minimal_size = PHP_INT_MAX; foreach ($this->subdirs[$context] as $path => &$subdir) { if (($sizedistance = $subdir->SizeDistance($size)) < $minimal_size) { foreach (static::$extensions as $extension) { $filename = $this->path.'/'.$path.'/'.$iconname.'.'.$extension; if (file_exists($filename)) { $closest_filename = $filename; $minimal_size = $sizedistance; } } } } unset($subdir); if (isset($closest_filename)) { return $closest_filename; } } return NULL; } static public $default_theme = 'default'; static public $extensions = array('png', 'xpm', 'svg'); static public $find_closest = FALSE; /* We store themes in the session. To do otherwise, override these methods. */ static public $session_var = 'IconThemes'; static public function loadThemes($path) { $themes = array(); if ($dir = opendir("$path")) { while (($file = readdir($dir)) !== FALSE) { if (file_exists("$path/$file/index.theme") && !preg_match("/^\./", $file)) { try { if ($file == static::$default_theme) { $themes[$file] = new IconTheme("$path/$file", NULL); } else { $themes[$file] = new IconTheme("$path/$file", static::$default_theme); } } catch (ThemeFileParsingException $e) { continue; } } } } $_SESSION[static::$session_var] = $themes; } static public function findThemeIcon($theme, $context, $icon, $size) { if (!isset($_SESSION[static::$session_var])) { die('Error: no theme found in session'); } if (isset($_SESSION[static::$session_var][$theme])) { return $_SESSION[static::$session_var][$theme]->FindIcon($context, $icon, $size); } return $_SESSION[static::$session_var][static::$default_theme]->FindIcon($context, $icon, $size); } public function findTheme($theme) { if (isset($_SESSION[static::$session_var][$theme])) { $ret = &$_SESSION[static::$session_var][$theme]; return $ret; } return NULL; } /* Fallback system */ static public $fallbacks = array( 'types/user-group' => array( array('applications','system-users') ), 'types/resource-group' => array( array('actions','resource-group') ), 'types/user' => array( array('places','user-identity'), array('status','avatar-default'), ), 'types/contact' => array( array('mimetypes','x-office-contact'), ), 'types/certificate' => array( array('mimetypes','stock_certificate'), array('mimetypes','application-certificate'), array('actions','view-certificate'), ), 'applications/user-info' => array( array('actions','user-properties'), array('types','contact'), array('mimetypes','x-office-contact'), array('types','user'), array('places','user-identity'), array('status','avatar-default'), ), 'applications/office-calendar' => array( array('mimetypes','x-office-calendar'), ), 'applications/os-linux' => array( array('applications','linux'), ), 'applications/os-windows' => array( array('applications','windows'), ), 'applications/samba' => array( array('applications','os-windows'), array('applications','windows'), ), 'applications/config-language' => array( array('applications','locale'), array('applications','preferences-desktop-locale'), ), 'mimetypes/text-csv' => array( array('mimetypes','x-office-spreadsheet'), array('mimetypes','text-x-generic'), ), 'mimetypes/application-pdf' => array( array('mimetypes','x-office-document'), ), 'actions/application-exit' => array( array('actions','system-log-out'), ), 'actions/document-export' => array( array('actions','document-send'), ), 'actions/download' => array( array('actions','document-save'), ), 'actions/document-restore' => array( array('actions','document-import'), array('actions','document-open'), ), 'actions/document-edit' => array( array('actions','edit'), array('applications','text-editor'), array('applications','accessories-text-editor'), array('actions','document-open'), ), 'actions/snapshot' => array( array('actions','document-save'), ), 'actions/system-reboot' => array( array('actions','view-refresh'), ), 'actions/system-update' => array( array('applications','system-software-update'), ), 'actions/system-reinstall' => array( array('applications','system-installer'), ), 'actions/task-start' => array( array('actions','media-playback-start'), ), 'actions/task-stop' => array( array('actions','media-playback-stop'), ), 'actions/task-schedule' => array( array('actions','chronometer'), array('actions','smallclock'), ), 'actions/up' => array( array('actions','go-up'), array('actions','arrow-up'), ), 'actions/upload' => array( array('actions','document-import'), array('actions','up'), ), 'actions/down' => array( array('actions','go-down'), array('actions','arrow-down'), ), 'actions/previous' => array( array('actions','go-previous'), array('actions','arrow-left'), ), 'actions/next' => array( array('actions','go-next'), array('actions','arrow-right'), ), 'actions/submit' => array( array('actions','go-jump'), ), 'categories/settings' => array( array('categories','gnome-settings'), array('categories','preferences-other'), array('categories','preferences-system'), ), 'categories/checks' => array( array('actions','view-task'), array('actions','view-calendar-tasks'), array('actions','checkbox'), array('status','task-complete'), ), 'devices/server' => array( array('places','server'), array('places','network-server'), ), 'devices/media-cdrom' => array( array('devices','media-optical'), ), 'devices/terminal' => array( array('applications','utilities-terminal'), ), 'devices/computer-windows' => array( array('applications','os-windows'), array('applications','windows'), ), 'status/object-locked' => array( array('status','changes-prevent'), ), 'status/object-unlocked' => array( array('status','changes-allow'), ), 'status/task-waiting' => array( array('status','task-schedule'), ), 'places/folder-network' => array( array('places','folder-remote'), ), ); } ?> fusiondirectory-1.0.19/include/class_SnapshotDialogs.inc000066400000000000000000000173051304016502700234430ustar00rootroot00000000000000 array( 'name' => _('Creating an object snapshot'), 'attrs' => array( new DisplayAttribute ( _('Object'), _('DN of the object you are creating a snapshot of'), 'object_dn', FALSE ), new DisplayAttribute ( _('Timestamp'), _('Timestamp of this snapshot creation'), 'timestamp', FALSE ), new TextAreaAttribute ( _('Reason'), _('Reason for creating this snapshot'), 'description', TRUE ), ) ), ); } function __construct ($dn, $parent, $aclCategory) { parent::__construct(); $this->attributesAccess['description']->setInLdap(FALSE); $this->object_dn = $dn; $this->parent = $parent; $this->aclCategory = $aclCategory; } function execute () { $this->timestamp = date(_('Y-m-d, H:i:s')); $str = parent::execute(); $str .= '

    '. '  '. ' '. '

    '; return $str; } function save () { $this->parent->createSnapshot($this->object_dn, $this->description); } } class SnapshotsAttribute extends OrderedArrayAttribute { function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $acl = '') { Attribute::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->edit_enabled = FALSE; $this->order = FALSE; $this->attribute = FALSE; $this->setInLdap(FALSE); } function loadPostValue () { if ($this->isVisible()) { parent::loadPostValue(); parent::applyPostValue(); } } protected function handleEdit($key) { } function applyPostValue () { } function addValue($value) { $this->value[] = $value; $this->reIndexValues(); } function renderButtons () { return ''; } protected function getAttributeArrayValue($key, $value) { $values = array( date(_('Y-m-d, H:i:s'), preg_replace('/\-.*$/', '', $value['gosaSnapshotTimestamp'][0])), $value['description'][0] ); if ($this->plugin->global) { array_unshift($values, $value['gosaSnapshotDN'][0]); } return $values; } protected function genRowIcons($key, $value) { $id = $this->getHtmlId(); list ($img, $nbicons) = parent::genRowIcons($key, $value); $img = $this->renderInputField( 'image', $id.'_restore_'.$key, array( 'src' => 'geticon.php?context=actions&icon=document-restore&size=16', 'title' => _('Restore'), 'alt' => _('Restore'), 'class' => 'center' ) ).$img; $nbicons++; return array ($img, $nbicons); } protected function handlePostValueActions($id, $postValue) { if (parent::handlePostValueActions($id, $postValue)) { return TRUE; } if (preg_match('/^'.$id.'_restore_/', $postValue)) { $key = preg_replace('/^'.$id.'_restore_/', '', $postValue); $key = preg_replace('/_[xy]$/', '', $key); $this->plugin->triggerRestore($this->value[$key]['dn']); return TRUE; } return FALSE; } function delPostValue ($key) { $this->plugin->triggerDelete($this->value[$key]['dn']); } } class SnapshotRestoreDialog extends simplePlugin { public $global; public $aclCategory; protected $snapDn; protected $snapAction; static function getAttributesInfo () { return array( 'main' => array( 'name' => _('Restoring snapshots'), 'class' => array('fullwidth'), 'attrs' => array( new DisplayAttribute ( _('Object'), _('DN of the object you are creating a snapshot of'), 'object_dn', FALSE ), new SnapshotsAttribute ( _('Snapshots'), _('Existing snapshots for this object'), 'snapshots', FALSE ), ) ), ); } function __construct ($dn, $parent, $global, $aclCategory) { parent::__construct(); $this->object_dn = $dn; $this->parent = $parent; $this->global = $global; $this->aclCategory = $aclCategory; if ($this->global) { $this->attributesAccess['object_dn']->setVisible(FALSE); } $this->updateList(); } function updateList () { if ($this->global) { $this->snapshots = $this->parent->getAllDeletedSnapshots(TRUE); } else { $this->snapshots = $this->parent->getAvailableSnapsShots($this->object_dn, TRUE); } } function execute () { if ($this->dialog == 'delete') { $objects = array( array( 'name' => 'snapshot', 'dn' => LDAP::fix($this->snapDn), 'icon' => 'geticon.php?context=actions&icon=document-restore&size=16', 'type' => 'Snapshot' ) ); // Display confirmation dialog. $smarty = get_smarty(); $smarty->assign('objects', $objects); $str = $smarty->fetch(get_template_path('simple-remove.tpl')); } elseif ($this->dialog == 'restore') { $objects = array( array( 'name' => 'snapshot', 'dn' => LDAP::fix($this->snapDn), 'icon' => 'geticon.php?context=actions&icon=document-restore&size=16', 'type' => 'Snapshot' ) ); // Display confirmation dialog. $smarty = get_smarty(); $smarty->assign('objects', $objects); $str = $smarty->fetch(get_template_path('restore-confirm.tpl')); } else { $str = parent::execute(); $str .= '

    '. ' '. '

    '; } return $str; } function triggerRestore($dn) { $this->dialog = 'restore'; $this->snapDn = $dn; } function triggerDelete($dn) { $this->dialog = 'delete'; $this->snapDn = $dn; } function save_object() { if ($this->dialog == 'delete') { if (isset($_POST['delete_confirmed'])) { $this->parent->removeSnapshot($this->snapDn); $this->closeDialog(); } elseif (isset($_POST['delete_cancel'])) { $this->closeDialog(); } } elseif ($this->dialog == 'restore') { if (isset($_POST['restore_confirmed'])) { $this->parent->restoreSnapshot($this->snapDn); $this->closeDialog(); } elseif (isset($_POST['restore_cancel'])) { $this->closeDialog(); } } else { parent::save_object(); } } function closeDialog () { parent::closeDialog(); $this->snapDn = NULL; $this->updateList(); } function save () { } } ?> fusiondirectory-1.0.19/include/class_SnapshotHandler.inc000066400000000000000000000303711304016502700234340ustar00rootroot00000000000000enabled = $config->snapshotEnabled(); if ($this->enabled) { /* Prepare base */ $this->snapshotRDN = $config->get_cfg_value('snapshotBase'); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->create_missing_trees($this->snapshotRDN); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), $this->snapshotRDN, '', get_class()), LDAP_ERROR); } } } /*! * \brief Check if the snapshot is enable * * \return boolean TRUE if is enable, return FALSE otherwise */ function enabled() { return $this->enabled; } /*! * \brief Set a new snapshot bases * * \param array $bases */ function setSnapshotBases($bases) { $this->snapshotBases = $bases; } /*! * \brief Get the current snapshot bases * * \return array $bases */ function getSnapshotBases() { return $this->snapshotBases; } /* \brief Get the snapshot dn of an object dn */ protected function snapshot_dn($dn) { global $config; return preg_replace("/".preg_quote($config->current['BASE'], '/')."$/", "", $dn) .$this->snapshotRDN; } /*! * \brief Get the deleted snapshots * * \param string $objectBase * * \param boolean $raw FALSE */ function getDeletedSnapshots($objectBase, $raw = FALSE) { global $config; if (!$this->enabled()) { return array(); } $ldap = $config->get_ldap_link(); // Initialize base $base = $this->snapshot_dn($objectBase); /* Fetch all objects and check if they do not exist anymore */ $objects = array(); $ldap->cd($base); $ldap->ls("(objectClass=gosaSnapshotObject)", $base, array("gosaSnapshotTimestamp", "gosaSnapshotDN", "description")); while ($entry = $ldap->fetch()) { $chk = str_replace($base, "", $entry['dn']); if (preg_match("/,ou=/", $chk)) { continue; } if (!isset($entry['description'][0])) { $entry['description'][0] = ""; } $objects[] = $entry; } /* Check if entry still exists */ foreach ($objects as $key => $entry) { $ldap->cat($entry['gosaSnapshotDN'][0]); if ($ldap->count()) { unset($objects[$key]); } } /* Format result as requested */ if ($raw) { return $objects; } else { $tmp = array(); foreach ($objects as $key => $entry) { $tmp[base64_encode($entry['dn'])] = $entry['description'][0]; } } return $tmp; } /*! * \brief Cache Snapshot information for all objects in $base */ function initSnapshotCache($base) { global $config; if (!$this->enabled()) { return; } $ldap = $config->get_ldap_link(); // Initialize base $base = $this->snapshot_dn($base); /* Fetch all objects with */ $ldap->cd($base); $ldap->search('(&(objectClass=gosaSnapshotObject)(gosaSnapshotDN=*))', array('gosaSnapshotDN')); /* Store for which object we have snapshots */ $this->snapshotsCache = array(); while ($entry = $ldap->fetch()) { $this->snapshotsCache[$entry['gosaSnapshotDN'][0]] = TRUE; } } /*! * \brief Check if the DN has snapshots * * \return the numbers of snapshots */ function hasSnapshots($dn) { return (isset($this->snapshotsCache[$dn])); } /*! * \brief Get snapshots * * \param string $dn The DN * * \param string $raw FALSE */ function getSnapshots($dn, $raw = FALSE) { global $config; if (!$this->enabled()) { return array(); } $ldap = $config->get_ldap_link(); $objectBase = preg_replace("/^[^,]*./", "", $dn); // Initialize base $base = $this->snapshot_dn($objectBase); /* Fetch all objects with gosaSnapshotDN=$dn */ $ldap->cd($base); $ldap->ls("(&(objectClass=gosaSnapshotObject)(gosaSnapshotDN=".$dn."))", $base, array("gosaSnapshotTimestamp","gosaSnapshotDN","description")); /* Put results into a list and add description if missing */ $objects = array(); while ($entry = $ldap->fetch()) { if (!isset($entry['description'][0])) { $entry['description'][0] = ""; } $objects[] = $entry; } /* Return the raw array, or format the result */ if ($raw) { return $objects; } else { $tmp = array(); foreach ($objects as $entry) { $tmp[base64_encode($entry['dn'])] = $entry['description'][0]; } } return $tmp; } /*! * \brief Create a snapshot of the current object * * \param string $dn The DN * * \param array $description Snapshot description */ function createSnapshot($dn, $description = array()) { global $config; if (!$this->enabled()) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Snaptshot are disabled but tried to create snapshot'); return; } if (is_array($dn)) { $dns = $dn; $dn = $dns[0]; } else { $dns = array($dn); } $ldap = $config->get_ldap_link(); /* check if the dn exists */ if (!$ldap->dn_exists($dn)) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Tried to snapshot non-existing dn'); return; } /* Extract seconds & mysecs, they are used as entry index */ list($usec, $sec) = explode(" ", microtime()); /* Collect some infos */ $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn); $new_base = $this->snapshot_dn($base_of_object); /* Create object */ $data = ''; foreach ($dns as $tmp_dn) { $data .= $ldap->generateLdif(LDAP::fix($tmp_dn), '(!(objectClass=gosaDepartment))', 'sub'); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $tmp_dn, "", get_class()), LDAP_ERROR); } } $newName = str_replace(".", "", $sec."-".$usec); $target = array(); $target['objectClass'] = array("top", "gosaSnapshotObject"); $target['gosaSnapshotData'] = gzcompress($data, 6); $target['gosaSnapshotDN'] = $dn; $target['description'] = $description; $target['gosaSnapshotTimestamp'] = $newName; /* Insert the new snapshot But we have to check first, if the given gosaSnapshotTimestamp is already used, in this case we should increment this value till there is an unused value. */ $new_dn = "gosaSnapshotTimestamp=".$newName.",".$new_base; $ldap->cat($new_dn); while ($ldap->count()) { $ldap->cat($new_dn); $newName = str_replace(".", "", $sec."-".(++$usec)); $new_dn = "gosaSnapshotTimestamp=".$newName.",".$new_base; $target['gosaSnapshotTimestamp'] = $newName; } /* Inset this new snapshot */ $ldap->cd($this->snapshotRDN); $ldap->create_missing_trees($this->snapshotRDN); $ldap->create_missing_trees($new_base); $ldap->cd($new_dn); $ldap->add($target); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $new_base, "", get_class()), LDAP_ERROR); } } /*! * \brief Remove a snapshot * * \param string $dn The DN */ function removeSnapshot($dn) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->rmdir_recursive($dn); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn), LDAP_ERROR); } } /*! * \brief Get the available snapshots * * \return available snapshots for the given base */ function getAvailableSnapsShots($dn, $raw = FALSE) { global $config; if (!$this->enabled()) { return array(); } $ldap = $config->get_ldap_link(); /* Prepare bases and some other infos */ $base_of_object = preg_replace ('/^[^,]+,/i', '', $dn); $new_base = $this->snapshot_dn($base_of_object); $tmp = array(); /* Fetch all objects with gosaSnapshotDN=$dn */ $ldap->cd($new_base); $ldap->ls("(&(objectClass=gosaSnapshotObject)(gosaSnapshotDN=".$dn."))", $new_base, array("gosaSnapshotTimestamp","gosaSnapshotDN","description")); /* Put results into a list and add description if missing */ while ($entry = $ldap->fetch()) { if (!isset($entry['description'][0])) { $entry['description'][0] = ""; } $tmp[] = $entry; } /* Return the raw array, or format the result */ if ($raw) { return $tmp; } else { $tmp2 = array(); foreach ($tmp as $entry) { $tmp2[base64_encode($entry['dn'])] = $entry['description'][0]; } } return $tmp2; } /*! * \brief Get all deleted snapshots * * \param string $base_of_object * * \param boolean $raw FALSE */ function getAllDeletedSnapshots($base_of_object, $raw = FALSE) { global $config; if (!$this->enabled()) { return array(); } $ldap = $config->get_ldap_link(); /* Prepare bases */ $new_base = $this->snapshot_dn($base_of_object); /* Fetch all objects and check if they do not exist anymore */ $tmp = array(); $ldap->cd($new_base); $ldap->ls("(objectClass=gosaSnapshotObject)", $new_base, array("gosaSnapshotTimestamp","gosaSnapshotDN","description")); while ($entry = $ldap->fetch()) { $chk = str_replace($new_base, "", $entry['dn']); if (preg_match("/,ou=/", $chk)) { continue; } if (!isset($entry['description'][0])) { $entry['description'][0] = ""; } $tmp[] = $entry; } /* Check if entry still exists */ foreach ($tmp as $key => $entry) { $ldap->cat($entry['gosaSnapshotDN'][0]); if ($ldap->count()) { unset($tmp[$key]); } } /* Format result as requested */ if ($raw) { return $tmp; } else { $tmp2 = array(); foreach ($tmp as $key => $entry) { $tmp2[base64_encode($entry['dn'])] = $entry['description'][0]; } } return $tmp2; } /*! * \brief Restore selected snapshot * * \param string $dn The DN */ function restoreSnapshot($dn) { global $config; if (!$this->enabled()) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Snaptshot are disabled but tried to restore snapshot'); return array(); } $ldap = $config->get_ldap_link(); /* Get the snapshot */ $ldap->cat($dn); $ldap->fetch(); /* Prepare import string */ $data = gzuncompress($ldap->get_attribute($dn, 'gosaSnapshotData')); if ($data === FALSE) { msg_dialog::display(_('Error'), _('There was a problem uncompressing snapshot data'), ERROR_DIALOG); } /* Import the given data */ try { $ldap->import_complete_ldif($data, FALSE, FALSE); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, "", get_class()), LDAP_ERROR); } } catch (LDIFImportException $e) { msg_dialog::display(_('LDAP error'), $e->getMessage(), ERROR_DIALOG); } } } ?> fusiondirectory-1.0.19/include/class_acl.inc000066400000000000000000000141371304016502700211000ustar00rootroot00000000000000 _('ACL'), 'plDescription' => _('Manage access control lists'), 'plCategory' => array( 'acl' => array( 'description' => _('ACL').' & '._('ACL roles'), 'objectClass' => array('gosaAcl','gosaRole') ) ), 'plObjectType' => array(), 'plProvidedAcls' => array() ); } /*! * \brief Function sort an array by elements priority * * \param Array $list Array to be sorted */ static function sort_by_priority($list) { uksort($list, function ($a, $b) { $infos_a = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $a)); $infos_b = pluglist::pluginInfos(preg_replace('|^[^/]*/|', '', $b)); $pa = (isset($infos_a['plPriority'])?$infos_a['plPriority']:0); $pb = (isset($infos_b['plPriority'])?$infos_b['plPriority']:0); if ($pa == $pb) { return 0; } return ($pa < $pb ? -1 : 1); } ); return $list; } /*! * \brief Explode a role * * \param string $acl ACL to be exploded */ static function explodeRole($role) { if (!is_array($role)) { $role = array($role); } unset($role['count']); $result = array(); foreach ($role as $aclTemplate) { $list = explode(':', $aclTemplate, 2); $result[$list[0]] = static::extractACL($list[1]); } ksort($result); return $result; } /*! * \brief Explode an acl * * \param string $acl ACL to be exploded */ static function explodeACL($acl) { $list = explode(':', $acl); if (count($list) == 5) { list($index, $type,$role,$members,$filter) = $list; $filter = base64_decode($filter); } else { $filter = ""; list($index, $type,$role,$members) = $list; } $a = array( $index => array( 'type' => $type, 'filter' => $filter, 'members' => acl::extractMembers($members), 'acl' => base64_decode($role), )); /* Handle unknown types */ if (!in_array($type, array('subtree', 'base'))) { msg_dialog::display(_("Internal error"), sprintf(_("Unkown ACL type '%s'!\nYou might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format."), $type), ERROR_DIALOG); $a = array(); } return $a; } /*! * \brief Extract members of an acl * * \param $acl The acl to be extracted members part * * \return an array with members */ static function extractMembers($ms) { global $config; $a = array(); /* Seperate by ',' and place it in an array */ $ma = explode(',', $ms); /* Decode dn's, fill with informations from LDAP */ $ldap = $config->get_ldap_link(); foreach ($ma as $memberdn) { // Check for wildcard here $dn = base64_decode($memberdn); if ($dn != '*') { if (empty($dn)) { trigger_error('Empty dn found in members of ACL'); continue; } $ldap->cat($dn, array('cn', 'objectClass', 'description', 'uid')); /* Found entry... */ if ($ldap->count()) { $attrs = $ldap->fetch(); if (in_array_ics('inetOrgPerson', $attrs['objectClass'])) { $a['U:'.$dn] = $attrs['cn'][0].' ['.$attrs['uid'][0].']'; } elseif (in_array_ics('organizationalRole', $attrs['objectClass'])) { $a['R:'.$dn] = $attrs['cn'][0]; if (isset($attrs['description'][0])) { $a['R:'.$dn] .= ' ['.$attrs['description'][0].']'; } } else { $a['G:'.$dn] = $attrs['cn'][0]; if (isset($attrs['description'][0])) { $a['G:'.$dn] .= ' ['.$attrs['description'][0].']'; } } /* ... or not */ } else { $a['U:'.$dn] = sprintf(_("Unknown entry '%s'!"), $dn); } } else { $a['G:*'] = sprintf(_("All users")); } } return $a; } /*! * \brief Extract an acl * * \param string $acl The acl to be extracted */ static function extractACL($acl) { /* Rip acl off the string, seperate by ',' and place it in an array */ $as = preg_replace('/^[^:]+:[^:]+:[^:]*:([^:]*).*$/', '\1', $acl); $aa = explode(',', $as); $a = array(); /* Dis-assemble single ACLs */ foreach ($aa as $sacl) { /* Dis-assemble field ACLs */ $ao = explode('#', $sacl); $gobject = ""; foreach ($ao as $idx => $ssacl) { /* First is department with global acl */ $object = preg_replace('/^([^;]+);.*$/', '\1', $ssacl); $gacl = preg_replace('/^[^;]+;(.*)$/', '\1', $ssacl); if ($idx == 0) { /* Create hash for this object */ $gobject = $object; $a[$gobject] = array(); /* Append ACL if set */ if ($gacl != "") { $a[$gobject] = array($gacl); } } else { /* All other entries get appended... */ list($field, $facl) = explode(';', $ssacl); $a[$gobject][$field] = $facl; } } } return $a; } } ?> fusiondirectory-1.0.19/include/class_baseSelector.inc000066400000000000000000000234631304016502700227560ustar00rootroot00000000000000pid = preg_replace("/[^0-9]/", "", microtime(TRUE)); // Transfer data $this->setBases($bases); $this->setBase($base); } /*! * \brief Returns id of the html field */ function getInputHtmlId() { return 'bs_input_'.$this->pid; } /*! * \brief Set a new flag to the submit button * * \param Boolean $flag Flag for the submit button */ function setSubmitButton($flag) { $this->submitButton = $flag; } /*! * \brief Set a new value of the member height * * \param Integer $value The new value of the height */ function setHeight($value) { $this->height = $value; } /*! * \brief Set a new value of the member base * * \param String $base The new value of the base */ function setBase($base) { if (isset($this->pathMapping[$base])) { $this->base = $base; $this->lastState = TRUE; return $this->update(TRUE); } else { $this->lastState = FALSE; return FALSE; } } /*! * \brief Check the last base value updated * * \return Boolean the last state of the object */ function checkLastBaseUpdate() { return $this->lastState; } /*! * \brief Set new bases * * \param Array $bases The new value of the bases */ function setBases($bases) { global $config; $this->pathMapping = array(); foreach ($bases as $base => $dummy) { // Build path style display $elements = explode(',', substr($base, 0, strlen($base) - strlen($config->current['BASE']))); $elements = array_reverse($elements, TRUE); $this->pathMapping[$base] = (($base == $config->current['BASE']) ? '/' : ldap::fix(preg_replace('/(^|,)[a-z0-9]+=/i', '/', implode(',', $elements)))); } // Save bases to session for autocompletion session::global_set('pathMapping', $this->pathMapping); } /*! * \brief Update the base * * \param Boolean $force FALSE */ function update($force = FALSE) { global $config; if (!isset($this->base) || ($this->base == "")) { $this->lastState = FALSE; return FALSE; } // Analyze for base changes if needed $this->action = NULL; $last_base = $this->base; if (isset($_REQUEST['BPID']) && $_REQUEST['BPID'] == $this->pid) { if (isset($_POST['bs_rebase_'.$this->pid]) && !empty($_POST['bs_rebase_'.$this->pid])) { $new_base = base64_decode($_POST['bs_rebase_'.$this->pid]); if (isset($this->pathMapping[$new_base])) { $this->base = $new_base; $this->action = 'rebase'; } else { $this->lastState = FALSE; return FALSE; } } else { // Input field set? if (isset($_POST[$this->getInputHtmlId()])) { // Take over input field base if ($this->submitButton && isset($_POST['submit_base_'.$this->pid.'_x']) || !$this->submitButton) { // Check if base is available $this->lastState = FALSE; foreach ($this->pathMapping as $key => $path) { if (mb_strtolower($path) == mb_strtolower($_POST[$this->getInputHtmlId()])) { $this->base = $key; $this->lastState = TRUE; break; } } } } } } /* Skip if there's no change */ if ($this->tree && ($this->base == $last_base) && !$force) { $this->lastState = TRUE; return TRUE; } $link = "onclick=\"\$('bs_rebase_".$this->pid."').value='".base64_encode($config->current['BASE'])."'; $('submit_tree_base_".$this->pid."').click();\""; $this->tree = ''; // Autocompleter $this->tree .= "
    ". ""; $selected = $this->base == $config->current['BASE']?"Selected":""; $this->tree .= "\n"; // Draw submitter if required if ($this->submitButton) { $this->tree .= " "; } $this->tree .= ""; $this->tree .= ""; $this->tree .= ""; $this->lastState = TRUE; return TRUE; } /*! * \brief Replace all space of the string by non-breaking space * * \param String $string The string which his space will be replaced */ function gennonbreaks($string) { return str_replace('-', '‑', str_replace(' ', ' ', $string)); } /*! * \brief Accessor of the member tree * * \return members tree of the ACL class */ function render() { return $this->tree; } /*! * \brief Accessor of the base * * \return String containts the base of the object */ function getBase() { return $this->base; } /*! * \brief Accessor of the bases * * \return Array containts the bases and their display text */ function getBases() { return $this->pathMapping; } } ?> fusiondirectory-1.0.19/include/class_config.inc000066400000000000000000001065431304016502700216110ustar00rootroot00000000000000 array(), 'SERVERS' => array(), 'MAIN' => array(), ); var $basedir = ""; /* Keep a copy of the current department list */ var $departments = array(); var $idepartments = array(); var $department_info = array(); var $filename = ""; var $last_modified = 0; /*! * \brief Class constructor of the config class * * \param string $filename path to the configuration file * * \param string $basedir base directory */ function __construct($filename, $basedir = "") { $this->basedir = $basedir; /* Parse config file directly? */ if ($filename != "") { $this->parse($filename); } } /*! * \brief Check and reload the configuration * * This function checks if the configuration has changed, since it was * read the last time and reloads it. It uses the file mtime to check * weither the file changed or not. */ function check_and_reload($force = FALSE) { /* Check if class_location.inc has changed, this is the case if we have installed or removed plugins. */ $tmp = stat(CACHE_DIR."/".CLASS_CACHE); if (session::global_is_set("class_location.inc:timestamp")) { if ($tmp['mtime'] != session::global_get("class_location.inc:timestamp")) { session::global_un_set("plist"); } } session::global_set("class_location.inc:timestamp", $tmp['mtime']); if (($this->filename != "") && ((filemtime($this->filename) != $this->last_modified) || $force)) { $this->config_found = FALSE; $this->tags = array(); $this->level = 0; $this->gpc = 0; $this->section = ""; $this->currentLocation = ""; $this->parse($this->filename); $this->set_current($this->current['NAME']); } } /*! * \brief Parse the given configuration file * * Parses the configuration file and displays errors if there * is something wrong with it. * * \param string $filename The filename of the configuration file. */ function parse($filename) { $this->last_modified = filemtime($filename); $this->filename = $filename; $fh = fopen($filename, "r"); $xmldata = fread($fh, 100000); fclose($fh); $this->parse_data($xmldata); } function parse_data ($xmldata) { $this->data = array( 'LOCATIONS' => array(), 'SERVERS' => array(), 'MAIN' => array(), ); $this->parser = xml_parser_create(); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "tag_open", "tag_close"); if (!xml_parse($this->parser, chop($xmldata))) { $msg = sprintf(_("XML error in fusiondirectory.conf: %s at line %d"), xml_error_string(xml_get_error_code($this->parser)), xml_get_current_line_number($this->parser)); msg_dialog::display(_("Configuration error"), $msg, FATAL_ERROR_DIALOG); exit; } xml_parser_free($this->parser); } /*! * \brief Open xml tag when parsing the xml config * * \param string $parser * * \param string $tag * * \param string $attrs */ function tag_open($parser, $tag, $attrs) { /* Save last and current tag for reference */ $this->tags[$this->level] = $tag; $this->level++; /* Trigger on CONF section */ if ($tag == 'CONF') { $this->config_found = TRUE; } /* Return if we're not in config section */ if (!$this->config_found) { return; } /* yes/no to true/false and upper case TRUE to true and so on*/ foreach ($attrs as $name => $value) { if (preg_match("/^(true|yes)$/i", $value)) { $attrs[$name] = "TRUE"; } elseif (preg_match("/^(false|no)$/i", $value)) { $attrs[$name] = "FALSE"; } } /* Look through attributes */ switch ($this->tags[$this->level - 1]) { /* Handle location */ case 'LOCATION': if ($this->tags[$this->level - 2] == 'MAIN') { $name = $attrs['NAME']; $name = preg_replace("/[<>\"']/", "", $name); $attrs['NAME'] = $name; $this->currentLocation = $name; /* Add location elements */ $this->data['LOCATIONS'][$name] = $attrs; } break; /* Handle referral tags */ case 'REFERRAL': if ($this->tags[$this->level - 2] == 'LOCATION') { $url = $attrs['URI']; $server = preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url); /* Add location elements */ if (!isset($this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'])) { $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'] = array(); } $this->data['LOCATIONS'][$this->currentLocation]['REFERRAL'][$server] = $attrs; } break; /* Load main parameters */ case 'MAIN': $this->data['MAIN'] = array_merge ($this->data['MAIN'], $attrs); break; } } /*! * \brief Close xml tag when parsing the xml config * * \param string $parser * * \param string $tag */ function tag_close($parser, $tag) { /* Close config section */ if ($tag == 'CONF') { $this->config_found = FALSE; } $this->level--; } /*! * \brief Get the password when needed from the config file * * This function can be used to get the password associated to * a keyword in the config file * * \param string $creds the keyword associated to the password needed * * \return string the password corresponding to the keyword */ function get_credentials($creds) { if (isset($_SERVER['HTTP_FDKEY'])) { if (!session::global_is_set('HTTP_FDKEY_CACHE')) { session::global_set('HTTP_FDKEY_CACHE', array()); } $cache = session::global_get('HTTP_FDKEY_CACHE'); if (!isset($cache[$creds])) { try { $cache[$creds] = cred_decrypt($creds, $_SERVER['HTTP_FDKEY']); session::global_set('HTTP_FDKEY_CACHE', $cache); } catch (FusionDirectoryException $e) { $msg = sprintf( _('It seems you are trying to decode something which is not encoded : %s
    '."\n". 'Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted.'), $e->getMessage() ); msg_dialog::display(_('Configuration error'), $msg, FATAL_ERROR_DIALOG); exit; } } return $cache[$creds]; } return $creds; } /*! * \brief Get a LDAP link object * * This function can be used to get an ldap object, which in turn can * be used to query the LDAP. See the LDAP class for more information * on how to use it. * * Example usage: * \code * $ldap = $config->get_ldap_link(); * \endcode * * \param boolean $sizelimit Weither to impose a sizelimit on the LDAP object or not. * Defaults to false. If set to true, the size limit in the configuration * file will be used to set the option LDAP_OPT_SIZELIMIT. * * \return ldapMultiplexer object */ function get_ldap_link($sizelimit = FALSE) { if ($this->ldap === NULL || !is_resource($this->ldap->cid)) { /* Build new connection */ $this->ldap = ldap_init ($this->current['SERVER'], $this->current['BASE'], $this->current['ADMINDN'], $this->get_credentials($this->current['ADMINPASSWORD'])); /* Check for connection */ if (is_null($this->ldap) || (is_int($this->ldap) && $this->ldap == 0)) { msg_dialog::display(_("LDAP error"), _("Cannot bind to LDAP. Please contact the system administrator."), FATAL_ERROR_DIALOG); exit(); } /* Move referrals */ if (!isset($this->current['REFERRAL'])) { $this->ldap->referrals = array(); } else { $this->ldap->referrals = $this->current['REFERRAL']; } if (!session::global_is_set('size_limit')) { session::global_set('size_limit', $this->current['LDAPSIZELIMIT']); session::global_set('size_ignore', preg_match('/true/i', $this->current['LDAPSIZEIGNORE'])); } } $obj = new ldapMultiplexer($this->ldap); if ($sizelimit) { $obj->set_size_limit(session::global_get('size_limit')); } else { $obj->set_size_limit(0); } return $obj; } /*! * \brief Set the current location * * \param string $name the name of the location */ function set_current($name) { if (!isset($this->data['LOCATIONS'][$name])) { msg_dialog::display(_('Error'), sprintf(_('Location "%s" could not be found in the configuration file'), $name), FATAL_ERROR_DIALOG); exit; } $this->current = $this->data['LOCATIONS'][$name]; if (isset($this->current['INITIAL_BASE'])) { session::global_set('CurrentMainBase', $this->current['INITIAL_BASE']); } /* Sort referrals, if present */ if (isset($this->current['REFERRAL'])) { $bases = array(); $servers = array(); foreach ($this->current['REFERRAL'] as $ref) { $server = preg_replace('%^(.*://[^/]+)/.*$%', '\\1', $ref['URI']); $base = preg_replace('%^.*://[^/]+/(.*)$%', '\\1', $ref['URI']); $bases[$base] = strlen($base); $servers[$base] = $server; } asort($bases); reset($bases); } /* SERVER not defined? Load the one with the shortest base */ if (!isset($this->current['SERVER'])) { $this->current['SERVER'] = $servers[key($bases)]; } /* BASE not defined? Load the one with the shortest base */ if (!isset($this->current['BASE'])) { $this->current['BASE'] = key($bases); } /* Convert BASE to have escaped special characters */ $this->current['BASE'] = @LDAP::convert($this->current['BASE']); /* Parse LDAP referral informations */ if (!isset($this->current['ADMINDN']) || !isset($this->current['ADMINPASSWORD'])) { $url = $this->current['SERVER']; $referral = $this->current['REFERRAL'][$url]; $this->current['ADMINDN'] = $referral['ADMINDN']; $this->current['ADMINPASSWORD'] = $referral['ADMINPASSWORD']; } /* We need LDAPSIZELIMIT and LDAPSIZEIGNORE set before we connect to the ldap */ if (!isset($this->current['LDAPSIZELIMIT'])) { $this->current['LDAPSIZELIMIT'] = 200; } if (!isset($this->current['LDAPSIZEIGNORE'])) { $this->current['LDAPSIZEIGNORE'] = "TRUE"; } /* Load in-ldap configuration */ $this->load_inldap_config(); /* Remove possibly added ',' from end of group and people ou */ $this->current['GROUPRDN'] = preg_replace("/,*$/", "", $this->current['GROUPRDN']); $this->current['USERRDN'] = preg_replace("/,*$/", "", $this->current['USERRDN']); /* We update LDAPSIZELIMIT as it may have been changed by ldap config */ session::global_set('size_limit', $this->current['LDAPSIZELIMIT']); if (class_available('systemManagement')) { /* Load server informations */ $this->load_servers(); } $debugLevel = $this->get_cfg_value('DEBUGLEVEL'); if ($debugLevel & DEBUG_CONFIG) { /* value from LDAP can't activate DEBUG_CONFIG */ $debugLevel -= DEBUG_CONFIG; } if (isset($this->data['MAIN']['DEBUGLEVEL'])) { $debugLevel |= $this->data['MAIN']['DEBUGLEVEL']; } session::global_set('DEBUGLEVEL', $debugLevel); IconTheme::loadThemes('themes'); timezone::setDefaultTimezoneFromConfig(); initLanguage(); } /*! * \brief Load server information from config/LDAP * * This function searches the LDAP for servers (e.g. goImapServer, goMailServer etc.) * and stores information about them $this->data['SERVERS']. In the case of mailservers * the main section of the configuration file is searched, too. */ function load_servers () { /* Only perform actions if current is set */ if ($this->current === NULL) { return; } $ldap = $this->get_ldap_link(); /* Get samba servers from LDAP */ $this->data['SERVERS']['SAMBA'] = array(); if (class_available('sambaAccount')) { $ldap->cd($this->current['BASE']); $ldap->search('(objectClass=sambaDomain)'); while ($attrs = $ldap->fetch()) { $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]] = array( 'SID' => '','RIDBASE' => ''); if (isset($attrs['sambaSID'][0])) { $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]['SID'] = $attrs['sambaSID'][0]; } if (isset($attrs['sambaAlgorithmicRidBase'][0])) { $this->data['SERVERS']['SAMBA'][$attrs['sambaDomainName'][0]]['RIDBASE'] = $attrs['sambaAlgorithmicRidBase'][0]; } } /* If no samba servers are found, look for configured sid/ridbase */ if (count($this->data['SERVERS']['SAMBA']) == 0) { if (isset($this->current['SAMBASID']) && isset($this->current['SAMBARIDBASE'])) { $this->data['SERVERS']['SAMBA']['DEFAULT'] = array( 'SID' => $this->get_cfg_value('SAMBASID'), 'RIDBASE' => $this->get_cfg_value('SAMBARIDBASE') ); } } } } /* Check that configuration is in LDAP, check that no plugin got installed since last configuration update */ function checkLdapConfig ($forceReload = FALSE) { global $ui; $dn = CONFIGRDN.$this->current['BASE']; if (!$forceReload) { $ldap = $this->get_ldap_link(); $ldap->cat($dn, array('fusionConfigMd5')); if ($attrs = $ldap->fetch()) { if (isset($attrs['fusionConfigMd5'][0]) && ($attrs['fusionConfigMd5'][0] == md5_file(CACHE_DIR.'/'.CLASS_CACHE))) { return; } } } add_lock($dn, $ui->dn); $config_plugin = objects::open($dn, 'configuration'); $config_plugin->save_object(); $config_plugin->save(); del_lock($dn); } function load_inldap_config() { $ldap = $this->get_ldap_link(); $ldap->cat(CONFIGRDN.$this->current['BASE']); if ($attrs = $ldap->fetch()) { for ($i = 0; $i < $attrs['count']; $i++) { $key = $attrs[$i]; if (preg_match('/^fdTabHook$/i', $key)) { for ($j = 0; $j < $attrs[$key]['count']; ++$j) { $parts = explode('|', $attrs[$key][$j], 3); $class = strtoupper($parts[0]); $mode = strtoupper($parts[1]); $cmd = $parts[2]; if (!isset($this->data['HOOKS'][$class])) { $this->data['HOOKS'][$class] = array('CLASS' => $parts[0]); } $this->data['HOOKS'][$class][$mode] = $cmd; } } elseif (preg_match('/^fd/', $key)) { if (isset($attrs[$key]['count']) && ($attrs[$key]['count'] > 1)) { $value = $attrs[$key]; unset($value['count']); } else { $value = $attrs[$key][0]; } $key = strtoupper(preg_replace('/^fd/', '', $key)); $this->current[$key] = $value; } } } } /*! * \brief Store the departments from ldap in $this->departments */ function get_departments() { /* Initialize result hash */ $result = array(); $result['/'] = $this->current['BASE']; /* Get all department types from department Management, to be able detect the department type. -It is possible that different department types have the same name, in this case we have to mark the department name to be able to differentiate. (e.g l=Name or o=Name) */ $types = departmentManagement::getDepartmentTypes(); /* Create a list of attributes to fetch */ $filter = ''; $ldap_values = array('objectClass', 'description'); foreach ($types as $type) { $i = objects::infos($type); $filter .= $i['filter']; /* Specific key for departement objectTypes */ $ldap_values[] = $i['mainAttr']; } $filter = '(|'.$filter.')'; /* Get list of department objects */ $ldap = $this->get_ldap_link(); $ldap->cd ($this->current['BASE']); $ldap->search ($filter, $ldap_values); while ($attrs = $ldap->fetch()) { /* Detect department type */ $oc = NULL; foreach ($types as $type) { if (objects::isOfType($attrs, $type)) { $oc = $type; break; } } /* Unknown department type -> skip */ if ($oc == NULL) { continue; } $dn = $attrs['dn']; $data = objects::infos($oc); $this->department_info[$dn] = array( 'img' => $data['icon'], 'description' => (isset($attrs['description'][0]) ? $attrs['description'][0] : ''), 'name' => $attrs[$data['mainAttr']][0] ); /* Only assign non-root departments */ if ($dn != $result['/']) { $c_dn = convert_department_dn($dn).' ('.$data['mainAttr'].')'; $result[$c_dn] = $dn; } } $this->departments = $result; } function make_idepartments($max_size = 28) { $base = $this->current['BASE']; $qbase = preg_quote($base, '/'); $arr = array(); $this->idepartments = array(); /* Create multidimensional array, with all departments. */ foreach ($this->departments as $key => $val) { /* Split dn into single department pieces */ $elements = array_reverse(explode(',', preg_replace("/$qbase$/", '', $val))); /* Add last ou element of current dn to our array */ $last = &$arr; foreach ($elements as $key => $ele) { /* skip empty */ if (empty($ele)) { continue; } /* Extract department name */ $elestr = trim(preg_replace('/^[^=]*+=/', '', $ele), ','); $nameA = trim(preg_replace('/=.*$/', '', $ele), ','); if ($nameA != 'ou') { $nameA = " ($nameA)"; } else { $nameA = ''; } /* Add to array */ if ($key == (count($elements) - 1)) { $last[$elestr.$nameA]['ENTRY'] = $val; } /* Set next array appending position */ $last = &$last[$elestr.$nameA]['SUB']; } } /* Add base entry */ $ret['/']['ENTRY'] = $base; $ret['/']['SUB'] = $arr; $this->idepartments = $this->generateDepartmentArray($ret, -1, $max_size); } /* * \brief Creates display friendly output from make_idepartments * * \param $arr arr * * \param int $depth initialized at -1 * * \param int $max_size initialized at 256 */ function generateDepartmentArray($arr, $depth = -1, $max_size = 256) { $ret = array(); $depth++; /* Walk through array */ ksort($arr); foreach ($arr as $name => $entries) { /* If this department is the last in the current tree position * remove it, to avoid generating output for it */ if (count($entries['SUB']) == 0) { unset($entries['SUB']); } /* Fix name, if it contains a replace tag */ $name = preg_replace('/\\\\,/', ',', LDAP::fix($name)); /* Check if current name is too long, then cut it */ if (mb_strlen($name, 'UTF-8') > $max_size) { $name = mb_substr($name, 0, ($max_size - 3), 'UTF-8')." ..."; } /* Append the name to the list */ if (isset($entries['ENTRY'])) { $a = ""; for ($i = 0; $i < $depth; $i++) { $a .= "."; } $ret[$entries['ENTRY']] = $a." ".$name; } /* recursive add of subdepartments */ if (isset($entries['SUB'])) { $ret = array_merge($ret, $this->generateDepartmentArray($entries['SUB'], $depth, $max_size)); } } return $ret; } /*! * \brief Check if there's the specified bool value set in the configuration * * The function checks, weither the specified bool value is set to a true * value in the configuration file. Considered true are either true or yes, * case-insensitive. * * Example usage: * \code * if ($config->boolValueIsTrue("main", "copyPaste")) { * echo "Copy Paste Handling is enabled"; * } * \endcode * * \param string $section Section in the configuration file. * * \param string $value Key in the given section, which is subject to check * * \return bool TRUE if option set in the config file */ function boolValueIsTrue($section, $value) { $section = strtoupper($section); $value = strtoupper($value); if (isset($this->data[$section][$value])) { $data = $this->data[$section][$value]; if (preg_match("/^true$/i", $data) || preg_match("/yes/i", $data)) { return TRUE; } } return FALSE; } /*! * \brief Search for a hook * * Example usage: * \code * $postcmd = $config->search(get_class($this), 'POSTMODIFY'); * \endcode * * \param string $class The class name * * \param string $value Key to search in the hooks */ function searchHook($class, $value) { $class = strtoupper($class); $value = strtoupper($value); return (isset($this->data['HOOKS'][$class][$value]) ? $this->data['HOOKS'][$class][$value] : ''); } /*! * \brief Get a configuration value from the config * * This returns a configuration value from the config. It either * uses the data of the current location ($this->current), * if it contains the value (e.g. current['BASE']) or otherwise * uses the data from the main configuration section. * * If no value is found and an optional default has been specified, * then the default is returned. * * \param string $name The configuration key (case-insensitive) * * \param string $default A default that is returned, if no value is found * * \return string the configuration value if found or the default value */ function get_cfg_value($name, $default = "") { $name = strtoupper($name); $res = $default; /* Check if we have a current value for $name */ if (isset($this->current[$name])) { $res = $this->current[$name]; } elseif (isset($this->data["MAIN"][$name])) { /* Check if we have a global value for $name */ $res = $this->data["MAIN"][$name]; } if (is_array($default) && !is_array($res)) { $res = array($res); } return $res; } /*! * \brief Check if session lifetime matches session.gc_maxlifetime * * On debian systems the session files are deleted with * a cronjob, which detects all files older than specified * in php.ini:'session.gc_maxlifetime' and removes them. * This function checks if the fusiondirectory.conf value matches the range * defined by session.gc_maxlifetime. * * \return boolean TRUE or FALSE depending on weither the settings match * or not. If SESSIONLIFETIME is not configured in FusionDirectory it always returns * TRUE. */ function check_session_lifetime() { $cfg_lifetime = $this->get_cfg_value('SESSIONLIFETIME', 0); if ($cfg_lifetime > 0) { $ini_lifetime = ini_get('session.gc_maxlifetime'); $deb_system = file_exists('/etc/debian_version'); return !($deb_system && ($ini_lifetime < $cfg_lifetime)); } else { return TRUE; } } /*! * \brief Check if snapshot are enabled * * \return boolean TRUE if snapshot are enabled, FALSE otherwise */ function snapshotEnabled() { if ($this->get_cfg_value("enableSnapshots") == "TRUE") { /* Check if the snapshot_base is defined */ if ($this->get_cfg_value("snapshotBase") == "") { /* Send message if not done already */ if (!session::is_set("snapshotFailMessageSend")) { session::set("snapshotFailMessageSend", TRUE); msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required variable '%s' is not set."), "snapshotBase"), ERROR_DIALOG); } return FALSE; } /* Check if gzcompress is available */ if (!is_callable("gzcompress")) { /* Send message if not done already */ if (!session::is_set("snapshotFailMessageSend")) { session::set("snapshotFailMessageSend", TRUE); msg_dialog::display(_("Configuration error"), sprintf(_("The snapshot functionality is enabled, but the required compression module is missing. Please install '%s'."), "php5-zip / php5-gzip"), ERROR_DIALOG); } return FALSE; } return TRUE; } return FALSE; } function loadPlist ($plist) { $this->data['OBJECTS'] = array(); $this->data['SECTIONS'] = array(); $this->data['CATEGORIES'] = array(); $this->data['MENU'] = array(); $this->data['TABS'] = array(); foreach ($plist->info as $class => &$plInfo) { if (isset($plInfo['plObjectType'])) { $entry = array('CLASS' => $class,'NAME' => $plInfo['plShortName']); foreach ($plInfo['plObjectType'] as $key => $value) { if (is_numeric($key)) { /* This is not the main tab */ $tabclass = strtoupper($value)."TABS"; if (($tabclass == 'GROUPTABS') && class_available('mixedGroup')) { $tabclass = 'OGROUP-USERTABS'; } @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $tabclass, "Adding $class to tab list"); if (!isset($this->data['TABS'][$tabclass])) { $this->data['TABS'][$tabclass] = array(); } $this->data['TABS'][$tabclass][] = $entry; } else { if (isset($this->data['OBJECTS'][strtoupper($key)])) { die("duplicated object type ".strtoupper($key)." in ".$this->data['OBJECTS'][strtoupper($key)]['mainTab']." and $class"); } $tabclass = strtoupper($key)."TABS"; $value['tabGroup'] = $tabclass; $value['mainTab'] = $class; foreach (array('ou', 'tabClass') as $i) { if (!isset($value[$i])) { $value[$i] = NULL; } } if (!isset($value['aclCategory'])) { $value['aclCategory'] = $key; } if (isset($value['filter'])) { if (!preg_match('/^\(.*\)$/', $value['filter'])) { $value['filter'] = '('.$value['filter'].')'; } } else { $value['filter'] = NULL; } if (!isset($value['mainAttr'])) { $value['mainAttr'] = 'cn'; } if (!isset($value['nameAttr'])) { $value['nameAttr'] = $value['mainAttr']; } if (!isset($value['tabClass'])) { $value['tabClass'] = 'simpleTabs'; } $this->data['OBJECTS'][strtoupper($key)] = $value; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $tabclass, "Adding $class as main tab of"); if (!isset($this->data['TABS'][$tabclass])) { $this->data['TABS'][$tabclass] = array(); } array_unshift($this->data['TABS'][$tabclass], $entry); } } } elseif (class_available($class) && is_subclass_of($class, 'simpleService')) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $class, "Adding service"); if (!isset($this->data['TABS']['SERVERSERVICE'])) { $this->data['TABS']['SERVERSERVICE'] = array(); } $this->data['TABS']['SERVERSERVICE'][] = array( 'CLASS' => $class, 'NAME' => $plInfo['plShortName'] ); } /* Feed categories */ if (isset($plInfo['plCategory'])) { /* Walk through supplied list and feed only translated categories */ $cats = array(); foreach ($plInfo['plCategory'] as $idx => $data) { $cat = (is_numeric($idx)?$data:$idx); $cats[] = $cat; if (!isset($this->data['CATEGORIES'][$cat])) { $this->data['CATEGORIES'][$cat] = array( 'classes' => array('0') ); } if (!empty($plInfo['plProvidedAcls'])) { $this->data['CATEGORIES'][$cat]['classes'][] = $class; } if (!is_numeric($idx)) { /* Non numeric index means -> base object containing more informations */ $this->data['CATEGORIES'][$cat]['description'] = $data['description']; if (!is_array($data['objectClass'])) { $data['objectClass'] = array($data['objectClass']); } $this->data['CATEGORIES'][$cat]['objectClass'] = $data['objectClass']; } } $plInfo['plCategory'] = $cats; } } unset($plInfo); $this->data['CATEGORIES']['all'] = array( 'classes' => array('all'), 'description' => '* '._('All categories'), 'objectClass' => array(), ); /* Extract categories definitions from object types */ foreach ($this->data['OBJECTS'] as $key => $infos) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $infos['aclCategory'], "ObjectType $key category"); if (strtoupper($infos['aclCategory']) == $key) { $cat = $infos['aclCategory']; if (!isset($this->data['CATEGORIES'][$cat])) { $this->data['CATEGORIES'][$cat] = array('classes' => array('0')); } if (!isset($this->data['CATEGORIES'][$cat]['description'])) { $this->data['CATEGORIES'][$cat]['description'] = $infos['name']; preg_match_all('/objectClass=([^= \)\(]+)/', $infos['filter'], $m); $this->data['CATEGORIES'][$cat]['objectClass'] = $m[1]; } } } /* Now that OBJECTS are filled, place tabs in categories */ foreach ($plist->info as $class => &$plInfo) { $acl = array(); if (isset($plInfo['plCategory'])) { $acl = $plInfo['plCategory']; if (!is_array($acl)) { $acl = array($acl); } } if (isset($plInfo['plObjectType'])) { foreach ($plInfo['plObjectType'] as $key => $value) { if (is_numeric($key)) { /* This is not the main tab */ $obj = strtoupper($value); } else { $obj = strtoupper($key); } /* if this is an existing objectType, not just a tab group */ if (isset($this->data['OBJECTS'][$obj])) { $cat = $this->data['OBJECTS'][$obj]['aclCategory']; $acl[] = $cat; if (!empty($plInfo['plProvidedAcls'])) { $this->data['CATEGORIES'][$cat]['classes'][] = $class; } if (!in_array($cat, $plInfo['plCategory'])) { $plInfo['plCategory'][] = $cat; } } } } /* Read management info */ if (isset($plInfo['plManages'])) { foreach ($plInfo['plManages'] as $type) { $obj = strtoupper($type); if (!isset($this->data['OBJECTS'][$obj])) { continue; } $cat = $this->data['OBJECTS'][$obj]['aclCategory']; $acl[] = $cat; if (!empty($plInfo['plProvidedAcls'])) { $this->data['CATEGORIES'][$cat]['classes'][] = $class; } if (!in_array($cat, $plInfo['plCategory'])) { $plInfo['plCategory'][] = $cat; } if (isset($this->data['OBJECTS'][$obj])) { $this->data['OBJECTS'][$obj]['management'] = $class; } } } @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, join(',', array_unique($acl)), "Class $class categories"); /* Feed menu */ if (isset($plInfo['plSection'])) { $section = $plInfo['plSection']; if (!is_array($acl)) { $acl = array($acl); } if (!is_numeric(key($acl))) { $acl = array_keys($acl); } if (isset($plInfo['plSelfModify']) && $plInfo['plSelfModify']) { $acl[] = $acl[0].'/'.$class.':self'; } $acl = join(',', array_unique($acl)); if (is_array($section)) { $section = key($section); if (is_numeric($section)) { trigger_error("$class have wrong setting in plInfo/plSection"); continue; } $this->data['SECTIONS'][$section] = array_change_key_case($plInfo['plSection'][$section], CASE_UPPER); } if (!isset($this->data['MENU'][$section])) { $this->data['MENU'][$section] = array(); } $attrs = array('CLASS' => $class); if (!empty($acl)) { $attrs['ACL'] = $acl; } $this->data['MENU'][$section][] = $attrs; } if (isset($plInfo['plMenuProvider']) && $plInfo['plMenuProvider']) { list($sections, $entries) = $class::getMenuEntries(); foreach ($sections as $section => $infos) { if (!isset($this->data['SECTIONS'][$section])) { $this->data['SECTIONS'][$section] = array_change_key_case($infos, CASE_UPPER); } if (!isset($this->data['MENU'][$section])) { $this->data['MENU'][$section] = array(); } } foreach ($entries as $section => $section_entries) { foreach ($section_entries as $entry) { $this->data['MENU'][$section][] = $entry; } } } } unset($plInfo); ksort($this->data['CATEGORIES']); foreach ($this->data['CATEGORIES'] as $name => &$infos) { $infos['classes'] = array_unique($infos['classes']); if (!isset($infos['description'])) { $infos['description'] = $name; $infos['objectClass'] = array(); } } unset($infos); $this->data['SECTIONS']['personal'] = array('NAME' => _('My account'), 'PRIORITY' => 40); $personal = array(); foreach ($this->data['TABS']['USERTABS'] as $tab) { $personal[] = array('CLASS' => $tab['CLASS'], 'ACL' => 'user/'.$tab['CLASS'].':self'); } if (!isset($this->data['MENU']['personal'])) { $this->data['MENU']['personal'] = $personal; } else { $this->data['MENU']['personal'] = array_merge($personal, $this->data['MENU']['personal']); } uasort($this->data['SECTIONS'], function ($a, $b) { if ($a['PRIORITY'] == $b['PRIORITY']) { return 0; } return (($a['PRIORITY'] < $b['PRIORITY']) ? -1 : 1); } ); } } ?> fusiondirectory-1.0.19/include/class_departmentSortIterator.inc000066400000000000000000000057321304016502700250670ustar00rootroot00000000000000data = array_reverse($data, TRUE); } else { $this->data = $data; } } /*! * \brief Put the array pointer to the first element * * \return the first element of the array */ function rewind() { return reset($this->data); } /*! * \brief Get the current data element * * \return The current element pointed by array pointer */ function current() { return current($this->data); } /*! * \brief Get the key element * * \return the key element of the array */ function key() { return key($this->data); } /*! * \brief Get the next data element * * \return The next element pointed by array pointer */ function next() { return next($this->data); } /*! * \brief Check if the data array is valid * * \return TRUE if the array is valid, return FALSE otherwise */ function valid() { return (key($this->data) !== NULL); } } ?> fusiondirectory-1.0.19/include/class_divSelectBox.inc000066400000000000000000000126031304016502700227300ustar00rootroot00000000000000s_summary = ''; $this->a_entries = array(); $this->cols = 0; $this->id = $id; } /*! * \brief Set new height value * * \param integer $h Height */ function setHeight($h) { if (is_numeric($h)) { $this->height = $h.'px'; } else { $this->height = $h; } } /*! * \brief Add an entry * * \param array $a_entriedata */ function AddEntry($a_entriedata) { $this->a_entries[] = $a_entriedata; } /*! * \brief Set column headers * * \param array $a_entriedata */ function SetHeaders($headers) { $this->headers = $headers; } /*! * \brief Draw the list */ function DrawList() { $s_return = ''; $s_return .= '
    '."\n"; $s_return .= '
    '."\n"; $s_return .= '\n"; $s_return .= $this->_generatePage(); $s_return .= '
    '; return $s_return; } /*! * \brief Get the number of entries */ function _numentries() { $cnt = count($this->a_entries); return $cnt; } /*! * \brief Set summary * * \param string $msg */ function SetSummary($msg) { $this->s_summary = $msg; } /*! * \brief Generate the page */ function _generatePage() { $display = ''; if ($this->headers !== FALSE) { $display .= ''; foreach ($this->headers as $header) { if ($header === '') { $header = ' '; } $display .= ''.$header.''; } $display .= ''."\n"; } return $display.''.$this->_generateBody().''; } /*! * \brief Generate the body */ function _generateBody() { $s_value = ''; $s_key = ''; $s_return = ''; $str = ''; /* If divselectbox is empty, append a single white entry */ if (count($this->a_entries) == 0) { if ($this->headers !== FALSE) { $this->cols = count($this->headers); $str .= ''; for ($i = 0; $i < ($this->cols); $i++) { if ($i >= ($this->cols - 1)) { $str .= ' '; } else { $str .= ' '; } } $str .= ''; } else { $str .= ' '; } return $str; } $i = $this->_numEntries(); foreach ($this->a_entries as $s_key => $s_value) { $i--; $s_return .= "\n"; $cnt = 0; $this->cols = count($s_value); foreach ($s_value as $s_value2) { $cnt++; if (!isset($s_value2['class'])) { $class = ""; } else { $class = "class='".$s_value2['class']."'"; } if (!isset($s_value2['attach'])) { $style = ""; } else { $style = " ".$s_value2['attach']." "; } $s_return .= "\n"; if (isset($s_value2['string'])) { if ($s_value2['string'] === '') { $s_return .= ' '; } else { $s_return .= htmlentities($s_value2['string'], ENT_COMPAT, 'UTF-8'); } } else { $s_return .= $s_value2['html']; } $s_return .= ''; } $s_return .= "\n"; } $s_return .= "\n"; for ($i = 0; $i < ($this->cols); $i++) { if ($i >= ($this->cols - 1)) { $s_return .= '
     
    '; } else { $s_return .= '
     
    '; } } $s_return .= ''; return $s_return; } } ?> fusiondirectory-1.0.19/include/class_exceptions.inc000066400000000000000000000035501304016502700225170ustar00rootroot00000000000000load($filename)) { die("Cannot parse $filename!"); } $this->pid = preg_replace("/[^0-9]/", "", microtime(TRUE)); } /* * \brief Load a filter * * \param string $filename */ function load($filename) { $contents = file_get_contents($filename); $this->xmlData = xml::xml2array($contents, 1); if (!isset($this->xmlData['filterdef'])) { return FALSE; } $this->xmlData = $this->xmlData["filterdef"]; // Load filter if (isset($this->xmlData['search'])) { if (!isset($this->xmlData['search']['query'][0])) { $this->xmlData['search']['query'] = array($this->xmlData['search']['query']); } // Move information $entry = $this->xmlData['search']; $this->scopeMode = $entry['scope']; if ($entry['scope'] == "auto") { $this->scope = "one"; } else { $this->scope = $entry['scope']; } $this->query = $entry['query']; } else { return FALSE; } // Transfer initial value if (isset($this->xmlData['definition']['initial']) && ($this->xmlData['definition']['initial'] == "true")) { $this->initial = TRUE; } // Transfer category if (isset($this->xmlData['definition']['category'])) { $this->category = $this->xmlData['definition']['category']; } // Generate formular data if (isset($this->xmlData['element'])) { if (!isset($this->xmlData['element'][0])) { $this->xmlData['element'] = array($this->xmlData['element']); } foreach ($this->xmlData['element'] as $element) { // Ignore elements without type if (!isset($element['type']) || !isset($element['tag'])) { continue; } $tag = $element['tag']; // Fix arrays if (isset($element['value']) && !isset($element['value'][0])) { $element['value'] = array($element['value']); } // Store element for quick access $this->elements[$tag] = $element; // Preset elementValues with default values if exist if (isset($element['default']) && !is_array($element['default'])) { $this->elementValues[$tag] = $element['default']; } else { $this->elementValues[$tag] = ""; } // Does this element react on alphabet links? if (isset($element['alphabet']) && $element['alphabet'] == "true") { $this->alphabetElements[] = $tag; } } uasort($this->elements, 'strlenSort'); $this->elements = array_reverse($this->elements); } return TRUE; } /*! * \brief Get the text in the field * * \param array $element */ function getTextfield($element) { $tag = $element['tag']; $size = 30; if (isset($element['size'])) { $size = $element['size']; } $maxlength = 30; if (isset($element['maxlength'])) { $maxlength = $element['maxlength']; } $result = ""; if (isset($element['autocomplete'])) { $frequency = "0.5"; $characters = "1"; if (isset($element['autocomplete']['frequency'])) { $frequency = $element['autocomplete']['frequency']; } if (isset($element['autocomplete']['characters'])) { $characters = $element['autocomplete']['characters']; } $result .= "
    ". ""; $this->autocompleters[$tag] = $element['autocomplete']; } return $result; } /*! * \brief Get the checkbox * * \param array $element */ function getCheckbox($element) { $tag = $element['tag']; $checked = ""; if ($this->elementValues[$tag] == "true") { $checked = " checked"; } $result = ""; return $result; } /*! * \brief Get a combobox * * \param array $element */ function getCombobox($element) { $result = ""; return $result; } /*! * \brief Set the combobox options * * \param string $tag * * \param array $options */ function setComboBoxOptions($tag, $options) { if (isset($this->elements[$tag]) && ($this->elements[$tag]['type'] == "combobox")) { $this->elements[$tag]['value'] = array(); foreach ($options as $key => $label) { $this->elements[$tag]['value'][] = array('label' => $label, 'key' => $key); } } } /*! * \brief Set a converter * * \param string $field * * \param string $hook */ function setConverter($field, $hook) { $this->converter[$field] = $hook; } /*! * \brief Set a object storage * * \param string $storage */ function setObjectStorage($storage) { $this->objectStorage = $storage; } /*! * \brief Set a base * * \param string $base */ function setBase($base) { $this->base = $base; } /*! * \brief Set the current scope * * \param string $scope */ function setCurrentScope($scope) { $this->scope = $scope; } /*! * \brief Render alphabet * * \param integer $columns */ function renderAlphabet($columns = 10) { // Return pre-rendered alphabet if available if ($this->alphabet) { return $this->alphabet; } $characters = _("*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); $alphabet = ""; $c = 0; /* Fill cells with charaters */ for ($i = 0, $l = mb_strlen($characters, 'UTF8'); $i < $l; $i++) { if ($c == 0) { $alphabet .= ""; } $ch = mb_substr($characters, $i, 1, "UTF8"); $alphabet .= " ".$ch." "; if ($c++ == $columns) { $alphabet .= ""; $c = 0; } } /* Fill remaining cells */ while ($c++ <= $columns) { $alphabet .= " "; } /* Save alphabet */ $this->alphabet = "$alphabet
    "; return $this->alphabet; } /*! * \brief Render apply filter * * \return string */ function renderApply() { return ""; } /*! * \brief Render scope * * \return string */ function renderScope() { $checked = ($this->scope == "sub"?" checked":""); return " "; } /*! * \brief Render */ function render() { /* If template is not filled, we display nothing */ if (!isset ($this->xmlData['definition']['template'])) { return ""; } $smarty = get_smarty(); $smarty->assign("ALPHABET", $this->renderAlphabet()); $smarty->assign("APPLY", $this->renderApply()); $smarty->assign("SCOPE", $this->renderScope()); // Load template and replace elementsHtml[] foreach ($this->elements as $tag => $element) { $htmlCode = ""; switch ($element['type']) { case "textfield": $htmlCode = $this->getTextfield($element); break; case "checkbox": $htmlCode = $this->getCheckbox($element); break; case "combobox": $htmlCode = $this->getCombobox($element); break; default: die ("Unknown element type specified!"); } $smarty->assign("$tag", $htmlCode); } // Try to load template from plugin the folder first... $file = get_template_path($this->xmlData['definition']['template'], TRUE); // ... if this fails, try to load the file from the theme folder. if (!file_exists($file)) { $file = get_template_path($this->xmlData['definition']['template']); } // Load template return "".$smarty->fetch($file); } /*! * \brief Query */ function query() { global $class_mapping; $result = array(); // Return empty list if initial is not set if (!$this->initial) { $this->initial = TRUE; return $result; } // Go thru all queries and merge results foreach ($this->query as $query) { if (!isset($query['backend']) || !isset($query['filter']) || !isset($query['attribute'])) { die("No backend specified in search config."); } // Is backend available? $backend = "filter".$query['backend']; if (!isset($class_mapping["$backend"])) { die("Invalid backend specified in search config."); } // Load filter and attributes $filter = $query['filter']; $attributes = $query['attribute']; if ($attributes === '*') { $attributes = array($attributes); } else { if (!is_array($attributes)) { $attributes = array($attributes); } // ObjectClass is required to check permissions later. if (!in_array('objectClass', $attributes)) { $attributes[] = 'objectClass'; } } // Generate final filter foreach ($this->elements as $tag => $element) { if (!isset($element['set']) || !isset($element['unset'])) { continue; } // Handle converters if present if (isset($this->converter[$tag])) { preg_match('/([^:]+)::(.*)$/', $this->converter[$tag], $m); $e_set = call_user_func(array($m[1], $m[2]), preg_replace('/\$/', $this->elementValues[$tag], is_array($element['set'])?"":$element['set'])); $e_unset = call_user_func(array($m[1], $m[2]), preg_replace('/\$/', $this->elementValues[$tag], is_array($element['unset'])?"":$element['unset'])); } else { $e_set = is_array($element['set'])?"":$element['set']; $e_unset = is_array($element['unset'])?"":$element['unset']; } // Do not replace escaped \$ - This is required to be able to search for e.g. windows machines. if ($this->elementValues[$tag] == "") { $e_unset = preg_replace('/([^\\\\])\$/', '${1}'.ldap_escape_f($this->elementValues[$tag]), $e_unset); $e_unset = preg_replace('/\\\\\$/', '$', $e_unset); $filter = preg_replace("/\\$$tag/", $e_unset, $filter); } else { $e_set = preg_replace('/([^\\\\])\$/', '${1}'.ldap_escape_f($this->elementValues[$tag]), $e_set); $e_set = preg_replace('/\\\\\$/', '$', $e_set); $filter = preg_replace("/\\$$tag/", $e_set, $filter); } } // Now call filter method and merge resulting entries. $result = array_merge($result, call_user_func(array($backend, 'query'), $this, $this->base, $this->scope, $filter, $attributes, $this->category, $this->objectStorage)); } return $result; } /*! * \brief Check if a filter is valid * * \return TRUE if is valid, FALSE otherwise */ function isValid() { foreach ($this->elements as $tag => $element) { if (isset($element->regex)) { if (!preg_match('/'.(string)$element->regex.'/', $this->elementValues[$tag])) { return FALSE; } } } return TRUE; } /*! * \brief Update */ function update() { /* React on alphabet links if needed */ if (isset($_GET['filter'])) { $s = mb_substr(validate($_GET['filter']), 0, 1, "UTF8"); foreach ($this->alphabetElements as $tag) { $this->elementValues[$tag] = $s; } } if (isset($_POST['FILTER_PID']) && $_POST['FILTER_PID'] == $this->pid) { // Load post values and adapt filter, base and scope accordingly - but // only if we didn't get a _GET foreach ($this->elements as $tag => $element) { if (isset($_POST[$tag])) { $this->elementValues[$tag] = validate($_POST[$tag]); } else { $this->elementValues[$tag] = ""; } } // Save scope if needed if ($this->scopeMode == "auto") { $this->scope = (isset($_POST['SCOPE'])?"sub":"one"); } } } /*! * \brief Get competition list * * \param string $config * * \param string $tag * * \param string $value */ function getCompletitionList($cfg, $tag, $value = "*") { global $class_mapping; $res = array(); // Is backend available? $backend = "filter".$cfg['backend']; if (!isset($class_mapping["$backend"])) { die("Invalid backend specified in search config."); } // Load filter and attributes $filter = $cfg['filter']; $attributes = $cfg['attribute']; if (!is_array($attributes)) { $attributes = array($attributes); } // ObjectClass is required to check permissions later. if (!in_array('objectClass', $attributes)) { $attributes[] = 'objectClass'; } // Make filter $filter = preg_replace("/\\$$tag/", ldap_escape_f($value), $filter); if (isset($cfg['base']) && isset($cfg['scope']) && isset($cfg['category'])) { $result = call_user_func(array($backend, 'query'), $this, $cfg['base'], $cfg['scope'], $filter, $attributes, $cfg["category"], $cfg["objectStorage"]); } else { $result = call_user_func(array($backend, 'query'), $this, $this->base, $this->scope, $filter, $attributes, $this->category, $this->objectStorage); } foreach ($result as $entry) { foreach ($attributes as $attribute) { if (is_array($entry[$attribute])) { for ($i = 0; $i < $entry[$attribute]['count']; $i++) { if (mb_stristr($entry[$attribute][$i], $value)) { $res[] = $entry[$attribute][$i]; } } } else { $res[] = $entry[$attribute]; } } } return $res; } /*! * \brief Auto complete */ function processAutocomplete() { $result = array(); // Introduce maximum number of entries $max = 25; foreach ($this->autocompleters as $tag => $cfg) { if (isset($_POST[$tag])) { $result = $this->getCompletitionList($cfg, $tag, $_POST[$tag]); $result = array_unique($result); asort($result); echo '
      '; foreach ($result as $entry) { echo '
    • '.mark(htmlentities($_POST[$tag], ENT_COMPAT, 'UTF-8'), htmlentities($entry, ENT_COMPAT, 'UTF-8')).'
    • '; if ($max-- == 0) { break; } } echo '
    '; } } } } /*! * \brief Sort elements for element length to allow proper replacing later on * * \param array $a * * \param array $b */ function strlenSort($a, $b) { if (strlen($a['tag']) == strlen($b['tag'])) { return 0; } return (strlen($a['tag']) < strlen($b['tag']) ? -1 : 1); } ?> fusiondirectory-1.0.19/include/class_filterLDAP.inc000066400000000000000000000123761304016502700222720ustar00rootroot00000000000000get_ldap_link($flags & GL_SIZELIMIT); // Do search for every base $result = array(); $limit_exceeded = FALSE; // Save initial selected base for comparison purposes $initial_base = $base; foreach ($bases as $base => $dnFilters) { $method = $default_method; // Break if the size limit is exceeded if ($limit_exceeded) { return $result; } // Switch to new base and search if (is_array($dnFilters)) { $dnFilter = "(|"; foreach ($dnFilters as $df) { $dnFilter .= "($df)"; } $dnFilter .= ")"; } else { $dnFilter = ""; } $ldap->cd($base); // In no-subsearch mode overwrite default method if // current base equals the initial base if ($base == $initial_base && !($flags & GL_SUBSEARCH)) { $method = "ls"; } if ($method == "ls") { $ldap->ls("(&$filter$dnFilter)", $base, $attributes); } else { $ldap->search("(&$filter$dnFilter)", $attributes); } // Check for size limit exceeded messages for GUI feedback if (preg_match("/size limit/i", $ldap->get_error())) { session::set('limit_exceeded', TRUE); $limit_exceeded = TRUE; } /* Crawl through result entries and perform the migration to the result array */ while ($attrs = $ldap->fetch()) { $dn = $attrs['dn']; /* Skip ACL checks if we are forced to skip those checks */ if ($flags & GL_NO_ACL_CHECK) { $result[] = $attrs; } else { // Check entry permission $obj = $parent->headpage->getObjectTypeInfos($dn, $attrs); if (isset($obj['category'])) { $o = $obj['category'].'/'.$obj['class']; if (strpos($ui->get_permissions($dn, $o), 'r') !== FALSE) { $result[] = $attrs; } } else { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, "Invalid objectType given!"); } } } } return $result; } } ?> fusiondirectory-1.0.19/include/class_ldap.inc000066400000000000000000001200751304016502700212600ustar00rootroot00000000000000 Copyright (C) 1998 Eric Kilfoil Copyright (C) 2011-2016 FusionDirectory This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ /*! * \file class_ldap.inc * Source code for Class LDAP */ define("SPECIALS_OVERRIDE", FALSE); /*! * \brief This class contains all ldap function needed to make * ldap operations easy */ class LDAP { var $hascon = FALSE; var $reconnect = FALSE; var $tls = FALSE; /* connection identifier */ var $cid; var $hasres = array(); var $sr = array(); var $re = array(); var $basedn = ""; /* 0 if we are fetching the first entry, otherwise 1 */ var $start = array(); /* Any error messages to be returned can be put here */ var $error = ""; var $srp = 0; /* Information read from slapd.oc.conf */ var $objectClasses = array(); /* the dn for the bind */ var $binddn = ""; /* the dn's password for the bind */ var $bindpw = ""; var $hostname = ""; var $follow_referral = FALSE; var $referrals = array(); /* 0, empty or negative values will disable this check */ var $max_ldap_query_time = 0; /*! * \brief Create a LDAP connection * * \param string $binddn Bind of the DN * * \param string $bindpw Bind * * \param string $hostname The hostname * * \param boolean $follow_referral FALSE * * \param boolean $tls FALSE */ function __construct($binddn, $bindpw, $hostname, $follow_referral = FALSE, $tls = FALSE) { global $config; $this->follow_referral = $follow_referral; $this->tls = $tls; $this->binddn = LDAP::convert($binddn); $this->bindpw = $bindpw; $this->hostname = $hostname; /* Check if MAX_LDAP_QUERY_TIME is defined */ if (is_object($config) && ($config->get_cfg_value("ldapMaxQueryTime") != "")) { $str = $config->get_cfg_value("ldapMaxQueryTime"); $this->max_ldap_query_time = (float)($str); } $this->connect(); } /*! * \brief Get the search ressource * * \return increase srp */ function getSearchResource() { $this->sr[$this->srp] = NULL; $this->start[$this->srp] = 0; $this->hasres[$this->srp] = FALSE; return $this->srp++; } /*! \brief Function to replace all problematic characters inside a DN by \001XX * * Function to replace all problematic characters inside a DN by \001XX, where * \001 is decoded to chr(1) [ctrl+a]. It is not impossible, but very unlikely * that this character is inside a DN. * * Currently used codes: * \code * , => CO * \2C => CO * ( => OB * ) => CB * / => SL * " => DQ * \22 => DQ * \endcode * * \param string $dn The DN * * \return String, the corrected DN */ static function convert($dn) { if (SPECIALS_OVERRIDE == TRUE) { $tmp = preg_replace( array("/\\\\,/", "/\\\\2C/", "/\(/", "/\)/", "/\//", "/\\\\22/", '/\\\\"/'), array("\001CO", "\001CO", "\001OB", "\001CB", "\001SL", "\001DQ", "\001DQ"), $dn ); return preg_replace('/,\s+/', ',', $tmp); } else { return $dn; } } /*! * \brief Function to fix all problematic characters inside a DN DN by replacing \001XX codes * to their original values * * Function to fix all problematic characters inside a DN by replacing \001XX codes * to their original values. See "convert" for more information. * ',' characters are always expanded to \, (not \2C), since all tested LDAP servers * seem to take it the correct way. * * \param string $dn The DN * * \return String, the fixed DN */ static function fix($dn) { if (SPECIALS_OVERRIDE == TRUE) { return preg_replace( array("/\001CO/", "/\001OB/", "/\001CB/", "/\001SL/", "/\001DQ/"), array("\,", "(", ")", "/", '\"'), $dn ); } else { return $dn; } } /*! * \brief Function to fix problematic characters in DN's that are used for search requests. I.e. member=.... * * \param string $dn The DN */ static function prepare4filter($dn) { trigger_error('deprecated, use ldap_escape_f instead'); return ldap_escape_f($dn); } /*! * \brief Create a connection to LDAP server * * The string $error containts result of the connection */ function connect() { $this->hascon = FALSE; $this->reconnect = FALSE; if ($this->cid = @ldap_connect($this->hostname)) { @ldap_set_option($this->cid, LDAP_OPT_PROTOCOL_VERSION, 3); if (function_exists("ldap_set_rebind_proc") && $this->follow_referral) { @ldap_set_option($this->cid, LDAP_OPT_REFERRALS, 1); @ldap_set_rebind_proc($this->cid, array(&$this, "rebind")); } if (function_exists("ldap_start_tls") && $this->tls) { @ldap_start_tls($this->cid); } $this->error = "No Error"; if (@ldap_bind($this->cid, LDAP::fix($this->binddn), $this->bindpw)) { $this->error = "Success"; $this->hascon = TRUE; } else { if ($this->reconnect) { if ($this->error != "Success") { $this->error = "Could not rebind to " . $this->binddn; } } else { $this->error = "Could not bind to " . $this->binddn; } } } else { $this->error = "Could not connect to LDAP server"; } } /*! * \brief Rebind */ function rebind($ldap, $referral) { $credentials = $this->get_credentials($referral); if (@ldap_bind($ldap, LDAP::fix($credentials['ADMINDN']), $credentials['ADMINPASSWORD'])) { $this->error = "Success"; $this->hascon = TRUE; $this->reconnect = TRUE; return 0; } else { $this->error = "Could not bind to " . $credentials['ADMINDN']; return NULL; } } /*! * \brief Reconnect to LDAP server */ function reconnect() { if ($this->reconnect) { $this->unbind(); } } /*! * \brief Unbind to LDAP server */ function unbind() { @ldap_unbind($this->cid); $this->cid = NULL; } /*! * \brief Disconnect to LDAP server */ function disconnect() { if ($this->hascon) { @ldap_close($this->cid); $this->hascon = FALSE; } } /*! * \brief Change directory * * \param string $dir The new directory */ function cd($dir) { if ($dir == "..") { $this->basedn = $this->getParentDir(); } else { $this->basedn = LDAP::convert($dir); } } /*! * \brief Accessor of the parent directory of the basedn * * \param string $basedn The basedn which we want the parent directory * * \return String, the parent directory */ function getParentDir($basedn = "") { if ($basedn == "") { $basedn = $this->basedn; } else { $basedn = LDAP::convert($basedn); } return preg_replace("/[^,]*[,]*[ ]*(.*)/", "$1", $basedn); } /*! * \brief Search about filter * * \param integer $srp srp * * \param string $filter The filter * * \param array $attrs */ function search($srp, $filter, $attrs = array()) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $start = microtime(TRUE); $this->clearResult($srp); $this->sr[$srp] = @ldap_search($this->cid, LDAP::fix($this->basedn), $filter, $attrs); $this->error = @ldap_error($this->cid); $this->resetResult($srp); $this->hasres[$srp] = TRUE; /* Check if query took longer as specified in max_ldap_query_time */ if ($this->max_ldap_query_time) { $diff = microtime(TRUE) - $start; if ($diff > $this->max_ldap_query_time) { msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took about %.2fs!"), $diff), WARNING_DIALOG); } } $this->log("LDAP operation: time=".(microtime(TRUE) - $start)." operation=search('".LDAP::fix($this->basedn)."', '$filter')"); return $this->sr[$srp]; } else { $this->error = "Could not connect to LDAP server"; return ""; } } /* * \brief List * * \param integer $srp * * \param string $filter Initialized at "(objectclass=*)" * * \param string $basedn Empty string * * \param array $attrs */ function ls($srp, $filter = "(objectclass=*)", $basedn = "", $attrs = array("*")) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $this->clearResult($srp); if ($basedn == "") { $basedn = $this->basedn; } else { $basedn = LDAP::convert($basedn); } $start = microtime(TRUE); $this->sr[$srp] = @ldap_list($this->cid, LDAP::fix($basedn), $filter, $attrs); $this->error = @ldap_error($this->cid); $this->resetResult($srp); $this->hasres[$srp] = TRUE; /* Check if query took longer as specified in max_ldap_query_time */ if ($this->max_ldap_query_time) { $diff = microtime(TRUE) - $start; if ($diff > $this->max_ldap_query_time) { msg_dialog::display(_("Performance warning"), sprintf(_("LDAP performance is poor: last query took about %.2fs!"), $diff), WARNING_DIALOG); } } $this->log("LDAP operation: time=".(microtime(TRUE) - $start)." operation=ls('".LDAP::fix($basedn)."', '$filter')"); return $this->sr[$srp]; } else { $this->error = "Could not connect to LDAP server"; return ""; } } /* * \brief Concatenate * * \param integer $srp * * \param string $dn The DN * * \param array $attrs * * \param string $filter Initialized at "(objectclass=*)" */ function cat($srp, $dn, $attrs = array("*"), $filter = "(objectclass=*)") { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $this->clearResult($srp); $this->sr[$srp] = @ldap_read($this->cid, LDAP::fix($dn), $filter, $attrs); $this->error = @ldap_error($this->cid); $this->resetResult($srp); $this->hasres[$srp] = TRUE; return $this->sr[$srp]; } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Search object from a filter * * \param string $dn The DN * * \param string $filter The filter of the research */ function object_match_filter($dn, $filter) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $res = @ldap_read($this->cid, LDAP::fix($dn), $filter, array("objectClass")); $rv = @ldap_count_entries($this->cid, $res); return $rv; } else { $this->error = "Could not connect to LDAP server"; return FALSE; } } /*! * \brief Set a size limit * * \param $size The limit */ function set_size_limit($size) { /* Ignore zero settings */ if ($size == 0) { @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, 10000000); } if ($this->hascon) { @ldap_set_option($this->cid, LDAP_OPT_SIZELIMIT, $size); } else { $this->error = "Could not connect to LDAP server"; } } /*! * \brief Fetch * * \param integer $srp */ function fetch($srp) { $att = array(); if ($this->hascon) { if ($this->hasres[$srp]) { if ($this->start[$srp] == 0) { if ($this->sr[$srp]) { $this->start[$srp] = 1; $this->re[$srp] = @ldap_first_entry($this->cid, $this->sr[$srp]); } else { return array(); } } else { $this->re[$srp] = @ldap_next_entry($this->cid, $this->re[$srp]); } if ($this->re[$srp]) { $att = @ldap_get_attributes($this->cid, $this->re[$srp]); $att['dn'] = trim(LDAP::convert(@ldap_get_dn($this->cid, $this->re[$srp]))); } $this->error = @ldap_error($this->cid); if (!isset($att)) { $att = array(); } return $att; } else { $this->error = "Perform a fetch with no search"; return ""; } } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Reset the result * * \param integer $srp Value to be reset */ function resetResult($srp) { $this->start[$srp] = 0; } /*! * \brief Clear a result * * \param integer $srp The result to clear */ function clearResult($srp) { if ($this->hasres[$srp]) { $this->hasres[$srp] = FALSE; @ldap_free_result($this->sr[$srp]); } } /*! * \brief Accessor of the DN * * \param $srp srp */ function getDN($srp) { if ($this->hascon) { if ($this->hasres[$srp]) { if (!$this->re[$srp]) { $this->error = "Perform a Fetch with no valid Result"; } else { $rv = @ldap_get_dn($this->cid, $this->re[$srp]); $this->error = @ldap_error($this->cid); return trim(LDAP::convert($rv)); } } else { $this->error = "Perform a Fetch with no Search"; return ""; } } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Return the numbers of entries * * \param $srp srp */ function count($srp) { if ($this->hascon) { if ($this->hasres[$srp]) { $rv = @ldap_count_entries($this->cid, $this->sr[$srp]); $this->error = @ldap_error($this->cid); return $rv; } else { $this->error = "Perform a Fetch with no Search"; return ""; } } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Remove * * \param string $attrs Empty string * * \param string $dn Empty string */ function rm($attrs = "", $dn = "") { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } if ($dn == "") { $dn = $this->basedn; } $r = ldap_mod_del($this->cid, LDAP::fix($dn), $attrs); $this->error = @ldap_error($this->cid); return $r; } else { $this->error = "Could not connect to LDAP server"; return ""; } } function mod_add($attrs = "", $dn = "") { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } if ($dn == "") { $dn = $this->basedn; } $r = @ldap_mod_add($this->cid, LDAP::fix($dn), $attrs); $this->error = @ldap_error($this->cid); return $r; } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Remove directory * * \param string $deletedn The DN to be deleted */ function rmdir($deletedn) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $r = @ldap_delete($this->cid, LDAP::fix($deletedn)); $this->error = @ldap_error($this->cid); return ($r ? $r : 0); } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Move the given Ldap entry from $source to $dest * * \param String $source The source dn. * * \param String $dest The destination dn. * * \return Boolean TRUE on success else FALSE. */ function rename_dn($source, $dest) { /* Check if source and destination are the same entry */ if (strtolower($source) == strtolower($dest)) { trigger_error("Source and destination can't be the same entry."); $this->error = "Source and destination can't be the same entry."; return FALSE; } /* Check if destination entry exists */ if ($this->dn_exists($dest)) { trigger_error("Destination '$dest' already exists."); $this->error = "Destination '$dest' already exists."; return FALSE; } /* Extract the name and the parent part out ouf source dn. e.g. cn=herbert,ou=department,dc=... parent => ou=department,dc=... dest_rdn => cn=herbert */ $parent = preg_replace("/^[^,]+,/", "", $dest); $dest_rdn = preg_replace("/,.*$/", "", $dest); if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $r = ldap_rename($this->cid, @LDAP::fix($source), @LDAP::fix($dest_rdn), @LDAP::fix($parent), FALSE); $this->error = ldap_error($this->cid); /* Check if destination dn exists, if not the server may not support this operation */ $r &= is_resource($this->dn_exists($dest)); return $r; } else { $this->error = "Could not connect to LDAP server"; return FALSE; } } /*! * \brief Function rmdir_recursive * * Recursive remove, with full subtree remove, and delete own node. * * \param $srp srp * * \param string $deletedn The dn to delete * * \return TRUE on sucessfull , 0 in error, and "" when we don't get a ldap conection */ function rmdir_recursive($srp, $deletedn) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $delarray = array(); /* Get sorted list of dn's to delete */ $this->cd($deletedn); $this->search($srp, '(objectClass=*)', array('dn')); while ($attrs = $this->fetch($srp)) { $delarray[$attrs['dn']] = strlen($attrs['dn']); } arsort($delarray); reset($delarray); /* Really Delete ALL dn's in subtree */ foreach (array_keys($delarray) as $key) { $r = @ldap_delete($this->cid, $key); if ($r === FALSE) { break; } } $this->error = @ldap_error($this->cid); return ($r ? $r : 0); } else { $this->error = "Could not connect to LDAP server"; return ""; } } function makeReadableErrors($error, $attrs) { if ($this->success()) { return ""; } $str = ""; if (preg_match("/^objectClass: value #([0-9]*) invalid per syntax$/", $this->get_additional_error())) { $oc = preg_replace("/^objectClass: value #([0-9]*) invalid per syntax$/", "\\1", $this->get_additional_error()); if (isset($attrs['objectClass'][$oc])) { $str .= " - objectClass: ".$attrs['objectClass'][$oc].""; } } if ($error == "Undefined attribute type") { $str = " - attribute: ".preg_replace("/:.*$/", "", $this->get_additional_error()).""; } @DEBUG(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $attrs, "Erroneous data"); return $str; } /*! * \brief Modify a entry of the directory LDAP * * \param string $attrs The new entry */ function modify($attrs) { if (count($attrs) == 0) { return 0; } if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $r = @ldap_modify($this->cid, LDAP::fix($this->basedn), $attrs); $this->error = @ldap_error($this->cid); if (!$this->success()) { $this->error .= $this->makeReadableErrors($this->error, $attrs); } return ($r ? $r : 0); } else { $this->error = "Could not connect to LDAP server"; return ""; } } /*! * \brief Add entry in the LDAP directory * * \param string $attrs The entry to add */ function add($attrs) { if ($this->hascon) { if ($this->reconnect) { $this->connect(); } $r = @ldap_add($this->cid, LDAP::fix($this->basedn), $attrs); $this->error = @ldap_error($this->cid); if (!$this->success()) { $this->error .= $this->makeReadableErrors($this->error, $attrs); } return ($r ? $r : 0); } else { $this->error = "Could not connect to LDAP server"; return ""; } } /* * $target is a dn, i.e. "ou=example,ou=orga,dc=base" * * Creates missing trees, in our example ou=orga,dc=base will get created if not existing, same thing for ou=example,ou=orga,dc=base * */ function create_missing_trees($srp, $target, $ignoreReferralBases = TRUE) { $real_path = substr($target, 0, strlen($target) - strlen($this->basedn) - 1); if ($target == $this->basedn) { $l = array("dummy"); } else { $l = array_reverse(gosa_ldap_explode_dn($real_path)); } unset($l['count']); $cdn = $this->basedn; /* Load schema if available... */ $classes = $this->get_objectclasses(); foreach ($l as $part) { if ($part != "dummy") { $cdn = "$part,$cdn"; } /* Ignore referrals */ if ($ignoreReferralBases) { $found = FALSE; foreach ($this->referrals as $ref) { $base = preg_replace('!^[^:]+://[^/]+/([^?]+).*$!', '\\1', $ref['URI']); if ($base == $cdn) { $found = TRUE; break; } } if ($found) { continue; } } $this->cat ($srp, $cdn); $attrs = $this->fetch($srp); /* Create missing entry? */ if (!count($attrs)) { $type = preg_replace('/^([^=]+)=.*$/', '\\1', $cdn); $param = LDAP::fix(preg_replace('/^[^=]+=([^,]+).*$/', '\\1', $cdn)); $param = preg_replace(array('/\\\\,/','/\\\\"/'), array(',','"'), $param); $na = array(); /* Automatic or traditional? */ if (count($classes)) { /* Get name of first matching objectClass */ $ocname = ""; foreach ($classes as $class) { if (isset($class['MUST']) && in_array($type, $class['MUST'])) { /* Look for first classes that is structural... */ if (isset($class['STRUCTURAL'])) { $ocname = $class['NAME']; break; } /* Look for classes that are auxiliary... */ if (isset($class['AUXILIARY'])) { $ocname = $class['NAME']; } } } /* Bail out, if we've nothing to do... */ if ($ocname == '') { msg_dialog::display(_('Internal error'), sprintf(_('Cannot automatically create subtrees with RDN "%s": no object class found!'), $type), FATAL_ERROR_DIALOG); exit(); } /* Assemble_entry */ $na['objectClass'] = array($ocname); if (isset($classes[$ocname]['AUXILIARY'])) { $na['objectClass'][] = $classes[$ocname]['SUP']; } if ($type == 'dc') { /* This is bad actually, but - tell me a better way? */ $na['objectClass'][] = 'organization'; $na['o'] = $param; } $na[$type] = $param; /* Fill in MUST values - but do not overwrite existing ones. */ if (is_array($classes[$ocname]['MUST'])) { foreach ($classes[$ocname]['MUST'] as $attr) { if (isset($na[$attr]) && !empty($na[$attr])) { continue; } $na[$attr] = 'filled'; } } } else { /* Use alternative add... */ switch ($type) { case 'ou': $na['objectClass'] = 'organizationalUnit'; $na['ou'] = $param; break; case 'dc': $na['objectClass'] = array('dcObject', 'top', 'organization'); $na['dc'] = $param; $na['o'] = $param; break; default: msg_dialog::display(_('Internal error'), sprintf(_('Cannot automatically create subtrees with RDN "%s": not supported'), $type), FATAL_ERROR_DIALOG); exit(); } } $this->cd($cdn); $this->add($na); if (!$this->success()) { @DEBUG(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $cdn, 'dn'); @DEBUG(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $na, 'Content'); @DEBUG(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->get_error(), 'LDAP error'); msg_dialog::display(_('LDAP error'), msgPool::ldaperror($this->get_error(), $cdn, LDAP_ADD, get_class()), LDAP_ERROR); return FALSE; } } } return TRUE; } /*! * \brief Read a entry from a directory * * \param string $dn The DN * * \param string $name The name of the entry * * \param integer $r_array Initialized at 0 */ function get_attribute($dn, $name, $r_array = 0) { $data = ""; if ($this->reconnect) { $this->connect(); } $sr = @ldap_read($this->cid, LDAP::fix($dn), "objectClass=*", array("$name")); /* fill data from LDAP */ if ($sr) { $ei = @ldap_first_entry($this->cid, $sr); if ($ei) { if ($info = @ldap_get_values_len($this->cid, $ei, "$name")) { $data = $info[0]; } } } if ($r_array == 0) { return $data; } else { return $info; } } /*! * \brief Get the LDAP additional error * * \return string $error containts LDAP_OPT_ERROR_STRING */ function get_additional_error() { $error = ""; @ldap_get_option ($this->cid, LDAP_OPT_ERROR_STRING, $error); return $error; } /*! * \brief Success * * \return boolean TRUE if Success is found in $error, else return FALSE */ function success() { return preg_match('/Success/i', $this->error); } /*! * \brief Get the error */ function get_error() { if ($this->error == 'Success') { return $this->error; } else { $adderror = $this->get_additional_error(); if ($adderror != "") { $error = $this->error." (".$this->get_additional_error().", ".sprintf(_("while operating on '%s' using LDAP server '%s'"), $this->basedn, $this->hostname).")"; } else { $error = $this->error." (".sprintf(_("while operating on LDAP server %s"), $this->hostname).")"; } return $error; } } function get_credentials($url, $referrals = NULL) { $ret = array(); $url = preg_replace('!\?\?.*$!', '', $url); $server = preg_replace('!^([^:]+://[^/]+)/.*$!', '\\1', $url); if ($referrals === NULL) { $referrals = $this->referrals; } if (isset($referrals[$server])) { return $referrals[$server]; } else { $ret['ADMINDN'] = LDAP::fix($this->binddn); $ret['ADMINPASSWORD'] = $this->bindpw; } return $ret; } /*! * \brief Generates an ldif for all entries matching the filter settings, scope and limit. * * \param $dn The entry to export. * * \param $filter Limit the exported object to those maching this filter. * * \param array $attributes Attributes * * \param $scope 'base', 'sub' .. see manpage for 'ldapmodify' for details. * * \param $limit Limits the result. */ function generateLdif ($dn, $filter = "(objectClass=*)", $scope = 'sub', $limit = 0) { // Ensure that limit is numeric if not skip here. if (!empty($limit) && !is_numeric($limit)) { trigger_error(sprintf("Invalid parameter for limit '%s', a numeric value is required."), $limit); return NULL; } $limit = (!$limit)?'':' -z '.$limit; // Check scope values $scope = trim($scope); if (!empty($scope) && !in_array($scope, array('base', 'one', 'sub', 'children'))) { trigger_error(sprintf("Invalid parameter for scope '%s', please use 'base', 'one', 'sub' or 'children'."), $scope); return NULL; } $scope = (!empty($scope))?' -s '.$scope: ''; // Prepare parameters to be valid for shell execution $dn = escapeshellarg($dn); $pwd = escapeshellarg($this->bindpw); $host = escapeshellarg($this->hostname); $admin = escapeshellarg($this->binddn); $filter = escapeshellarg($filter); $cmd = "ldapsearch -x -LLLL -D {$admin} {$filter} {$limit} {$scope} -H {$host} -b {$dn} -w {$pwd} "; // Create list of process pipes $descriptorspec = array( 0 => array("pipe", "r"), // stdin 1 => array("pipe", "w"), // stdout 2 => array("pipe", "w") // stderr ); // Try to open the process $process = proc_open($cmd, $descriptorspec, $pipes); if (is_resource($process)) { // Write the password to stdin fclose($pipes[0]); // Get results from stdout and stderr $res = stream_get_contents($pipes[1]); $err = stream_get_contents($pipes[2]); fclose($pipes[1]); // Close the process and check its return value if (proc_close($process) != 0) { $this->error = $err; return NULL; } } else { $this->error = _("proc_open failed to execute ldapsearch"); return NULL; } return $res; } function dn_exists($dn) { return @ldap_list($this->cid, LDAP::fix($dn), "(objectClass=*)", array("objectClass")); } /*! * \brief Function to imports ldifs * * If DeleteOldEntries is TRUE, the destination entry will be deleted first. * If JustModify is TRUE the destination entry will only be touched by the attributes specified in the ldif. * if JustMofify is FALSE the destination dn will be overwritten by the new ldif. * * \param integer $srp * * \param string $str_attr * * \param string $error * * \param boolean $JustModify * * \param boolean $DeleteOldEntries */ function import_complete_ldif($srp, $str_attr, $JustModify, $DeleteOldEntries) { if ($this->reconnect) { $this->connect(); } /* First we split the string into lines */ $fileLines = preg_split("/\n/", $str_attr); /* Joining lines */ $line = NULL; $entry = array(); $entryStart = -1; foreach ($fileLines as $lineNumber => $fileLine) { if (preg_match('/^ /', $fileLine)) { if ($line === NULL) { throw new LDIFImportException(sprintf(_('Error line %s, first line of an entry cannot start with a space'), $lineNumber)); } /* Append to current line */ $line .= substr($fileLine, 1); } elseif (preg_match('/^#/', $fileLine)) { /* Ignore comment */ // TODO handle folded comment } elseif (preg_match('/^version:/', $fileLine) && empty($entry)) { /* Ignore version number */ } else { if ($line !== NULL) { /* Line has ended */ list ($key, $value) = explode(':', $line, 2); $value = trim($value); if (preg_match('/^:/', $value)) { $value = base64_decode(trim(substr($value, 1))); } if (preg_match('/^ $entry) { /* Delete before insert */ $usermdir = ($this->dn_exists($entry['dn']) && $DeleteOldEntries); /* Should we use Modify instead of Add */ $usemodify = ($this->dn_exists($entry['dn']) && $JustModify); /* If we can't Import, return with a file error */ if (!$this->import_single_entry($srp, $entry, $usemodify, $usermdir)) { throw new LDIFImportException(sprintf(_('Error while importing dn: "%s", please check your LDIF from line %s on!'), $entry['dn'][0], $startLine)); } } } /*! \brief Function to Imports a single entry * * If $delete is TRUE; The old entry will be deleted if it exists. * if $modify is TRUE; All variables that are not touched by the new ldif will be kept. * if $modify is FALSE; The new ldif overwrites the old entry, and all untouched attributes get lost. * * \param integer $srp * * \param array $data * * \param boolean $modify * * \param boolean $delete */ protected function import_single_entry($srp, $data, $modify, $delete) { global $config; if (!$config) { trigger_error("Can't import ldif, can't read config object."); } if ($this->reconnect) { $this->connect(); } $ret = FALSE; /* If dn is an index of data, we should try to insert the data */ if (isset($data['dn'])) { /* Fix dn */ $tmp = gosa_ldap_explode_dn($data['dn']); unset($tmp['count']); $dn = ''; foreach ($tmp as $tm) { $dn .= trim($tm).','; } $dn = preg_replace('/,$/', '', $dn); unset($data['dn']); /* Creating Entry */ $this->cd($dn); /* Delete existing entry */ if ($delete) { $this->rmdir_recursive($srp, $dn); } /* Create missing trees */ $this->cd($config->current['BASE']); $this->create_missing_trees($srp, preg_replace('/^[^,]+,/', '', $dn)); $this->cd($dn); if (!$modify) { $this->cat($srp, $dn); if ($this->count($srp)) { /* The destination entry exists, overwrite it with the new entry */ $attrs = $this->fetch($srp); foreach (array_keys($attrs) as $name) { if (!is_numeric($name)) { if (in_array($name, array('dn','count'))) { continue; } if (!isset($data[$name])) { $data[$name] = array(); } } } $ret = $this->modify($data); } else { /* The destination entry doesn't exists, create it */ $ret = $this->add($data); } } else { /* Keep all vars that aren't touched by this ldif */ $ret = $this->modify($data); } } if (!$this->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($this->get_error(), $dn, '', get_class()), LDAP_ERROR); } return $ret; } /*! * \brief Get the object classes * * \param boolean $force_reload FALSE */ function get_objectclasses($force_reload = FALSE) { $objectclasses = array(); /* Return the cached results. */ if (class_available('session') && session::global_is_set('LDAP_CACHE::get_objectclasses') && !$force_reload) { $objectclasses = session::global_get('LDAP_CACHE::get_objectclasses'); return $objectclasses; } // Get base to look for schema $sr = @ldap_read($this->cid, '', 'objectClass=*', array('subschemaSubentry')); $attr = @ldap_get_entries($this->cid, $sr); if (!isset($attr[0]['subschemasubentry'][0])) { return array(); } /* Get list of objectclasses and fill array */ $nb = $attr[0]['subschemasubentry'][0]; $objectclasses = array(); $sr = ldap_read ($this->cid, $nb, 'objectClass=*', array('objectclasses')); $attrs = ldap_get_entries($this->cid, $sr); if (!isset($attrs[0])) { return array(); } foreach ($attrs[0]['objectclasses'] as $val) { if (preg_match('/^[0-9]+$/', $val)) { continue; } $name = "OID"; $pattern = explode(' ', $val); $ocname = preg_replace("/^.* NAME\s+\(*\s*'([^']+)'\s*\)*.*$/", '\\1', $val); $objectclasses[$ocname] = array(); foreach ($pattern as $chunk) { switch ($chunk) { case '(': $value = ''; break; case ')': if ($name != '') { $v = $this->value2container($value); if (in_array($name, array('MUST', 'MAY')) && !is_array($v)) { $v = array($v); } $objectclasses[$ocname][$name] = $v; } $name = ''; $value = ''; break; case 'NAME': case 'DESC': case 'SUP': case 'STRUCTURAL': case 'ABSTRACT': case 'AUXILIARY': case 'MUST': case 'MAY': if ($name != '') { $v = $this->value2container($value); if (in_array($name, array('MUST','MAY')) && !is_array($v)) { $v = array($v); } $objectclasses[$ocname][$name] = $v; } $name = $chunk; $value = ''; break; default: $value .= $chunk.' '; } } } if (class_available('session')) { session::global_set('LDAP_CACHE::get_objectclasses', $objectclasses); } return $objectclasses; } function value2container($value) { /* Set emtpy values to "TRUE" only */ if (preg_match('/^\s*$/', $value)) { return TRUE; } /* Remove ' and " if needed */ $value = preg_replace('/^[\'"]/', '', $value); $value = preg_replace('/[\'"] *$/', '', $value); /* Convert to array if $ is inside... */ if (preg_match('/\$/', $value)) { $container = preg_split('/\s*\$\s*/', $value); } else { $container = chop($value); } return $container; } /*! * \brief Add a string in log file * * \param stri if(ng $string */ function log($string) { if (session::global_is_set('config')) { $cfg = session::global_get('config'); if (isset($cfg->current['LDAPSTATS']) && preg_match('/true/i', $cfg->current['LDAPSTATS'])) { syslog (LOG_INFO, $string); } } } /* added by Guido Serra aka Zeph */ /*! * \brief Function to get cn * * \param $dn The DN */ function getCn($dn) { $simple = explode(",", $dn); foreach ($simple as $piece) { $partial = explode("=", $piece); if ($partial[0] == "cn") { return $partial[1]; } } } function get_naming_contexts($server, $admin = "", $password = "") { /* Build LDAP connection */ $ds = ldap_connect ($server); if (!$ds) { die ("Can't bind to LDAP. No check possible!"); } ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_bind ($ds, $admin, $password); /* Get base to look for naming contexts */ $sr = @ldap_read ($ds, "", "objectClass=*", array("+")); $attr = @ldap_get_entries($ds, $sr); return $attr[0]['namingcontexts']; } function get_root_dse($server, $admin = "", $password = "") { /* Build LDAP connection */ $ds = ldap_connect ($server); if (!$ds) { die ("Can't bind to LDAP. No check possible!"); } ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_bind ($ds, $admin, $password); /* Get base to look for naming contexts */ $sr = @ldap_read ($ds, "", "objectClass=*", array("+")); $attr = @ldap_get_entries($ds, $sr); /* Return empty array, if nothing was set */ if (!isset($attr[0])) { return array(); } /* Rework array... */ $result = array(); for ($i = 0; $i < $attr[0]['count']; $i++) { $result[$attr[0][$i]] = $attr[0][$attr[0][$i]]; unset($result[$attr[0][$i]]['count']); } return $result; } } ?> fusiondirectory-1.0.19/include/class_ldapFilter.inc000066400000000000000000000131361304016502700224250ustar00rootroot00000000000000 array('testClass'), 'testField' => array ('value1', 'value')); * if ($filter($array)) { * // do something * } */ class ldapFilter { static $operators = array('!', '&', '|'); protected $operator; protected $subparts; function __construct($operator, $subparts) { $this->operator = $operator; $this->subparts = $subparts; } function __toString() { return '('.$this->operator.join($this->subparts).')'; } function __invoke($array) { $stopValue = FALSE; switch ($this->operator) { case '!': return !$this->subparts[0]($array); case '|': $stopValue = TRUE; case '&': foreach ($this->subparts as $subpart) { if ($subpart($array) == $stopValue) { return $stopValue; } } return !$stopValue; default: die('Unknown operator'); } } function getOperator() { return $this->operator; } function getSubparts() { return $this->subparts; } static function parse($filter) { // Remove starting and ending parenthesis $filter = preg_replace(array('/^\\s*\\(/', '/\\)\\s*$/'), '', $filter); if (in_array($filter[0], ldapFilter::$operators)) { $subfilters = array(); /* We need an ending parenthesis in order to catch last subpart correctly */ $filter .= ')'; $offset = 0; $level = 0; $open; while (preg_match('/[^\\\\](\\(|\\))/', $filter, $m, PREG_OFFSET_CAPTURE, $offset)) { $offset = $m[0][1] + 1; if ($m[1][0] == '(') { if ($level == 0) { $open = $m[1][1]; } $level++; } elseif ($m[1][0] == ')') { $level--; if ($level == 0) { $subfilters[] = ldapFilter::parse(substr($filter, $open + 1, $m[0][1] - $open)); } } } return new ldapFilter($filter[0], $subfilters); } else { preg_match('/^(.+)('.join('|', ldapFilterLeaf::$operators).')(.+)$/', $filter, $m); return new ldapFilterLeaf($m[1], $m[2], $m[3]); } } } class ldapFilterLeaf extends ldapFilter { static $operators = array('=','=~','>','>=','<','<='); protected $pattern; function __construct($left, $operator, $right) { parent::__construct($operator, array($left, $right)); if (($this->operator == '=') || ($this->operator == '=~')) { $prefix = ''; $suffix = ''; if (preg_match('/^\\*/', $this->subparts[1])) { $prefix = '.*'; } if (preg_match('/\\*$/', $this->subparts[1])) { $suffix = '.*'; } $search = preg_replace(array('/^\\*/','/\\*$/'), '', $this->subparts[1]); $this->pattern = '/^'.$prefix.preg_quote($search, '/').$suffix.'$/'; } } function __toString() { return '('.$this->subparts[0].$this->operator.$this->subparts[1].')'; } function __invoke($array) { if (isset($array[$this->subparts[0]])) { $values = $array[$this->subparts[0]]; if (!is_array($values)) { $values = array($values); } foreach ($values as $value) { switch ($this->operator) { case '=~': trigger_error('Filter apply might not work as expected'); case '=': if (preg_match($this->pattern, $value)) { return TRUE; } break; case '<': if ($value < $this->subparts[1]) { return TRUE; } break; case '>': if ($value > $this->subparts[1]) { return TRUE; } break; case '<=': if ($value <= $this->subparts[1]) { return TRUE; } break; case '>=': if ($value >= $this->subparts[1]) { return TRUE; } break; default: die('Unknown operator: '.$this->operator); } } } return FALSE; } } function fdTemplateFilter($filter) { if ($filter instanceof ldapFilterLeaf) { if ($filter->getOperator() == '=') { $subparts = $filter->getSubparts(); return new ldapFilterLeaf('fdTemplateField', '=', $subparts[0].':'.$subparts[1]); } else { trigger_error('Not able to adapt this filter for templates'); } } else { $subparts = $filter->getSubparts(); foreach ($subparts as &$subpart) { $subpart = fdTemplateFilter($subpart); } unset($subpart); return new ldapFilter($filter->getOperator(), $subparts); } return $filter; } ?> fusiondirectory-1.0.19/include/class_ldapGeneralizedTime.inc000066400000000000000000000115341304016502700242500ustar00rootroot00000000000000 becomes 19941216101300Z '19941216101255,5Z' */ /*! \class LdapGeneralizedTime \brief LdapGeneralizedTime allows you to convert from and to LDAP GeneralizedTime format PHP DateTime objects This class provides function to convert from LDAP GeneralizedTime to DateTime and the other way. Please note that leap seconds will be lost as PHP has no support for it (see https://bugs.php.net/bug.php?id=70335). 01:60 will become 02:00. Also, this class does not support fraction of hours or fraction of minutes (fraction of seconds are supported). */ class LdapGeneralizedTime { /*! \brief Convert from LDAP GeneralizedTime formatted string to DateTime object \param string GeneralizedTime formatted string to convert \param useException Whether or not to throw a LdapGeneralizedTimeBadFormatException on failure. Defaults to TRUE. */ public static function fromString ($string, $useException = TRUE) { assert(is_string($string)); // century = 2(%x30-39) ; "00" to "99" // year = 2(%x30-39) ; "00" to "99" $year = '(?P\d{4})'; // month = ( %x30 %x31-39 ) ; "01" (January) to "09" // / ( %x31 %x30-32 ) ; "10" to "12" $month = '(?P0[1-9]|1[0-2])'; // day = ( %x30 %x31-39 ) ; "01" to "09" // / ( %x31-32 %x30-39 ) ; "10" to "29" // / ( %x33 %x30-31 ) ; "30" to "31" $day = '(?P0[1-9]|[0-2]\d|3[01])'; // hour = ( %x30-31 %x30-39 ) / ( %x32 %x30-33 ) ; "00" to "23" $hour = '(?P[0-1]\d|2[0-3])'; // minute = %x30-35 %x30-39 ; "00" to "59" $minute = '(?P[0-5]\d)'; // second = ( %x30-35 %x30-39 ) ; "00" to "59" // leap-second = ( %x36 %x30 ) ; "60" $second = '(?P[0-5]\d|60)'; // fraction = ( DOT / COMMA ) 1*(%x30-39) $fraction = '([.,](?P\d+))'; // g-time-zone = %x5A ; "Z" // / g-differential // g-differential = ( MINUS / PLUS ) hour [ minute ] $timezone = '(?PZ|[-+]([0-1]\d|2[0-3])([0-5]\d)?)'; // GeneralizedTime = century year month day hour // [ minute [ second / leap-second ] ] // [ fraction ] // g-time-zone $pattern = '/^'. "$year$month$day$hour". "($minute$second?)?". "$fraction?". $timezone. '$/'; if (preg_match($pattern, $string, $m)) { if (empty($m['minute'])) { $m['minute'] = '00'; } if (empty($m['second'])) { $m['second'] = '00'; } if (empty($m['fraction'])) { $m['fraction'] = '0'; } $date = new DateTime($m['year'].'-'.$m['month'].'-'.$m['day'].'T'.$m['hour'].':'.$m['minute'].':'.$m['second'].'.'.$m['fraction'].$m['timezone']); $date->setTimezone(new DateTimeZone('UTC')); return $date; } elseif ($useException) { throw new LdapGeneralizedTimeBadFormatException("$string does not match LDAP GeneralizedTime format"); } else { return FALSE; } } /*! \brief Convert from DateTime object to LDAP GeneralizedTime formatted string \param date DateTime object to convert \param useException Whether or not to set the date timezone to UTC. Defaults to TRUE. */ public static function toString ($date, $setToUTC = TRUE) { assert($date instanceof DateTime); if ($setToUTC) { $date->setTimezone(new DateTimeZone('UTC')); } $fraction = preg_replace('/0+$/', '', $date->format('u')); $string = $date->format('YmdHis'); if (empty($fraction)) { return preg_replace('/(00){1,2}$/', '', $string).'Z'; } else { return $string.'.'.$fraction.'Z'; } } } fusiondirectory-1.0.19/include/class_ldapMultiplexer.inc000066400000000000000000000043061304016502700235110ustar00rootroot00000000000000object = $object; /* Set result resource */ $this->sr = $this->object->getSearchResource(); } /*! * \brief Call a ldap method with his parameters * * \param string $methodName The name of the method * * \param $parameters Parameters for the method */ public function __call($methodName, $parameters) { /* Add resource pointer if the mentioned methods are used */ if (in_array($methodName, array('search','ls','cat','fetch','clearResult','resetResult','count','getDN','rmdir_recursive','create_missing_trees','import_single_entry','import_complete_ldif'))) { array_unshift($parameters, $this->sr); } return call_user_func_array(array($this->object, $methodName), $parameters); } /* * \brief Get a member name from a ldap object * * \param string $memberName */ public function __get($memberName) { return $this->object->$memberName; } } ?> fusiondirectory-1.0.19/include/class_listing.inc000066400000000000000000001626011304016502700220120ustar00rootroot00000000000000pid = preg_replace("/[^0-9]/", "", microtime(TRUE)); if (!$this->load($data)) { if (is_array($data)) { die("Cannot parse data : ".print_r($data, TRUE)); } else { die("Cannot parse $data!"); } } // Set base for filter if ($this->baseMode) { $this->base = session::global_get("CurrentMainBase"); if ($this->base == NULL) { $this->base = $config->current['BASE']; } $this->refreshBasesList(); } else { $this->base = $config->current['BASE']; } // Move footer information $this->showFooter = ($config->get_cfg_value("listSummary") == "TRUE"); // Register build in filters $this->registerElementFilter("departmentType", "listing::filterDepartmentType"); $this->registerElementFilter("departmentLink", "listing::filterDepartmentLink"); $this->registerElementFilter("objectType", "listing::filterObjectType"); $this->registerElementFilter("link", "listing::filterLink"); $this->registerElementFilter("nameLink", "listing::filterNameLink"); $this->registerElementFilter("actions", "listing::filterActions"); // Load exporters foreach (array_keys($class_mapping) as $class) { if (preg_match('/Exporter$/', $class)) { $info = call_user_func(array($class, "getInfo")); if ($info != NULL) { $this->exporter = array_merge($this->exporter, $info); } } } // Instanciate base selector $this->baseSelector = new baseSelector($this->bases, $this->base); } /*! * \brief Set a CopyPasteHandler * * \param $handler The handler * * \see CopyPasteHandler */ function setCopyPasteHandler($handler) { $this->copyPasteHandler = $handler; } /*! * \brief Set the height * * \param integer $height */ function setHeight($height) { $this->height = $height; } /*! * \brief Set a SnapshotHandler * * \param $handler The handler * * \see SnapshotHandler */ function setSnapshotHandler($handler) { if ($handler->enabled()) { $this->snapshotHandler = $handler; } else { $this->snapshotHandler = NULL; } } /*! * \brief Set a filter * * \param string $filter * * \see filter */ function setFilter($filter) { $this->filter = $filter; $filter->headpage = $this; if ($this->departmentBrowser) { $this->departments = $this->getDepartments(); } $this->filter->setBase($this->base); } /*! * \brief Save element from a filter * * \param string $name * * \param string $call */ function registerElementFilter($name, $call) { if (!isset($this->filters[$name])) { $this->filters[$name] = $call; return TRUE; } return FALSE; } /*! * \brief Load a file * * \param string $data either a filename or an array representation of the XML */ function load($data) { if (is_array($data)) { $this->xmlData = $data; } else { $contents = file_get_contents($data); $this->xmlData = xml::xml2array($contents, 1); } $this->filterCache = array(); if (!isset($this->xmlData['list'])) { return FALSE; } $this->xmlData = $this->xmlData["list"]; // Load some definition values foreach (array("departmentBrowser", "departmentRootVisible", "multiSelect", "baseMode") as $token) { if (isset($this->xmlData['definition'][$token]) && $this->xmlData['definition'][$token] == "true") { $this->$token = TRUE; } } // Fill objectTypes from departments and xml definition $types = departmentManagement::getDepartmentTypes(); foreach ($types as $type) { $i = objects::infos($type); $this->departmentTypes[strtoupper($type)] = array( 'label' => $i['name'], 'image' => $i['icon'], 'category' => $i['aclCategory'], 'class' => $i['mainTab'], 'filter' => ldapFilter::parse($i['filter']), 'nameAttr' => $i['nameAttr'], ); } $this->categories = array(); if (isset($this->xmlData['definition']['objectType'])) { if (isset($this->xmlData['definition']['objectType']['label'])) { $this->xmlData['definition']['objectType'] = array($this->xmlData['definition']['objectType']); } foreach ($this->xmlData['definition']['objectType'] as $index => $otype) { $this->objectTypes[$otype['objectClass']] = $otype; if (isset($otype['category'])) { $this->categories[] = $otype['category']; } } } $this->categories = array_unique($this->categories); // Parse layout per column $this->colprops = $this->parseLayout($this->xmlData['table']['layout']); // Prepare table headers $this->renderHeader(); // Assign headline/Categories $this->headline = _($this->xmlData['definition']['label']); if (!is_array($this->categories)) { $this->categories = array($this->categories); } // Evaluate columns to be exported if (isset($this->xmlData['table']['column'])) { foreach ($this->xmlData['table']['column'] as $index => $cfg) { if (isset($cfg['export']) && $cfg['export'] == "true") { $this->exportColumns[] = $index; } } } if (isset($this->xmlData['actiontriggers']['action']['type'])) { $this->xmlData['actiontriggers']['action'] = array($this->xmlData['actiontriggers']['action']); } return TRUE; } function renderHeader() { $this->header = array(); $this->plainHeader = array(); // Initialize sort? $sortInit = FALSE; if (!$this->sortDirection) { $this->sortColumn = 0; if (isset($this->xmlData['definition']['defaultSortColumn'])) { $this->sortColumn = $this->xmlData['definition']['defaultSortColumn']; } else { $this->sortAttribute = ""; } $this->sortDirection = array(); $sortInit = TRUE; } if (isset($this->xmlData['table']['column'])) { foreach ($this->xmlData['table']['column'] as $index => $cfg) { // Initialize everything to one direction if ($sortInit) { $this->sortDirection[$index] = FALSE; } $sorter = ""; if ($index == $this->sortColumn && isset($cfg['sortAttribute']) && isset($cfg['sortType'])) { $this->sortAttribute = $cfg['sortAttribute']; $this->sortType = $cfg['sortType']; $sorter = " ".($this->sortDirection[$index]?_("; } $sortable = (isset($cfg['sortAttribute'])); $link = "href='?plug=".$_GET['plug']."&PID=".$this->pid."&act=SORT_$index'"; if (isset($cfg['label'])) { if ($sortable) { $this->header[$index] = "colprops[$index].">"._($cfg['label'])."$sorter"; } else { $this->header[$index] = "colprops[$index].">"._($cfg['label']).""; } $this->plainHeader[] = _($cfg['label']); } else { if ($sortable) { $this->header[$index] = "colprops[$index]."> $sorter"; } else { $this->header[$index] = "colprops[$index]."> "; } $this->plainHeader[] = ""; } } } } /*! * \brief Render */ function render() { // Check for exeeded sizelimit if (($message = check_sizelimit()) != "") { return $message; } // Some browsers don't have the ability do do scrollable table bodies, filter them // here. $switch = FALSE; if (preg_match('/(Opera|Konqueror|Safari)/i', $_SERVER['HTTP_USER_AGENT'])) { $switch = TRUE; } // Initialize list $result = "\n"; $result .= "\n"; $height = 450; if ($this->height != 0) { $result .= "\n"; $height = $this->height; } $result .= "
    \n"; $result .= "\n"; $this->numColumns = count($this->colprops) + ($this->multiSelect?1:0); // Build list header $result .= "\n"; if ($this->multiSelect) { $width = "24px"; if (preg_match('/Konqueror/i', $_SERVER['HTTP_USER_AGENT'])) { $width = "28px"; } $result .= "\n"; } foreach ($this->header as $header) { $result .= $header; } $result .= "\n"; // Build list body $result .= "\n"; // No results? Just take an empty colspanned row if (count($this->entries) + count($this->departments) == 0) { $result .= ""; } // Line color alternation $alt = 0; $deps = 0; // Draw department browser if configured and we're not in sub mode $this->useSpan = FALSE; if ($this->departmentBrowser && ($this->filter->scope != 'sub')) { // Fill with department browser if configured this way $departmentIterator = new departmentSortIterator($this->departments, $this->sortDirection[$this->sortColumn]); foreach ($departmentIterator as $row => $entry) { $result .= ''; // Render multi select if needed if ($this->multiSelect) { $result .= ''; } // Render defined department columns, fill the rest with some stuff $rest = $this->numColumns - 1; foreach ($this->xmlData['table']['department'] as $index => $cfg) { $colspan = 1; if (isset($cfg['span'])) { $colspan = $cfg['span']; $this->useSpan = TRUE; } $result .= ''; $rest -= $colspan; } // Fill remaining cols with nothing $last = $this->numColumns - $rest; for ($i = 0; $i < $rest; $i++) { $result .= ''; } $result .= ''; $alt++; } $deps = $alt; } // Fill with contents, sort as configured foreach ($this->entries as $row => $entry) { $trow = ''; // Render multi select if needed if ($this->multiSelect) { $trow .= ''."\n"; } foreach ($this->xmlData['table']['column'] as $index => $cfg) { $renderedCell = $this->renderCell('column', $index, $cfg['value'], $entry, $row); $trow .= ''."\n"; // Save rendered column $sort = preg_replace('/.*>([^<]+)<.*$/', '$1', $renderedCell); $sort = str_replace(' ', '', $sort); if (strpos($sort, '<') !== FALSE) { $sort = ''; } $this->entries[$row]['_sort'.$index] = $sort; } // Save rendered entry $this->entries[$row]['_rendered'] = $trow; } // Complete list by sorting entries for _sort$index and appending them to the output $entryIterator = new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType); foreach ($entryIterator as $row => $entry) { // Apply custom class to row? if (preg_match("//i", $entry['_rendered'], $matches)) { $result .= "\n"; $result .= preg_replace("/]+>/", '', $entry['_rendered']); } else { $result .= "\n"; $result .= $entry['_rendered']; } $result .= "\n"; $alt++; } // Close list body $result .= "
     
     colprops[$index].'>'.$this->renderCell('department', $index, $cfg['value'], $entry, $row).'colprops[$last + $i - 1].'> 
    colprops[$index].'>'.$renderedCell.'
    "; // Add the footer if requested if ($this->showFooter) { $result .= '
    '; if ($this->departmentBrowser && ($this->filter->scope != 'sub')) { foreach ($this->departmentTypes as $objectType) { if (isset($this->objectTypeCount[$objectType['label']])) { $result .= ''.$objectType['label'].' '.$this->objectTypeCount[$objectType['label']]."    "; } } } foreach ($this->objectTypes as $objectType) { if (isset($this->objectTypeCount[$objectType['label']])) { $result .= ''.$objectType['label'].' '.$this->objectTypeCount[$objectType['label']]."    "; } } $result .= '
    '; } // Close list $result .= $switch?"":""; // Add scroll positioner $result .= ''; $smarty = get_smarty(); $smarty->assign("usePrototype", "true"); $smarty->assign("FILTER", $this->filter->render()); $smarty->assign("SIZELIMIT", print_sizelimit_warning()); $smarty->assign("LIST", $result); $smarty->assign("MULTISELECT", $this->multiSelect); // Assign navigation elements $nav = $this->renderNavigation(); foreach ($nav as $key => $html) { $smarty->assign($key, $html); } // Assign action menu / base $smarty->assign("ACTIONS", $this->renderActionMenu()); $smarty->assign("BASE", $this->renderBase()); // Assign separator $smarty->assign("SEPARATOR", "-"); // Assign summary $smarty->assign("HEADLINE", $this->headline); // Try to load template from plugin the folder first... $file = get_template_path($this->xmlData['definition']['template'], TRUE); // ... if this fails, try to load the file from the theme folder. if (!file_exists($file)) { $file = get_template_path($this->xmlData['definition']['template']); } return $smarty->fetch($file); } /*! * \brief Update a listing */ function update() { $ui = get_userinfo(); // Take care of base selector if ($this->baseMode) { $this->baseSelector->update(); // Check if a wrong base was supplied if (!$this->baseSelector->checkLastBaseUpdate()) { msg_dialog::display(_("Error"), msgPool::check_base(), ERROR_DIALOG); } } // Save base $refresh = FALSE; if ($this->baseMode) { $this->base = $this->baseSelector->getBase(); session::global_set("CurrentMainBase", $this->base); $refresh = TRUE; } // Reset object counter / DN mapping $this->objectTypeCount = array(); $this->objectDnMapping = array(); // Do not do anything if this is not our PID if ($refresh || !(isset($_REQUEST['PID']) && $_REQUEST['PID'] != $this->pid)) { // Save position if set if (isset($_POST['position_'.$this->pid]) && is_numeric($_POST['position_'.$this->pid])) { $this->scrollPosition = $_POST['position_'.$this->pid]; } // Override the base if we got a message from the browser navigation if ($this->departmentBrowser && isset($_GET['act'])) { if (preg_match('/^department_([0-9]+)$/', validate($_GET['act']), $match)) { if (isset($this->departments[$match[1]])) { $this->base = $this->departments[$match[1]]['dn']; if ($this->baseMode) { $this->baseSelector->setBase($this->base); } session::global_set("CurrentMainBase", $this->base); } } } // Filter POST with "act" attributes -> posted from action menu if (isset($_POST['exec_act']) && $_POST['act'] != '') { if (preg_match('/^export.*$/', $_POST['act']) && isset($this->exporter[$_POST['act']])) { $exporter = $this->exporter[$_POST['act']]; $userinfo = ", "._("created by")." ".$ui->cn." - ".strftime('%A, %d. %B %Y, %H:%M:%S'); $entryIterator = new listingSortIterator($this->entries, $this->sortDirection[$this->sortColumn], "_sort".$this->sortColumn, $this->sortType); $sortedEntries = array(); foreach ($entryIterator as $entry) { $sortedEntries[] = $entry; } $instance = new $exporter['class']($this->headline.$userinfo, $this->plainHeader, $sortedEntries, $this->exportColumns); $type = call_user_func(array($exporter['class'], "getInfo")); $type = $type[$_POST['act']]; send_binary_content($instance->query(), $type['filename'], $type = $type['mime']); } } // Filter GET with "act" attributes if (isset($_GET['act'])) { $key = validate($_GET['act']); if (preg_match('/^SORT_([0-9]+)$/', $key, $match)) { // Switch to new column or invert search order? $column = $match[1]; if ($this->sortColumn != $column) { $this->sortColumn = $column; } else { $this->sortDirection[$column] = !$this->sortDirection[$column]; } // Allow header to update itself according to the new sort settings $this->renderHeader(); } } // Override base if we got signals from the navigation elements $action = ""; foreach (array_keys($_POST) as $key) { if (preg_match('/^(ROOT|BACK|HOME)_x$/', $key, $match)) { $action = $match[1]; break; } } // Navigation handling if ($action == 'ROOT') { $deps = $ui->get_module_departments($this->categories); $this->setBase($deps[0]); session::global_set("CurrentMainBase", $this->base); } if ($action == 'BACK') { $base = preg_replace("/^[^,]+,/", "", $this->base); $this->tryAndSetBase($base); } if ($action == 'HOME') { $this->tryAndSetBase(get_base_from_people($ui->dn)); } } // Reload departments if ($this->departmentBrowser) { $this->departments = $this->getDepartments(); } // Update filter and refresh entries $this->filter->setBase($this->base); $this->entries = $this->filter->query(); // Fix filter if querie returns NULL if ($this->entries == NULL) { $this->entries = array(); } $this->dnToRow = array(); foreach ($this->entries as $row => $entry) { $this->dnToRow[$entry['dn']] = $row; } // Init snapshot list for renderSnapshotActions if (is_object($this->snapshotHandler)) { $this->snapshotHandler->initSnapshotCache($this->base); } } /*! * \brief Set a new base valor * * \param string $base */ function setBase($base) { $this->base = $base; if ($this->baseMode) { $this->baseSelector->setBase($this->base); } } function tryAndSetBase($base) { $ui = get_userinfo(); $deps = $ui->get_module_departments($this->categories); if (in_array_ics($base, $deps)) { $this->setBase($base); session::global_set("CurrentMainBase", $this->base); } } /*! * \brief Accessor of the base * * \return the base */ function getBase() { return $this->base; } /*! * \brief Parse a layout * * \param string $layout */ function parseLayout($layout) { $result = array(); $layout = preg_replace("/^\|/", "", $layout); $layout = preg_replace("/\|$/", "", $layout); $cols = explode("|", $layout); foreach ($cols as $index => $cfg) { if ($cfg != "") { $res = ""; $classes = ""; $components = explode(';', $cfg); foreach ($components as $part) { switch ($part) { case 'r': $res .= 'text-align:right;'; break; case 'l': $res .= 'text-align:left;'; break; case 'c': $res .= 'text-align:center;'; break; case 'o': $classes .= 'optional '; break; default: if (preg_match('/^[0-9]+(|px|%)(-d)?$/', $part)) { if (!preg_match('/-d$/', $part)) { /* d suffix means dynamic, ie no fixed width */ $res .= "width:$part;"; } else { /* Remove the -d suffix */ $part = preg_replace('/-d$/', '', $part); } $res .= "min-width:$part;"; } } } $result[$index] = " style='$res'"; if ($classes != "") { $result[$index] .= " class='$classes'"; } } else { $result[$index] = ""; } } // Save number of columns for later use $this->numColumns = count($cols); return $result; } function renderCell($table, $index, $data, $cfg, $row) { // Replace flat attributes in data string $offset = 0; while (preg_match('/%{([^}:]+)}/', $data, $m, PREG_OFFSET_CAPTURE, $offset)) { if (isset($cfg[$m[1][0]])) { $replace = $cfg[$m[1][0]]; if (is_array($replace)) { $replace = $replace[0]; } $replace = htmlentities($replace, ENT_COMPAT, 'UTF-8'); } else { $replace = ' '; } $data = substr_replace($data, $replace, $m[0][1], strlen($m[0][0])); $offset = $m[0][1] + strlen($replace); } // Watch out for filters and prepare to execute them $data = $this->processElementFilter($table, $index, $data, $cfg, $row); // Replace all non replaced %{...} instances because they // are non resolved attributes or filters $data = preg_replace('/%{[^}]+}/', ' ', $data); return $data; } function renderBase() { if (!$this->baseMode) { return; } return $this->baseSelector->render(); } function processElementFilter($type, $index, $data, $cfg, $row) { if (isset($this->filterCache[$type.$index])) { $filters = $this->filterCache[$type.$index]; } else { preg_match_all('/%{filter:([^(]+)\((.*)\)}/', $data, $matches, PREG_SET_ORDER); $filters = array(); foreach ($matches as $match) { $cl = ''; $method = ''; if (!preg_match('/^(.*)::(.*)$/', $match[1], $m)) { if (!isset($this->filters[$match[1]]) || !preg_match('/^(.*)::(.*)$/', $this->filters[$match[1]], $m)) { trigger_error('Unknown filter '.$match[1]); continue; } } $cl = $m[1]; $method = $m[2]; // Prepare params for function call preg_match_all('/"[^"]+"|[^,]+/', $match[2], $parts); $filters[$match[0]] = array($cl, $method, $parts[0]); } $this->filterCache[$type.$index] = $filters; } foreach ($filters as $filterstring => $filter) { list ($cl, $method, $parts) = $filter; $params = array(); foreach ($parts as $param) { switch ($param) { case 'row': $params[] = $row; break; case 'pid': $params[] = $this->pid; break; case 'base': $params[] = $this->getBase(); break; case 'entry': $params[] = $cfg; break; case 'objectType': $params[] = $this->getObjectType($cfg['dn'], $cfg); break; case 'dn': $params[] = LDAP::fix($cfg['dn']); break; default: if (preg_match('/^"(.*)"$/', $param, $m)) { // Fixie with "" is passed directly $params[] = $m[1]; } elseif (isset($cfg[$param])) { // LDAP variables get replaced by their objects $values = $cfg[$param]; if (is_array($values)) { unset($values['count']); } $params[] = $values; } else { $params[] = ''; } break; } } // Replace information if ($cl == 'listing') { // Non static call $data = preg_replace('/'.preg_quote($filterstring).'/', call_user_func_array(array($this, $method), $params), $data); } else { // Static call $data = preg_replace('/'.preg_quote($filterstring).'/', call_user_func_array(array($cl, $method), $params), $data); } } return $data; } /*! * \brief Get the object type * * \param string $classes */ function getObjectType($dn, $attrs) { return $this->genericGetType($dn, $attrs, $this->objectTypes); } /*! * \brief Get the department type */ function getDepartmentType($dn, $attrs) { return $this->genericGetType($dn, $attrs, $this->departmentTypes); } /*! * \brief Get the object or department type */ protected function genericGetType($dn, $attrs, $types) { if (isset($this->objectDnMapping[$dn])) { return $this->objectDnMapping[$dn]; } $classes = $attrs['objectClass']; // Walk thru types and see if there's something matching foreach ($types as $type => $objectType) { if (isset($objectType['filter'])) { if ($objectType['filter']($attrs)) { $this->objectDnMapping[$dn] = $type; return $this->objectDnMapping[$dn]; } else { continue; } } $ocs = $objectType['objectClass']; if (!is_array($ocs)) { $ocs = array($ocs); } $found = TRUE; foreach ($ocs as $oc) { if (preg_match('/^!(.*)$/', $oc, $match)) { $oc = $match[1]; if (in_array($oc, $classes)) { $found = FALSE; } } else { if (!in_array($oc, $classes)) { $found = FALSE; } } } if ($found) { $this->objectDnMapping[$dn] = $type; return $this->objectDnMapping[$dn]; } } return NULL; } function getObjectTypeInfos($dn, $attrs) { $type = $this->getObjectType($dn, $attrs); if ($type === NULL) { return NULL; } return $this->objectTypes[$type]; } /*! * \brief Icon of the object type * * \param string $row The row * * \param string $dn The DN */ function filterObjectType($row, $dn) { return $this->filterGenericType($dn, $this->objectTypes, $this->getObjectType($dn, $this->entries[$row])); } /*! * \brief Generic method for department and objects once type is known */ protected function filterGenericType($dn, $types, $type) { $result = " "; if ($type) { $result = ''.$type.''; if (!isset($this->objectTypeCount[$types[$type]['label']])) { $this->objectTypeCount[$types[$type]['label']] = 0; } $this->objectTypeCount[$types[$type]['label']]++; } return $result; } /*! * \brief Icon of the department type * * \param string $row The row * * \param string $dn The DN */ function filterDepartmentType($row, $dn) { return $this->filterGenericType($dn, $this->departmentTypes, $this->getDepartmentType($dn, $this->departments[$row])); } /*! * \brief Filter actions * * \param string $dn The DN * * \param string $row * * \param string $classes */ function filterActions($dn, $row, $classes) { // Do nothing if there's no menu defined if (!isset($this->xmlData['actiontriggers']['action'])) { return " "; } // Go thru all actions $result = ""; foreach ($this->xmlData['actiontriggers']['action'] as &$action) { // If there's an objectclass definition and we don't have it // add an empty picture here. if (isset($action['objectclass'])) { $objectclass = $action['objectclass']; if (preg_match('/^!(.*)$/', $objectclass, $m)) { $objectclass = $m[1]; if (in_array($objectclass, $classes)) { $result .= ' '; continue; } } elseif (is_string($objectclass)) { if (!in_array($objectclass, $classes)) { $result .= ' '; continue; } } elseif (is_array($objectclass)) { if (count(array_intersect($objectclass, $classes)) != count($objectclass)) { $result .= ' '; continue; } } } // Skip the entry completely if there's no permission to execute it if (!$this->hasActionPermission($action, $dn, $row)) { $result .= ' '; continue; } // Skip entry if the pseudo filter does not fit if (isset($action['filter']) && preg_match('/^[a-z0-9_]+!?=[a-z0-9_]+$/i', $action['filter'])) { list($fa, $fv) = explode('=', $action['filter']); if (preg_match('/^(.*)!$/', $fa, $m)) { $fa = $m[1]; if (isset($this->entries[$row][$fa]) && $this->entries[$row][$fa][0] == $fv) { $result .= ' '; continue; } } else { if (!isset($this->entries[$row][$fa]) && !$this->entries[$row][$fa][0] == $fv) { $result .= ' '; continue; } } } if ($action['type'] == 'entry') { // Render normal entries as usual $label = $this->processElementFilter('label', $action['name'], $action['label'], $this->entries[$row], $row); $image = $this->processElementFilter('image', $action['name'], $action['image'], $this->entries[$row], $row); $result .= ''; } elseif (($action['type'] == 'copypaste') || ($action['type'] == 'snapshot')) { // Handle special types $objectType = $this->getObjectTypeInfos($dn, $this->entries[$row]); $category = $class = NULL; if ($objectType) { $category = $objectType['category']; $class = $objectType['class']; } if ($action['type'] == 'copypaste') { $copy = (!isset($action['copy']) || ($action['copy'] == 'true')); $cut = (!isset($action['cut']) || ($action['cut'] == 'true')); $result .= $this->renderCopyPasteActions($row, $this->entries[$row]['dn'], $category, $class, $copy, $cut); } else { $result .= $this->renderSnapshotActions($row, $this->entries[$row]['dn'], $category, $class); } } } unset($action); return $result; } /*! * \brief Filter the department link * * \param string $row * * \param string $dn The DN * * \param array $description */ function filterDepartmentLink($row, $dn, $description) { $attr = $this->departments[$row]['sort-attribute']; $name = $this->departments[$row][$attr]; if (is_array($name)) { $name = $name[0]; } $result = htmlentities(sprintf("%s [%s]", $name, $description[0]), ENT_COMPAT, 'UTF-8'); return "pid&act=department_$row' title='$dn'>$result"; } /*! * \brief Filter link with object name */ function filterNameLink($row, $dn) { $infos = $this->getObjectTypeInfos($dn, $this->entries[$row]); $value = $this->entries[$row][$infos['nameAttr']]; if (is_array($value)) { unset($value['count']); } return $this->filterLink($row, $dn, "%s", $value); } /*! * \brief Filter link */ function filterLink() { $row = func_get_arg(0); $pid = $this->pid; $dn = LDAP::fix(func_get_arg(1)); $params = array(func_get_arg(2)); // Collect sprintf params for ($i = 3;$i < func_num_args();$i++) { $val = func_get_arg($i); if (is_array($val)) { $val = implode("
    \n", $val); } if (!empty($val)) { $params[] = htmlentities($val, ENT_COMPAT, 'UTF-8'); } } $result = ' '; if (count($params) > 1) { $trans = call_user_func_array('sprintf', $params); if ($trans != '') { return ''.$trans.''; } } return $result; } function renderNavigation() { $result = array(); $enableBack = TRUE; $enableRoot = TRUE; $enableHome = TRUE; $ui = get_userinfo(); /* Check if base = first available base */ $deps = $ui->get_module_departments($this->categories); if (!count($deps) || $deps[0] == $this->filter->base) { $enableBack = FALSE; $enableRoot = FALSE; } /* Check if we are in users home department */ if (!count($deps) || $this->filter->base == get_base_from_people($ui->dn) || !in_array_ics(get_base_from_people($ui->dn), $deps)) { $enableHome = FALSE; } /* Draw root button */ if ($enableRoot) { $result["ROOT"] = ""; } else { $result["ROOT"] = ""._("Root").""; } /* Draw back button */ if ($enableBack) { $result["BACK"] = ""; } else { $result["BACK"] = ""._("Up").""; } /* Draw home button */ if ($enableHome) { $result["HOME"] = ''; } else { $result["HOME"] = ""._("Home").""; } /* Draw reload button, this button is enabled everytime */ $result["RELOAD"] = ""; return $result; } /*! * \brief Get action */ function getAction() { global $config; // Do not do anything if this is not our PID, or there's even no PID available... if (!isset($_REQUEST['dn']) && (!isset($_REQUEST['PID']) || $_REQUEST['PID'] != $this->pid)) { return; } // Save position if set if (isset($_POST['position_'.$this->pid]) && is_numeric($_POST['position_'.$this->pid])) { $this->scrollPosition = $_POST['position_'.$this->pid]; } $result = array("targets" => array(), "action" => ""); // Filter GET with "act" attributes if (isset($_GET['act'])) { $key = validate($_GET['act']); if (preg_match('/^listing_([a-zA-Z_]+)_([0-9]+)$/', $key, $m)) { $action = $m[1]; $target = $m[2]; if (isset($this->entries[$target]['dn'])) { $result['action'] = $action; $result['targets'][] = $this->entries[$target]['dn']; } } elseif (isset($_REQUEST['dn']) && preg_match('/^listing_([a-zA-Z_]+)$/', $key, $m)) { /* Pre-render list to init things if a dn is gonna be opened on first load */ $this->setBase($config->current['BASE']); $this->filter->setCurrentScope('sub'); $this->update(); $this->render(); $dn = urldecode($_REQUEST['dn']); $result['action'] = $m[1]; $result['targets'][] = $dn; // Make sure no other management class intercept the same dn unset($_REQUEST['dn']); } // Drop targets if empty if (count($result['targets']) == 0) { unset($result['targets']); } if (preg_match('/^(edit)_([a-zA-Z_]+)$/', $result['action'], $m)) { $result['action'] = $m[1]; $result['subaction'] = $m[2]; } return $result; } // Filter POST with "listing_" attributes foreach (array_keys($_POST) as $key) { // Capture selections if (preg_match('/^listing_selected_[0-9]+$/', $key)) { $target = preg_replace('/^listing_selected_([0-9]+)$/', '$1', $key); if (isset($this->entries[$target]['dn'])) { $result['targets'][] = $this->entries[$target]['dn']; } continue; } // Capture action with target - this is a one shot if (preg_match('/^listing_[a-zA-Z_]+_[0-9]+(|_x)$/', $key)) { $target = preg_replace('/^listing_[a-zA-Z_]+_([0-9]+)(|_x)$/', '$1', $key); if (isset($this->entries[$target]['dn'])) { $result['action'] = preg_replace('/^listing_([a-zA-Z_]+)_[0-9]+(|_x)$/', '$1', $key); $result['targets'] = array($this->entries[$target]['dn']); } break; } // Capture action without target if (preg_match('/^listing_[a-zA-Z_]+(|_x)$/', $key)) { $result['action'] = preg_replace('/^listing_([a-zA-Z_]+)(|_x)$/', '$1', $key); continue; } } // Filter POST with "act" attributes -> posted from action menu if (isset($_POST['act']) && $_POST['act'] != '') { if (!preg_match('/^export.*$/', $_POST['act'])) { $result['action'] = validate($_POST['act']); } } // Drop targets if empty if (count($result['targets']) == 0) { unset($result['targets']); } if (preg_match('/^(edit)_([a-zA-Z_]+)/', $result['action'], $m)) { $result['action'] = $m[1]; $result['subaction'] = $m[2]; } return $result; } function renderActionMenu() { // Don't send anything if the menu is not defined if (!isset($this->xmlData['actionmenu']['action'])) { return ""; } // Make sure we got an array of actions if (isset($this->xmlData['actionmenu']['action']['type'])) { $this->xmlData['actionmenu']['action'] = array($this->xmlData['actionmenu']['action']); } // Load shortcut $result = ''. '
    '. '
    • '._('Actions'). ' down arrow'; // Build ul/li list $result .= $this->recurseActions($this->xmlData['actionmenu']['action']); return '
      '.$result.'
    '; } function renderActionMenuActionLink($separator, $action, $name, $icon) { return '' .'' .''.$action.' '.$name.'' .''; } function recurseActions(&$actions) { global $class_mapping; static $level = 2; $result = "
      "; $separator = ""; foreach ($actions as &$action) { // Skip the entry completely if there's no permission to execute it if (!$this->hasActionPermission($action, $this->filter->base)) { continue; } // Skip entry if there're missing dependencies if (isset($action['depends'])) { $deps = is_array($action['depends'])?$action['depends']:array($action['depends']); foreach ($deps as $clazz) { if (!isset($class_mapping[$clazz])) { continue 2; } } } if ($action['type'] == "separator") { $separator = " style='border-top:1px solid #AAA' "; continue; } // Dive into subs if ($action['type'] == "sub" && isset($action['action'])) { $level++; if (isset($action['label'])) { $img = ""; if (isset($action['image'])) { $img = "".$action[ "; } $result .= "
    • $img"._($action['label'])." forward arrow"; } // Ensure we've an array of actions, this enables sub menus with only one action. if (isset($action['action']['type'])) { $action['action'] = array($action['action']); } $result .= $this->recurseActions($action['action'])."
    • "; $level--; $separator = ""; continue; } // Render entry elseways if (isset($action['label'])) { $result .= $this->renderActionMenuActionLink($separator, $action['name'], _($action['label']), $action['image']); } // Check for special types switch ($action['type']) { case 'copypaste': $cut = !isset($action['cut']) || $action['cut'] != "false"; $copy = !isset($action['copy']) || $action['copy'] != "false"; $result .= $this->renderCopyPasteMenu($separator, $copy, $cut); break; case 'snapshot': $result .= $this->renderSnapshotMenu($separator); break; case 'exporter': $result .= $this->renderExporterMenu($separator); break; case 'daemon': $result .= $this->renderDaemonMenu($separator); break; } $separator = ""; } unset($action); $result .= "
    "; return $result; } /*! * \brief Check if user have action permission * * \param string $action * * \param string $dn The DN * * \param string $row * */ function hasActionPermission(&$action, $dn, $row = NULL) { global $ui; if (isset($action['acl'])) { if (isset ($action['aclInfos'])) { $aclInfos = $action['aclInfos']; } else { /* First time we check permission for this action */ if ($row !== NULL) { $otype = $this->getObjectTypeInfos($dn, $this->entries[$row]); } else { $otype = FALSE; } $acls = $action['acl']; if (!is_array($acls)) { $acls = array($acls); } $aclInfos = array(); // Every ACL has to pass foreach ($acls as $acl) { $module = $this->categories; $aclList = array(); // Replace %acl if available if ($otype) { $acl = str_replace('%acl', $otype['category'].'/'.$otype['class'], $acl); } // Split for category and plugins if needed if (preg_match('/^\[([rwcdm]+)\]$/', $acl, $match)) { // match for "[rw]" style entries $aclList = array($match[1]); } elseif (preg_match('/^([a-zA-Z0-9]+\/?[a-zA-Z0-9]+)\[([rwcdm]+)\]$/', $acl, $match)) { // match for "user[rw]" style entries // match for "user/user[rw]" style entries $module = $match[1]; $aclList = array($match[2]); } elseif (preg_match('/^([a-zA-Z0-9]+\/[a-zA-Z0-9]+)\[([a-zA-Z0-9]+:[rwcdm]+(,[a-zA-Z0-9]+:[rwcdm]+)*)\]$/', $acl, $match)) { // match "user/user[userPassword:rw(,...)*]" style entries $module = $match[1]; $aclList = explode(',', $match[2]); } $modules = $module; if (!is_array($modules)) { $modules = array($modules); } $aclInfos[] = array($aclList, $modules); } $action['aclInfos'] = $aclInfos; } foreach ($aclInfos as $aclInfo) { list ($aclList, $modules) = $aclInfo; // Walk thru prepared ACL by using $module foreach ($aclList as $sAcl) { $checkAcl = ''; // Category or detailed permission? foreach ($modules as $module) { if (strpos($module, '/') !== FALSE) { if (preg_match('/([a-zA-Z0-9]+):([rwcdm]+)/', $sAcl, $m)) { $checkAcl .= $ui->get_permissions($dn, $module, $m[1]); $sAcl = $m[2]; } else { $checkAcl .= $ui->get_permissions($dn, $module, '0'); } } else { $checkAcl .= $ui->get_category_permissions($dn, $module); } } // Split up remaining part of the acl and check if it we're // allowed to do something... $parts = str_split($sAcl); foreach ($parts as $part) { if (strpos($checkAcl, $part) === FALSE) { return FALSE; } } } } } return TRUE; } /*! * \brief Refresh the bases list */ function refreshBasesList() { global $config; $ui = get_userinfo(); // Fill internal bases list $this->bases = array(); $deps = $ui->get_module_departments($this->categories); foreach ($config->idepartments as $key => $dep) { if (in_array_ics($key, $deps)) { $this->bases[$key] = $dep; } } if (!empty($this->bases) && !isset($this->bases[$this->base])) { $this->base = key($this->bases); } // Populate base selector if already present if ($this->baseSelector && $this->baseMode) { $this->baseSelector->setBases($this->bases); $this->baseSelector->setBase($this->base); $this->baseSelector->update(TRUE); } } /*! * Get the depatments */ function getDepartments() { $departments = array(); $ui = get_userinfo(); // Get list of supported department types $types = departmentManagement::getDepartmentTypes(); // Load departments allowed by ACL $validDepartments = $ui->get_module_departments($this->categories); // Build filter and look in the LDAP for possible sub departments // of current base $filter = "(|"; $attrs = array("description", "objectClass"); foreach ($types as $type) { $i = objects::infos($type); $filter .= $i['filter']; // Specific key for departement objectTypes $attrs[] = $i['mainAttr']; } $filter .= ")"; $res = get_list($filter, $this->categories, $this->base, $attrs, GL_NONE); // Analyze list of departments foreach ($res as $department) { if (!in_array($department['dn'], $validDepartments)) { continue; } // Add the attribute where we use for sorting $oc = NULL; foreach ($types as $type) { if (objects::isOfType($department, $type)) { $oc = $type; break; } } $i = objects::infos($oc); $department['sort-attribute'] = $i['mainAttr']; // Move to the result list $departments[] = $department; } return $departments; } function renderCopyPasteMenu($separator, $copy = TRUE, $cut = TRUE) { // We can only provide information if we've got a copypaste handler // instance if (!is_object($this->copyPasteHandler)) { return ''; } // Presets $result = ""; $read = FALSE; $paste = FALSE; $ui = get_userinfo(); // Switch flags to on if there's at least one category which allows read/paste foreach ($this->categories as $category) { $read = $read || (strpos($ui->get_category_permissions($this->base, $category), 'r') !== FALSE); $paste = $paste || ($ui->is_pasteable($this->base, $category) == 1); } // Draw entries that allow copy and cut if ($read) { // Copy entry if ($copy) { $result .= $this->renderActionMenuActionLink($separator, 'copy', _('Copy'), 'geticon.php?context=actions&icon=edit-copy&size=16'); $separator = ''; } // Cut entry if ($cut) { $result .= $this->renderActionMenuActionLink($separator, 'cut', _('Cut'), 'geticon.php?context=actions&icon=edit-cut&size=16'); $separator = ''; } } // Draw entries that allow pasting entries if ($paste) { if ($this->copyPasteHandler->entries_queued()) { $result .= $this->renderActionMenuActionLink($separator, 'paste', _('Paste'), 'geticon.php?context=actions&icon=edit-paste&size=16'); } else { $result .= "paste "._("Paste").""; } } return $result; } function renderCopyPasteActions($row, $dn, $category, $class, $copy = TRUE, $cut = TRUE) { // We can only provide information if we've got a copypaste handler // instance if (!is_object($this->copyPasteHandler)) { return ''; } // Presets $ui = get_userinfo(); $result = ""; // Render cut entries if ($cut) { if ($ui->is_cutable($dn, $category, $class)) { $result .= ''; } else { $result .= ' '; } } // Render copy entries if ($copy) { if ($ui->is_copyable($dn, $category, $class)) { $result .= ''; } else { $result .= ' '; } } return $result; } function renderSnapshotMenu($separator) { // We can only provide information if we've got a snapshot handler instance if (!is_object($this->snapshotHandler)) { return ''; } // Presets $result = ""; $ui = get_userinfo(); if ($ui->allow_snapshot_restore($this->base, $this->categories)) { // Check if there is something to restore $restore = FALSE; foreach ($this->snapshotHandler->getSnapshotBases() as $base) { $restore = $restore || count($this->snapshotHandler->getDeletedSnapshots($base)) > 0; } // Draw icons according to the restore flag if ($restore) { $result .= $this->renderActionMenuActionLink($separator, 'restore', _('Restore snapshots'), 'geticon.php?context=actions&icon=document-restore&size=16'); } else { $result .= "restore "._("Restore snapshots").""; } } return $result; } function renderExporterMenu($separator) { // Presets $result = ""; // Draw entries $result .= "export "._("Export list")." arrow
      "; // Export CVS as build in exporter foreach ($this->exporter as $action => $exporter) { $result .= $this->renderActionMenuActionLink('', $action, $exporter['label'], $exporter['image']); } // Finalize list $result .= "
    "; return $result; } function renderSnapshotActions($row, $dn, $category, $class, $copy = TRUE, $cut = TRUE) { /* We can only provide information if we've got a snapshot handler instance */ if (!is_object($this->snapshotHandler)) { return ''; } // Presets $result = ""; $ui = get_userinfo(); // Draw restore button if ($ui->allow_snapshot_restore($dn, $category)) { // Do we have snapshots for this dn? if ($this->snapshotHandler->hasSnapshots($dn)) { $result .= ""; } else { $result .= "restore"; } } // Draw snapshot button if ($ui->allow_snapshot_create($dn, $category)) { $result .= ""; } else { $result .= " "; } return $result; } function renderDaemonMenu($separator) { $result = ""; // If there is a daemon registered, draw the menu entries if (class_available("DaemonEvent")) { $events = DaemonEvent::get_event_types_by_category($this->categories); if (isset($events['BY_CLASS']) && count($events['BY_CLASS'])) { foreach ($events['BY_CLASS'] as $name => $event) { $result .= "".$event['MenuImage']." ".$event['s_Menu_Name'].""; $separator = ""; } } } return $result; } function getEntry($dn) { if (isset($this->dnToRow[$dn])) { return $this->entries[$this->dnToRow[$dn]]; } return NULL; } /*! * \brief Get listing entries */ function getEntries() { return $this->entries; } /*! * \brief Get type * * \param string $dn The DN */ function getType($dn) { if (isset($this->objectDnMapping[$dn])) { return $this->objectDnMapping[$dn]; } return NULL; } } ?> fusiondirectory-1.0.19/include/class_listingSortIterator.inc000066400000000000000000000102521304016502700243660ustar00rootroot00000000000000data = array_reverse($data, TRUE); } else { $this->data = $data; } } /*! * \brief Put the array pointer to the first element * * \return the first element of the array */ function rewind() { return reset($this->data); } /*! * \brief Get the current data element * * \return The current element pointed by array pointer */ function current() { return current($this->data); } /*! * \brief Get the key element * * \return the key element of the array */ function key() { return key($this->data); } /*! * \brief Get the next data element * * \return The next element pointed by array pointer */ function next() { return next($this->data); } /*! * \brief Check if the data array is valid * * \return TRUE if the array is valid, return FALSE otherwise */ function valid() { return (key($this->data) !== NULL); } } ?> fusiondirectory-1.0.19/include/class_logging.inc000066400000000000000000000120431304016502700217610ustar00rootroot00000000000000 * \version 2.6 * \date 11.04.2007 */ class logging { static $validActions = array('modify','create','remove','copy','snapshot','view','security','debug'); /*! * \brief logging method * * \param $action One of these values (modify|create|remove|snapshot|copy|view|security|debug) * * \param $objecttype represents the current edited objecttype, like user/user * * \param $object represents the current edited object dn * * \param $changes_array An array containing names of all touched attributes * * \param $result A status message, containing errors or success messages */ static function log ($action, $objecttype, $object, $changes_array = array(), $result = '') { global $config, $ui; if (!is_array($changes_array)) { trigger_error('log(string,string,string,array(),bool). Forth parameter must be an array.'); $changes_array = array(); } /* Create data object */ $entry = array( 'timestamp' => time(), 'action' => $action, 'objecttype' => $objecttype, 'object' => $object, 'changes' => $changes_array, 'result' => $result ); if (isset($ui->dn) && !empty($ui->dn)) { $entry['user'] = $ui->dn; } else { $entry['user'] = 'unknown'; } /* Check if all given values are valid */ $msgs = static::check($entry); if (count($msgs)) { foreach ($msgs as $msg) { trigger_error('Logging failed, reason was: '.$msg); msg_dialog::display(_('Internal error'), sprintf(_('Logging failed: %s'), $msg), ERROR_DIALOG); } } else { if (is_object($config) && preg_match('/true/i', $config->get_cfg_value('logging', ''))) { static::log_into_syslog($entry); if (in_array($action, $config->get_cfg_value('auditActions', array()))) { static::log_into_ldap($entry); } } } } /*! * \brief Check the options * * \param Array $entry to be checked */ static protected function check($entry = array()) { $msgs = array(); if (!isset($entry['action']) || !in_array($entry['action'], static::$validActions)) { $msgs[] = sprintf(_('Invalid option "%s" specified!'), $entry['action']); } if (!isset($entry['objecttype']) || empty($entry['objecttype'])) { $msgs[] = _('Specified objectType is empty or invalid!'); } return $msgs; } /* * \brief This function is used to into the systems syslog * * \param Array $entry Entry to be loged */ static protected function log_into_syslog($entry) { $str = ''; if (empty($entry['object']) && empty($entry['changes'])) { $str = '('.$entry['action'].') '.$entry['objecttype'].': '.$entry['result']; } else { $str = '('.$entry['action'].') '.$entry['object'].' of type '.$entry['objecttype'].' '.implode(',', $entry['changes']).': '.$entry['result']; } fusiondirectory_log($str); } /* * \brief This function is used to into the ldap for audit plugin * * \param Array $entry Entry to be loged */ static protected function log_into_ldap($entry) { global $config; if ($entry['objecttype'] == 'plugin/auditEvent') { // Avoid infinite loop return; } $tabObject = objects::create('auditEvent'); $baseObject = $tabObject->getBaseObject(); $baseObject->fdAuditDateTime = new DateTime('@'.$entry['timestamp']); $baseObject->fdAuditAction = $entry['action']; $baseObject->fdAuditAuthorDN = $entry['user']; $baseObject->fdAuditObjectType = $entry['objecttype']; $baseObject->fdAuditObject = $entry['object']; $baseObject->fdAuditAttributes = $entry['changes']; $baseObject->fdAuditResult = $entry['result']; $baseObject->base = $config->current['BASE']; $message = $tabObject->check(); if (count($message) == 0) { $tabObject->save(); } else { msg_dialog::displayChecks($message); } } } ?> fusiondirectory-1.0.19/include/class_management.inc000066400000000000000000000756771304016502700224750ustar00rootroot00000000000000plugname = $plugname; $this->headpage = $headpage; // Add copy&paste and snapshot handler. if (!$this->skipCpHandler) { $this->cpHandler = new CopyPasteHandler(); $this->headpage->setCopyPasteHandler($this->cpHandler); } if (!$this->skipSnapHandler && ($config->get_cfg_value("enableSnapshots") == "TRUE")) { $this->snapHandler = new SnapshotHandler(); $this->headpage->setSnapshotHandler($this->snapHandler); } // Register default actions $this->registerAction("new", "newEntry"); $this->registerAction("edit", "editEntry"); $this->registerAction("apply", "applyChanges"); $this->registerAction("save", "saveChanges"); $this->registerAction("cancel", "cancelEdit"); $this->registerAction("cancelDelete", "cancelEdit"); $this->registerAction("remove", "removeEntryRequested"); $this->registerAction("removeConfirmed", "removeEntryConfirmed"); $this->registerAction("copy", "copyPasteHandler"); $this->registerAction("cut", "copyPasteHandler"); $this->registerAction("paste", "copyPasteHandler"); if ($config->get_cfg_value('enableSnapshots') == 'TRUE') { $this->registerAction('snapshot', 'createSnapshotDialog'); $this->registerAction('restore', 'restoreSnapshotDialog'); } } /*! * \brief Execute this plugin * Handle actions/events, locking, snapshots, dialogs, tabs,... */ function execute() { // Ensure that html posts and gets are kept even if we see a 'Entry islocked' dialog. $vars = array('/^act$/','/^listing/','/^PID$/','/^FILTER_PID$/'); session::set('LOCK_VARS_TO_USE', $vars); /* Display the copy & paste dialog, if it is currently open */ $ret = $this->copyPasteHandler("", array()); if ($ret) { return $this->getHeader().$ret; } // Update filter if ($this->filter) { $this->filter->update(); session::global_set(get_class($this)."_filter", $this->filter); session::set('autocomplete', $this->filter); if (!$this->filter->isValid()) { msg_dialog::display(_("Filter error"), _("The filter is incomplete!"), ERROR_DIALOG); } } // Handle actions (POSTs and GETs) $str = $this->handleActions($this->detectPostActions()); if ($str) { return $this->getHeader().$str; } // Open single dialog objects if (is_object($this->dialogObject)) { if (method_exists($this->dialogObject, 'save_object')) { $this->dialogObject->save_object(); } if (method_exists($this->dialogObject, 'execute')) { $display = $this->dialogObject->execute(); $display .= $this->_getTabFooter(); return $this->getHeader().$display; } } // Display tab object. if ($this->tabObject instanceOf simpleTabs) { $this->tabObject->save_object(); $display = $this->tabObject->execute(); $display .= $this->_getTabFooter(); return $this->getHeader().$display; } // Set current restore base for snapshot handling. if (is_object($this->snapHandler)) { $bases = array(); foreach ($this->storagePoints as $sp) { $bases[] = $sp.$this->headpage->getBase(); } // No bases specified? Try base if (!count($bases)) { $bases[] = $this->headpage->getBase(); } $this->snapHandler->setSnapshotBases($bases); } // Display list return $this->renderList(); } function renderList() { $this->headpage->update(); $display = $this->headpage->render(); return $this->getHeader().$display; } function getHeadpage() { return $this->headpage; } function getFilter() { return $this->filter; } /*! * \brief Generates the plugin header which is displayed whenever a tab object is * opened. */ protected function getHeader() { if ($this->skipHeader) { return ""; } if (in_array_ics('plInfo', get_class_methods(get_class($this)))) { $plInfos = pluglist::pluginInfos(get_class($this)); $plTitle = $plInfos['plTitle']; $plIcon = $plInfos['plIcon']; } else { $plTitle = $this->plDescription; $plIcon = $this->plIcon; } if (!preg_match('/^geticon/', $plIcon)) { $plIcon = get_template_path($plIcon); } if (get_object_info() != '') { $display = print_header($plIcon, _($plTitle), LDAP::fix(get_object_info())); } else { $display = print_header($plIcon, _($plTitle)); } return $display; } /*! * \brief Generates the footer which is used whenever a tab object is * displayed. */ protected function _getTabFooter() { // Do not display tab footer for non tab objects if (!($this->tabObject instanceOf simpleTabs)) { return ""; } // Check if there is a dialog opened - We don't need any buttons in this case. if ($this->tabObject->dialogOpened()) { return ''; } // Skip footer if requested; if ($this->skipFooter) { return ""; } // In case an of locked entry, we may have opened a read-only tab. $str = ""; if (isset($this->tabObject->read_only) && ($this->tabObject->read_only == TRUE)) { $str .= '

    '."\n". ''."\n". '

    '; return $str; } else { // Display ok, (apply) and cancel buttons $str .= '

    '."\n"; $str .= ''."\n"; $str .= " \n"; if ($this->displayApplyBtn) { $str .= ''."\n"; $str .= " \n"; } $str .= ''."\n"; $str .= '

    '; } return $str; } /*! * \brief Initiates the removal for the given entries * and displays a confirmation dialog. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. */ protected function removeEntryRequested($action = "", $target = array(), $all = array()) { global $ui; $disallowed = array(); $this->dns = array(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, "Entry removel requested!"); // Check permissons for each target foreach ($target as $dn) { $acl = $ui->get_permissions($dn, $this->aclCategory."/".$this->aclPlugin); if (preg_match("/d/", $acl)) { $this->dns[] = $dn; } else { $disallowed[] = $dn; } } if (count($disallowed)) { msg_dialog::display(_("Permission"), msgPool::permDelete($disallowed), INFO_DIALOG); } // We've at least one entry to delete. if (count($this->dns)) { // check locks if ($locks = get_locks($this->dns)) { return gen_locked_message($locks, $this->dns); } // Add locks $dns_names = array(); foreach ($this->dns as $dn) { $dns_names[] = LDAP::fix($dn); } add_lock ($this->dns, $ui->dn); // Display confirmation dialog. $smarty = get_smarty(); $smarty->assign("info", msgPool::deleteInfo($dns_names, _($this->objectName))); $smarty->assign("multiple", TRUE); return $smarty->fetch(get_template_path('remove.tpl', TRUE)); } } /*! * \brief Object removal was confirmed, now remove the requested entries. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param String $altTabType Empty string. * * \param String $altAclCategory Empty string. */ function removeEntryConfirmed($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { global $ui; $tabType = $this->tabType; $tabClass = $this->tabClass; $aclCategory = $this->aclCategory; if (!empty($altTabClass)) { $tabClass = $altTabClass; } if (!empty($altTabType)) { $tabType = $altTabType; } if (!empty($altAclCategory)) { $aclCategory = $altAclCategory; } @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, "Entry removal confirmed!"); foreach ($this->dns as $dn) { // Check permissions, are we allowed to remove this object? $acl = $ui->get_permissions($dn, $aclCategory."/".$this->aclPlugin); if (preg_match("/d/", $acl)) { // Delete the object $this->dn = $dn; $this->openTabObject( new $tabClass(NULL, $config->data['TABS'][$tabType], $this->dn, $aclCategory), $this->dn ); $this->tabObject->delete (); // Remove the lock for the current object. del_lock($this->dn); } else { msg_dialog::display(_('Permission error'), msgPool::permDelete(), ERROR_DIALOG); logging::log('security', 'group/'.get_class($this), $dn, array(), 'Tried to trick deletion.'); } } // Cleanup $this->remove_lock(); $this->closeDialogs(); } /*! * \brief Detects actions/events send by the ui * and the corresponding targets. */ function detectPostActions() { if (!is_object($this->headpage)) { trigger_error("No valid headpage given....!"); return array(); } $action = $this->headpage->getAction(); if (isset($_POST['edit_apply'])) { $action['action'] = 'apply'; } if (isset($_POST['edit_finish'])) { $action['action'] = 'save'; } if (isset($_POST['edit_cancel'])) { $action['action'] = 'cancel'; } if (!$this->is_modal_dialog()) { if (isset($_POST['delete_confirmed'])) { $action['action'] = 'removeConfirmed'; } if (isset($_POST['delete_cancel'])) { $action['action'] = 'cancelDelete'; } } return $action; } /*! * \brief Calls the registered method for a given action/event. */ function handleActions($action) { // Start action if (isset($this->actions[$action['action']])) { $func = $this->actions[$action['action']]; if (!isset($action['targets'])) { $action['targets'] = array(); } return $this->$func($action['action'], $action['targets'], $action); } } /*! * \brief Opens the snapshot creation dialog for the given target. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. */ function createSnapshotDialog($action = '', $target = array(), $all = array()) { global $ui; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, 'Snaptshot creation initiated!'); if (count($target) == 1) { $this->dn = array_pop($target); if (empty($this->dn)) { return; } $aclCategory = $this->aclCategory; if ($ui->allow_snapshot_create($this->dn, $aclCategory)) { $this->dialogObject = new SnapshotCreateDialog($this->dn, $this, $aclCategory); $this->dialogObject->set_acl_base($this->dn); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to create a snapshot for %s.'), $this->dn), ERROR_DIALOG); } } } /*! * \brief Creates a new snapshot entry */ function createSnapshot($dn, $description) { global $ui; if ($this->dn !== $dn) { trigger_error('There was a problem with the snapshot workflow'); return; } if (!empty($dn) && $ui->allow_snapshot_create($dn, $this->dialogObject->aclCategory)) { $this->snapHandler->createSnapshot($dn, $description); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Snaptshot created!'); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to restore a snapshot for %s.'), $dn), ERROR_DIALOG); } } /*! * \brief Restores a snapshot object. * * \param String $dn The DN of the snapshot */ function restoreSnapshot($dn) { global $ui; if (!empty($dn) && $ui->allow_snapshot_restore($dn, $this->dialogObject->aclCategory)) { $this->snapHandler->restoreSnapshot($dn); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Snaptshot restored'); $this->closeDialogs(); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to restore a snapshot for %s.'), $dn), ERROR_DIALOG); } } /*! * \brief Displays the "Restore snapshot dialog" for a given target. * If no target is specified, open the restore removed object * dialog. * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all' A combination of both 'action' and 'target'. */ function restoreSnapshotDialog($action = '', $target = array(), $all = array()) { global $ui; // Set current restore base for snapshot handling. if (is_object($this->snapHandler)) { $bases = array(); foreach ($this->storagePoints as $sp) { $bases[] = $sp.$this->headpage->getBase(); } } // No bases specified? Try base if (!count($bases)) { $bases[] = $this->headpage->getBase(); } if (!count($target)) { // No target, open the restore removed object dialog. $this->dn = $this->headpage->getBase(); } else { // Display the restore points for a given object. $this->dn = $target[0]; } if (empty($this->dn)) { return; } $aclCategory = $this->aclCategory; if ($ui->allow_snapshot_restore($this->dn, $aclCategory)) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, 'Snaptshot restoring initiated!'); $this->snapHandler->setSnapshotBases($bases); $this->dialogObject = new SnapshotRestoreDialog($this->dn, $this, !count($target), $aclCategory); $this->dialogObject->set_acl_base($this->dn); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to restore a snapshot for %s.'), $this->dn), ERROR_DIALOG); } } /*! * \brief Get all deleted snapshots * * \param string $base The base * * \param string boolean $raw */ function getAllDeletedSnapshots($raw = FALSE) { $tmp = array(); $snapshotBases = $this->snapHandler->getSnapshotBases(); if (is_array($snapshotBases)) { foreach ($snapshotBases as $base) { $tmp = array_merge($tmp, $this->snapHandler->getAllDeletedSnapshots($base, $raw)); } } else { $tmp = $this->snapHandler->getAllDeletedSnapshots($snapshotBases, $raw); } return $tmp; } /* * \brief Return available snapshots for the given base * * \param string $dn The DN * * \param string boolean $raw */ function getAvailableSnapsShots($dn, $raw = FALSE) { return $this->snapHandler->getAvailableSnapsShots($dn, $raw); } /*! * \brief Delete a snapshot * * \param string $dn DN of the snapshot */ function removeSnapshot($dn) { $this->snapHandler->removeSnapshot($dn); } /*! * \brief This method intiates the object creation. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param String $altTabType Empty string. * * \param String $altAclCategory Empty string. */ function newEntry($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { global $config; /* To handle mutliple object types overload this method. * ... * registerAction('newUser', 'newEntry'); * registerAction('newGroup','newEntry'); * ... * * function newEntry($action = "", $target= array(), $all=array(), $altTabClass ="", $altTabType = "", $altAclCategory) * { * switch($action) { * case 'newUser' : { * mangement::newEntry($action,$target,$all,"usertabs","USERTABS","user"); * } * case 'newGroup' : { * mangement::newEntry($action,$target,$all,"grouptabs","GROUPTABS","group"); * } * } * } **/ $tabType = $this->tabType; $tabClass = $this->tabClass; $aclCategory = $this->aclCategory; if (!empty($altTabClass)) { $tabClass = $altTabClass; } if (!empty($altTabType)) { $tabType = $altTabType; } if (!empty($altAclCategory)) { $aclCategory = $altAclCategory; } // Check locking & lock entry if required $this->displayApplyBtn = FALSE; $this->dn = "new"; $this->is_single_edit = FALSE; set_object_info($this->dn); // Open object. if (empty($tabClass) || empty($tabType)) { // No tab type defined } else { if (isset($config->data['TABS'][$tabType])) { $this->openTabObject( new $tabClass(NULL, $config->data['TABS'][$tabType], $this->dn, $aclCategory), $this->headpage->getBase() ); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "Create new entry initiated!"); } else { msg_dialog::display(_("Error"), sprintf(_("No tab declaration for '%s' found in your configuration file. Cannot create plugin instance!"), $tabType), ERROR_DIALOG); } } } /*! * \brief This method opens an existing object or a list of existing objects to be edited. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param String $altTabType Empty string. * * \param String $altAclCategory Empty string. */ function editEntry($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { global $config, $ui; /* To handle mutliple object types overload this method. * ... * registerAction('editUser', 'editEntry'); * registerAction('editGroup','editEntry'); * ... * * function editEntry($action = "", $target= array(), $all=array(), $altTabClass ="", $altTabType = "", $altAclCategory) * { * switch($action) { * case 'editUser' : { * mangement::editEntry($action,$target,$all,"usertabs","USERTABS","user"); * } * case 'editGroup' : { * mangement::editEntry($action,$target,$all,"grouptabs","GROUPTABS","group"); * } * } * } **/ // Do not create a new tabObject while there is already one opened, // the user may have just pressed F5 to reload the page. if (is_object($this->tabObject)) { return; } $tabType = $this->tabType; $tabClass = $this->tabClass; $aclCategory = $this->aclCategory; if (!empty($altTabClass)) { $tabClass = $altTabClass; } if (!empty($altTabType)) { $tabType = $altTabType; } if (!empty($altAclCategory)) { $aclCategory = $altAclCategory; } $this->displayApplyBtn = count($target) == 1; // Single edit - we only got one object dn. if (count($target) == 1) { $this->is_single_edit = TRUE; // Get the dn of the object and creates lock $this->dn = array_pop($target); set_object_info($this->dn); if ($locks = get_locks($this->dn)) { return gen_locked_message($locks, $this->dn, TRUE); } add_lock ($this->dn, $ui->dn); // Open object. if (empty($tabClass) || empty($tabType)) { trigger_error("We can't edit any object(s). 'tabClass' or 'tabType' is empty!"); } else { $tab = $tabClass; $this->openTabObject( new $tab(NULL, $config->data['TABS'][$tabType], $this->dn, $aclCategory), $this->dn ); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "Edit entry initiated!"); } } } /*! * \brief Save object modifications and closes dialogs (returns to object listing). * - Calls 'tab::check' to validate the given input. * - Calls 'tab::save' to save back object modifications (e.g. to ldap). * - Calls 'management::remove_locks' to remove eventually created locks. * - Calls 'management::closeDialogs' to return to the object listing. */ protected function saveChanges() { if ($this->tabObject instanceOf simpleTabs) { $this->tabObject->save_object(); $msgs = $this->tabObject->check(); if (count($msgs)) { msg_dialog::displayChecks($msgs); return; } else { $this->tabObject->save(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dns, 'Entry saved!'); $this->remove_lock(); $this->closeDialogs(); } } elseif ($this->dialogObject instanceOf plugin) { $this->dialogObject->save_object(); $msgs = $this->dialogObject->check(); if (count($msgs)) { msg_dialog::displayChecks($msgs); return; } else { $this->dialogObject->save(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dns, 'Entry saved!'); $this->remove_lock(); $this->closeDialogs(); } } } /*! * \brief Save object modifications and keep dialogs opened. * - Calls 'ldap::check' to validate the given input. * - Calls 'ldap::save' to save back object modifications (e.g. to ldap). */ protected function applyChanges() { if ($this->tabObject instanceOf simpleTabs) { $this->tabObject->save_object(); $msgs = $this->tabObject->check(); if (count($msgs)) { msg_dialog::displayChecks($msgs); return ""; } else { $this->tabObject->save(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dns, "Modifications applied!"); $this->tabObject->re_init(); } } } /*! * \brief This method closes dialogs * and cleans up the cached object info and the ui. */ public function closeDialogs() { $this->last_dn = $this->dn; $this->dn = ""; $this->last_dns = $this->dns; $this->dns = array(); $this->last_tabObject = $this->tabObject; $this->tabObject = NULL; $this->last_dialogObject = $this->dialogObject; $this->dialogObject = NULL; $this->skipFooter = FALSE; set_object_info(); } /*! * \brief Editing an object was caneled. * Close dialogs/tabs and remove locks. */ protected function cancelEdit() { $this->remove_lock(); $this->closeDialogs(); } /*! * \brief Every click in the list user interface sends an event * here can we connect those events to a method. * eg. see management::registerEvent('new','createUser') * When the action/event new is send, the method 'createUser' * will be called. */ function registerAction($action, $target) { $this->actions[$action] = $target; } /*! * \brief Removes ldap object locks created by this class. * Whenever an object is edited, we create locks to avoid * concurrent modifications. * This locks will automatically removed here. */ function remove_lock() { if (!empty($this->dn) && $this->dn != "new") { del_lock($this->dn); } if (count($this->dns)) { del_lock($this->dns); } } /*! * \brief This method is used to queue and process copy&paste actions. * Allows to copy, cut and paste mutliple entries at once. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param $altTabType Empty string. * * \param $altAclCategory Empty string. * * \param $altAclPlugin Empty string. */ function copyPasteHandler($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "", $altAclPlugin = "") { global $ui; // Return without any actions while copy&paste handler is disabled. if (!is_object($this->cpHandler)) { return FALSE; } $tabType = $this->tabType; $tabClass = $this->tabClass; $aclCategory = $this->aclCategory; $aclPlugin = $this->aclPlugin; if (!empty($altTabClass) && !is_array($altTabClass)) { $tabClass = $altTabClass; } if (!empty($altTabType) && !is_array($altTabType)) { $tabType = $altTabType; } if (!empty($altAclCategory) && !is_array($altAclCategory)) { $aclCategory = $altAclCategory; } if (!empty($altAclPlugin) && !is_array($altAclPlugin)) { $aclPlugin = $altAclPlugin; } // Save user input $this->cpHandler->save_object(); // Add entries to queue if ($action == "copy" || $action == "cut") { $this->cpHandler->cleanup_queue(); foreach ($target as $dn) { if (is_array($altTabClass)) { $tabClass = (empty($altTabClass[$dn])?$this->tabClass:$altTabClass[$dn]); } if (is_array($altTabType)) { $tabType = $altTabType[$dn]; } if (is_array($altAclCategory)) { $aclCategory = (empty($altAclCategory[$dn])?$this->aclCategory:$altAclCategory[$dn]); } if (is_array($altAclPlugin)) { $aclPlugin = $altAclPlugin[$dn]; } if ($action == "copy" && $ui->is_copyable($dn, $aclCategory, $aclPlugin)) { $this->cpHandler->add_to_queue($dn, "copy", $tabClass, $tabType, $aclCategory); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, "Entry copied!"); } if ($action == "cut" && $ui->is_cutable($dn, $aclCategory, $aclPlugin)) { $this->cpHandler->add_to_queue($dn, "cut", $tabClass, $tabType, $aclCategory); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, "Entry cutted!"); } } } // Initiate pasting if ($action == "paste") { $this->cpPastingStarted = TRUE; } // Display any c&p dialogs, eg. object modifications required before pasting. if ($this->cpPastingStarted && $this->cpHandler->entries_queued()) { $data = $this->cpHandler->execute($this->headpage->getBase()); if (!empty($data)) { return $data; } } // Automatically disable pasting process since there is no entry left to paste. if (!$this->cpHandler->entries_queued()) { $this->cpPastingStarted = FALSE; } return ""; } /*! * \brief Set a new filter * * \param object $filter The new filter */ function setFilter($filter) { $this->filter = $filter; } function is_modal_dialog() { return (is_object($this->tabObject) || is_object($this->dialogObject)); } function openTabObject($object, $base) { $this->tabObject = $object; $this->tabObject->set_acl_base($base); $this->tabObject->parent = &$this; } } ?> fusiondirectory-1.0.19/include/class_msgPool.inc000066400000000000000000000605571304016502700217700ustar00rootroot00000000000000
    $name"); } else { return sprintf(_("This '%s' object will be deleted: %s"), $type, "

    $name"); } } if (count($name) == 1) { if ($type == "") { return _("This object will be deleted:")."
    ".msgPool::buildList($name); } else { return sprintf(_("This '%s' object will be deleted:"), $type). "
    ".msgPool::buildList($name); } } if ($type == "") { return sprintf(_("These objects will be deleted: %s"), "
    ".msgPool::buildList($name)); } else { return sprintf(_("These '%s' objects will be deleted: %s"), $type, "
    ".msgPool::buildList($name)); } } /*! * \brief Display that we have no permission to delete an object * * \param string $name Name of the object which will be deleted */ public static function permDelete($name = "") { if ($name == "") { return _("You have no permission to delete this object!"); } if (!is_array($name)) { return _("You have no permission to delete the object:")."

    $name"; } if (count($name) == 1) { return _("You have no permission to delete the object:")."
    ".msgPool::buildList($name); } return _("You have no permission to delete these objects:")."
    ".msgPool::buildList($name); } /*! * \brief Display that we have no permission to create an object * * \param string $name Name of the object which will be created */ public static function permCreate($name = "") { if ($name == "") { return _("You have no permission to create this object!"); } if (!is_array($name)) { return _("You have no permission to create the object:")."

    $name"; } if (count($name) == 1) { return _("You have no permission to create the object:")."
    ".msgPool::buildList($name); } return _("You have no permission to create these objects:")."
    ".msgPool::buildList($name); } /*! * \brief Display that we have no permission to modify an object * * \param string $name Name of the object which cannot be modified (or array of objects names) * \param string $fields Name of the field of the object which cannot be modified */ public static function permModify($name = '', $field = '') { if ($name == '') { return _('You have no permission to modify this object!'); } if (!is_array($name)) { if ($field != '') { return sprintf(_('You have no permission to modify the field "%s" of object "%s"'), $field, $name); } else { return sprintf(_('You have no permission to modify the object:
    %s'), '
    '.$name.''); } } if (count($name) == 1) { return sprintf(_('You have no permission to modify the object:
    %s'), msgPool::buildList($name)); } return sprintf(_('You have no permission to modify these objects:
    %s'), msgPool::buildList($name)); } /*! * \brief Display that we have no permission to view an object * * \param string $name Name of the object which will be viewed */ public static function permView($name = "") { if ($name == "") { return _("You have no permission to view this object!"); } if (!is_array($name)) { return _("You have no permission to view the object:")."

    $name"; } if (count($name) == 1) { return _("You have no permission to view the object:")."
    ".msgPool::buildList($name); } return _("You have no permission to view these objects:")."
    ".msgPool::buildList($name); } /*! * \brief Display that we have no permission to move an object * * \param string $name Name of the object which will be moved */ public static function permMove($name = "") { if ($name == "") { return _("You have no permission to move this object!"); } if (!is_array($name)) { return _("You have no permission to move the object:")."

    $name"; } if (count($name) == 1) { return _("You have no permission to move the object:")."
    ".msgPool::buildList($name); } return _("You have no permission to move these objects:")."
    ".msgPool::buildList($name); } /*! * \brief Display informations about database connection * * \param string $name Name of the database * * \param string $error Error messsage to display * * \param string $dbinfo Database information */ public static function dbconnect($name, $error = "", $dbinfo = "") { if ($error != "") { $error = "

    "._("Error").": ".$error; } if ($dbinfo != "") { $error .= "

    "._("Connection information").": ".$dbinfo; } return sprintf(_("Cannot connect to %s database!"), $name).$error; } /*! * \brief Display informations about database select * * \param string $name Name of the database * * \param string $error Error messsage to display * * \param string $dbinfo Database information */ public static function dbselect($name, $error = "", $dbinfo = "") { if ($error != "") { $error = "

    "._("Error").": ".$error; } if ($dbinfo != "") { $error .= "

    "._("Connection information").": ".$dbinfo; } return sprintf(_("Cannot select %s database!"), $name).$error; } /*! * \brief Display error about no server found * * \param string $name Name of the server */ public static function noserver($name) { return sprintf(_("No %s server defined!"), $name); } /*! * \brief Display informations about database query * * \param string $name Name of the database * * \param string $error Error messsage to display * * \param string $dbinfo Database information */ public static function dbquery($name, $error = "", $dbinfo = "") { if ($error != "") { $error = "

    "._("Error").": ".$error; } if ($dbinfo != "") { $error .= "

    "._("Connection information").": ".$dbinfo; } return sprintf(_("Cannot query %s database!"), $name).$error; } /*! * \brief Display field contains reserved keyword * * \param string $name The field which contains reserved keyword */ public static function reserved($name) { return sprintf(_("The field '%s' contains a reserved keyword!"), $name); } /*! * \brief Display that a command doesn't exist in this plugin * * \param string $type Command type * * \param string $plugin Name of the plugin */ public static function cmdnotfound($type, $plugin) { return sprintf(_("Command specified as %s hook for plugin '%s' does not exist!"), $type, $plugin); } /*! * \brief Display that a command doesn't valid in this plugin * * \param string $type Command type * * \param string $command Command name * * \param string $plugin Name of the plugin */ public static function cmdinvalid($type, $command = "", $plugin = "") { if ($command == "") { if ($plugin == "") { return sprintf(_("'%s' command is invalid!"), $type); } else { return sprintf(_("'%s' command for plugin %s is invalid!"), $type, $plugin); } } else { if ($plugin == "") { return sprintf(_("'%s' command (%s) is invalid!"), $type, $command); } else { return sprintf(_("'%s' command (%s) for plugin %s is invalid!"), $type, $command, $plugin); } } } /*! * \brief Display that a command execution failed in this plugin * * \param string $type Command type * * \param string $command Command name * * \param string $plugin Name of the plugin */ public static function cmdexecfailed($type, $command = "", $plugin = "") { if ($command == "") { if ($plugin == "") { return sprintf(_("Cannot execute '%s' command!"), $type); } else { return sprintf(_("Cannot execute '%s' command for plugin %s!"), $type, $plugin); } } else { if ($plugin == "") { return sprintf(_("Cannot execute '%s' command (%s)!"), $type, $command); } else { return sprintf(_("Cannot execute '%s' command (%s) for plugin %s!"), $type, $command, $plugin); } } } /*! * \brief Display error about too larged value * * \param string $name Name of the value * * \param string $min The largest value */ public static function toobig($name, $min = "") { if ($min == "") { return sprintf(_("Value for '%s' is too large!"), $name); } else { return sprintf(_("'%s' must be smaller than %s!"), $name, $min); } } /*! * \brief Display error about too small value * * \param string $name Name of the value * * \param string $min The smallest value */ public static function toosmall($name, $min = "") { if ($min == "") { return sprintf(_("Value for '%s' is too small!"), $name); } else { return sprintf(_("'%s' must be %d or above!"), $name, $min); } } /*! * \brief Display a dependence between two objects * * \param string $name1 First object * * \param string $name2 Second object */ public static function depends($name1, $name2) { return sprintf(_("'%s' depends on '%s' - please provide both values!"), $name1, $name2); } /*! * \brief Display error about existing entry in the system * * \param string $name The entry duplicated */ public static function duplicated($name, $dn = NULL) { if ($dn == NULL) { return sprintf(_("There is already an entry with this '%s' attribute in the system!"), $name); } else { return sprintf(_("The entry '%s' already use this '%s' attribute!"), $dn, $name); } } /*! * \brief Display error about required field empty * * \param string $name Name of the field */ public static function required($name) { return sprintf(_("The required field '%s' is empty!"), $name); } /*! * \brief Display error about invalid characters * * \param string $name The field name * * \param string $data The submited data * * \param string $regex * * \param string $example Example of a right submited data */ public static function invalid($name, $data = "", $regex = "", $example = "") { /* Stylize example */ if ($example != "") { $example = "

    "._("Example:")." ".$example; } /* If validChars are posted, take data and paint all invalid characters... */ if ($regex) { $result = ""; $mismatch = ""; mb_internal_encoding('UTF-8'); for ($i = 0; $i <= mb_strlen($data); $i++) { $currentChar = mb_substr($data, $i, 1); if (preg_match("$regex", $currentChar)) { $result .= $currentChar; } else { $result .= ''.($currentChar).''; $mismatch .= $currentChar; } } return sprintf(_("The field '%s' contains invalid characters"), $name).". ". (strlen($mismatch) == 1?sprintf(_("'%s' is not allowed:"), $mismatch):sprintf(_("'%s' are not allowed!"), $mismatch)). "

    \"$result\"$example"; } else { return sprintf(_("The field '%s' contains invalid characters"), $name)."!$example"; } } /*! * \brief Display about missing PHP extension * * \param string $name The name of the extension */ public static function missingext($name) { return sprintf(_("Missing %s PHP extension!"), $name); } /*! * \brief Text for a cancel button */ public static function cancelButton() { return _("Cancel"); } /*! * \brief Text for a ok button */ public static function okButton() { return _("Ok"); } /*! * \brief Text for an apply button */ public static function applyButton() { return _("Apply"); } /*! * \brief Text for a save button */ public static function saveButton() { return _("Save"); } /*! * \brief Text for an add button * * \param string $what Text for the button */ public static function addButton($what = "") { return ($what == "" ? sprintf(_("Add")): sprintf(_("Add %s"), $what)); } /*! * \brief Text for an delete button * * \param string $what Text for the button */ public static function delButton($what = "") { return ($what == "" ? sprintf(_("Delete")): sprintf(_("Delete %s"), $what)); } /*! * \brief Text for an edit button * * \param string $what Text for the button */ public static function editButton($what = "") { return ($what == "" ? sprintf(_("Edit...")): sprintf(_("Edit %s..."), $what)); } /*! * \brief Text for a back button */ public static function backButton($what = "") { return _("Back"); } /*! * \brief a list from an array * * \param array $data Array with the elements of the list */ public static function buildList($data) { $objects = "
      "; foreach ($data as $key => $value) { if (is_numeric($key)) { $objects .= "
    • \n$value
    • "; } else { $objects .= "
    • \n$value ($key)
    • "; } } $objects .= "
    "; return $objects; } /*! * \brief Display error about invalid extension from account * * \param string $name Name of the extension */ public static function noValidExtension($name) { return sprintf(_("This account has no valid %s extensions!"), $name); } /*! * \brief List the features settings enabled * * \param string $name Name of the setting * * \param array $depends Contains all the settings enabled */ public static function featuresEnabled($name, $depends = "") { if (($depends == "") || (is_array($depends) && count($depends) == 0)) { return sprintf(_("This account has %s settings enabled. You can disable them by clicking below."), $name); } else { if (count($depends) == 1) { if (is_array($depends)) { $depends = $depends[0]; } return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), $name, $depends); } else { $deps = ""; foreach ($depends as $dep) { $deps .= "$dep / "; } $deps = preg_replace("/ \/ $/", "", $deps); return sprintf(_("This account has %s settings enabled. To disable them, you'll need to remove the %s settings first!"), $name, $deps); } } } /*! * \brief List the features settings disabled * * \param string $name Name of the setting * * \param array $depends Contains all the settings disabled */ public static function featuresDisabled($name, $depends = "") { if (($depends == "") || (is_array($depends) && count($depends) == 0)) { return sprintf(_("This account has %s settings disabled. You can enable them by clicking below."), $name); } else { if (count($depends) == 1) { if (is_array($depends)) { $depends = $depends[0]; } return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), $name, $depends); } else { $deps = ""; foreach ($depends as $dep) { $deps .= "$dep / "; } $deps = preg_replace("/ \/ $/", "", $deps); return sprintf(_("This account has %s settings disabled. To enable them, you'll need to add the %s settings first!"), $name, $deps); } } } /*! * \brief Display Add features button * * \param string $name Name of the feature */ public static function addFeaturesButton($name) { return sprintf(_("Add %s settings"), $name); } /*! * \brief Display Remove features button * * \param string $name Name of the feature */ public static function removeFeaturesButton($name) { return sprintf(_("Remove %s settings"), $name); } /*! * \brief Display : Click the 'Edit' button below to change information in this dialog */ public static function clickEditToChange() { return _("Click the 'Edit' button below to change information in this dialog"); } /*! * \brief Build an array with the months */ public static function months() { return array(_("January"), _("February"), _("March"), _("April"), _("May"), _("June"), _("July"), _("August"), _("September"), _("October"), _("November"), _("December")); } /*! * \brief Build an array with the days of a week. * Start by Sunday */ public static function weekdays() { return array( _("Sunday"), _("Monday"), _("Tuesday"), _("Wednesday"), _("Thursday"), _("Friday"), _("Saturday")); } /*! * \brief Display error about database * * \param string $error Error to display * * \param string $plugin */ public static function dbError($error, $plugin = "") { /* Assign headline depending on type */ $headline = _("Database operation failed!"); return $headline."

    "._("Error").": ".$error; } /*! * \brief Display LDAP error * * \param string $error Error to display * * \param string $dn the DN * * \param integer $type * * \param string $plugin */ public static function ldaperror($error, $dn = "", $type = 0, $plugin = "") { /* Assign headline depending on type */ $typemap = array(1 => _("read operation"), _("add operation"), _("modify operation"), _("delete operation"), _("search operation"), _("authentication")); if (isset($typemap[$type])) { $headline = sprintf(_("LDAP %s failed!"), $typemap[$type]); } else { $headline = _("LDAP operation failed!"); } /* Fill DN information */ if ($dn != "") { $dn_info = "

    "._("Object").": ".LDAP::fix($dn); } return $headline.$dn_info."

    "._("Error").": ".$error; } /*! * \brief Display error about an incorrect upload * * \param string $reason The reason of the upload failed */ public static function incorrectUpload($reason = "") { if ($reason == "") { return _("Upload failed!"); } return sprintf(_("Upload failed: %s"), "

    $reason"); } /*! * \brief Display error about communication failure with the infrastructure service * * \param string $error The error of the communication failure */ public static function siError($error = "") { if ($error == "") { return _("Communication failure with the infrastructure service!"); } return sprintf(_("Communication failure with the infrastructure service: %s"), "

    "._("Error").": ".$error); } /*! * \brief Display which it still in use * * \param $type Type * * \param array $objects */ public static function stillInUse($type, $objects = array()) { if (!is_array($objects)) { return sprintf(_("This '%s' is still in use by this object: %s"), $type, "

    ".$objects); } if (count($objects) == 1) { return sprintf(_("This '%s' is still in use by this object: %s"), $type, "
    ".msgPool::buildList($objects)); } if (count($objects) == 0) { return sprintf(_("This '%s' is still in use."), $type); } return sprintf(_("This '%s' is still in use by these objects: %s"), $type, "
    ".msgPool::buildList($objects)); } /*! * \brief Display file doesn't exist * * \param string $file Name of the file not found */ public static function fileDoesNotExist($file) { return sprintf(_("File '%s' does not exist!"), $file); } /*! * \brief Display file isn't readable * * \param string $file Name of the file not readable */ public static function cannotReadFile($file) { return sprintf(_("Cannot open file '%s' for reading!"), $file); } /*! * \brief Display file isn't writable * * \param string $file Name of the file not writable */ public static function cannotWriteFile($file) { return sprintf(_("Cannot open file '%s' for writing!"), $file); } /*! * \brief Display error in the configuration * * \param string $attr Name of the invalide attribute */ public static function invalidConfigurationAttribute($attr) { return sprintf(_("The value for '%s' is currently unconfigured or invalid, please check your configuration file!"), $attr); } /*! * \brief Display error when cannot delete a file * * \param string $file Filename which can't be deleted */ public static function cannotDeleteFile($file) { return sprintf(_("Cannot delete file '%s'!"), $file); } /*! * \brief Display error when cannot create a folder * * \param string $path Name of folder which can't be created */ public static function cannotCreateFolder($path) { return sprintf(_("Cannot create folder '%s'!"), $path); } /*! * \brief Display error when cannot delete a folder * * \param string $path Name of folder which can't be deleted */ public static function cannotDeleteFolder($path) { return sprintf(_("Cannot delete folder '%s'!"), $path); } /*! * \brief Display checking for a support * * \param string $what Name of the support */ public static function checkingFor($what) { return sprintf(_("Checking for %s support"), $what); } /*! * \brief Display install or activate a PHP module * * \param string $what Name of the module */ public static function installPhpModule($what) { return sprintf(_("Install and activate the %s PHP module."), $what); } /*! * \brief Display install or activate a PEAR module * * \param string $what Name of the module */ public static function installPearModule($what) { return sprintf(_("Install and activate the %s Pear module."), $what); } /*! * \brief Display error when a class is not found * * \param string $plugin Name of the class which can'b be initialized */ public static function class_not_found($plugin) { return sprintf(_("Cannot initialize class '%s'! Maybe there is a plugin missing in your FusionDirectory setup?"), $plugin); } /*! * \brief Display error when checking the base */ public static function check_base() { return _("The supplied base is not valid and has been reset to the previous value!"); } } ?> fusiondirectory-1.0.19/include/class_msg_dialog.inc000066400000000000000000000166651304016502700224560ustar00rootroot00000000000000i_ID = preg_replace("/[^0-9]*/", "", microtime()); $this->s_Title = $s_title; $this->s_Message = $s_message; $this->i_Type = $i_type; /* Append trace information, only if error messages are enabled */ if (isset($config) && is_object($config) && $config->get_cfg_value("displayerrors") == "TRUE") { $this->a_Trace = debug_backtrace(); } if (!session::is_set('msg_dialogs')) { session::set('msg_dialogs', array()); } if ($this->i_Type == FATAL_ERROR_DIALOG) { restore_error_handler(); error_reporting(E_ALL); echo $this->execute(); } else { $msg_dialogs = session::get('msg_dialogs'); $msg_dialogs[] = $this; session::set('msg_dialogs', $msg_dialogs); } } session::set('errorsAlreadyPosted', $errorsAlreadyPosted); } /*! * \brief Display a message dialog * * \param string $s_title The title of the message dialog * * \param string $s_message The message of the message dialog * * \param string $i_type The type of the message dialog, by default = INFO_DIALOG */ public static function display($s_title, $s_message, $i_type = INFO_DIALOG) { new msg_dialog($s_title, $s_message, $i_type); } /* * \brief Display checks * * \param array $messages Contains messages */ public static function displayChecks($messages) { foreach ($messages as $error) { msg_dialog::display(_('Error'), $error, ERROR_DIALOG); } } /* * \brief Accessor of message dialog's identifier * * \return The identifier of the message dialog */ public function get_ID() { return $this->i_ID; } /*! * \brief Run the message dialog */ public function execute() { global $config; if ($this->i_Type == FATAL_ERROR_DIALOG) { $display = ' FusionDirectory startup failed '; if (isset($config) && is_object($config) && $config->get_cfg_value('displayerrors') == 'TRUE') { list($trace,) = html_trace(); $display .= $trace; } $display .= '
    '._('Error').' '.$this->s_Title.'
    '.$this->s_Message.'

    '._('Please fix the above error and reload the page.').'
    '; return $display; } else { $smarty = get_smarty(); $smarty->assign('s_Trace', print_a($this->a_Trace, TRUE)); $smarty->assign('i_TraceCnt', count($this->a_Trace)); $smarty->assign('i_Type', $this->i_Type); $smarty->assign('s_Message', $this->s_Message); $smarty->assign('s_Title', $this->s_Title); $smarty->assign('i_ID', $this->i_ID); $smarty->assign('frame', FALSE); $smarty->assign('JS', TRUE); return $smarty->fetch(get_template_path('msg_dialog.tpl')); } } /*! * \brief Check if the message is confirmed by user * * \return True if is confirmed, else return false */ public function is_confirmed() { return isset($_POST['MSG_OK'.$this->i_ID]); } /*! * \brief Accessor of the message dialog */ public static function get_dialogs() { $return = ""; $dialog_ids = ""; if (session::is_set('msg_dialogs') && is_array(session::get('msg_dialogs')) && count(session::get('msg_dialogs'))) { /* Get frame one */ $smarty = get_smarty(); $smarty->assign('frame', TRUE); $return = $smarty->fetch(get_template_path('msg_dialog.tpl')); $msg_dialogs = session::get('msg_dialogs'); foreach ($msg_dialogs as $key => $dialog) { if (!preg_match('/'.$dialog->get_ID().'/', '')) { $return .= $dialog->execute(); $dialog_ids = $dialog->get_ID().','.$dialog_ids; } unset($msg_dialogs[$key]); } session::set('msg_dialogs', $msg_dialogs); $dialog_ids = preg_replace('/,$/', '', $dialog_ids); $return .= ''."\n"; $return .= ''."\n"; $return .= ''."\n"; $return .= ''."\n"; $return .= ''."\n"; } return $return; } } ?> fusiondirectory-1.0.19/include/class_objects.inc000066400000000000000000000173311304016502700217710ustar00rootroot00000000000000fetch()) { $key = $fetched_attrs['dn']; if (is_array($attrs)) { $result[$key] = array(); foreach ($attrs as $attr => $mode) { if (isset($fetched_attrs[$attr])) { switch ($mode) { case '*': unset($fetched_attrs[$attr]['count']); case 'raw': $result[$key][$attr] = $fetched_attrs[$attr]; break; case 1: default: $result[$key][$attr] = $fetched_attrs[$attr][0]; } } } } elseif (isset($fetched_attrs[$attrs])) { $result[$key] = $fetched_attrs[$attrs][0]; } } return $result; } /*! * \brief Get count of objects of objectType $type in $ou * * \param string $type the objectType to list * \param string $ou the LDAP branch to search in, base will be used if it is NULL * \param string $filter an additional filter to use in the LDAP search. * * \return The number of objects of type $type in $ou */ static function count ($type, $ou = NULL, $filter = '') { try { $ldap = static::search($type, array('dn'), $ou, $filter); } catch (EmptyFilterException $e) { return 0; } catch (NonExistingBranchException $e) { return 0; } return $ldap->count(); } private static function search ($type, $search_attrs, $ou = NULL, $filter = '') { global $config; if ($ou === NULL) { $ou = $config->current['BASE']; } $infos = static::infos($type); if ($infos['filter'] == '') { throw new EmptyFilterException(); } $ldap = $config->get_ldap_link(); if (!$ldap->dn_exists($ou)) { throw new NonExistingBranchException(); } if (empty($filter)) { $filter = $infos['filter']; } else { if (!preg_match('/^\(.*\)$/', $filter)) { $filter = '('.$filter.')'; } $filter = '(&'.$filter.$infos['filter'].')'; } $ldap->cd($ou); $ldap->search($filter, $search_attrs); if (!$ldap->success()) { throw new LDAPFailureException($ldap->get_error()); } return $ldap; } /*! * \brief Create the tab object for the given dn * * \param string $type the objectType to open * \param string $dn the dn to open * * \return The created tab object */ static function open ($dn, $type) { $infos = static::infos($type); $tabClass = $infos['tabClass']; $tabObject = new $tabClass($type, $dn); $tabObject->set_acl_base(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, "Openned as $type object"); return $tabObject; } static function link($dn, $type, $subaction = '', $text = NULL, $icon = TRUE) { global $config; $infos = static::infos($type); if (!isset($infos['management'])) { throw new NoManagementClassException('Asked for link for type "'.$type.'" but it does not have a management class'); } $pInfos = pluglist::pluginInfos($infos['management']); $index = $pInfos['INDEX']; $action = 'edit'; if ($subaction != '') { $action .= '_'.$subaction; } $href = "main.php?plug=$index&reset=1&act=listing_$action&dn=".urlencode($dn); if ($text === NULL) { $ldap = $config->get_ldap_link(); $ldap->cat($dn, array($infos['nameAttr'])); if ($attrs = $ldap->fetch()) { if (isset($attrs[$infos['nameAttr']][0])) { $text = $attrs[$infos['nameAttr']][0]; } else { $text = $dn; } } else { throw new NonExistingLdapNodeException('Dn '.$dn.' not found in LDAP'); } } elseif (is_array($text)) { $text = $text[$infos['nameAttr']][0]; } if ($icon && isset($infos['icon'])) { $text = ''.$infos['name'].' '.$text; } return ''.$text.''; } static function create ($type) { return static::open('new', $type); } static function infos ($type) { global $config; if (!isset($config->data['OBJECTS'][strtoupper($type)])) { throw new NonExistingObjectTypeException('Non-existing type "'.$type.'"'); } return $config->data['OBJECTS'][strtoupper($type)]; } static function isOfType ($attrs, $type) { //TODO : cache ldapFilter objects? $infos = static::infos($type); $filter = ldapFilter::parse($infos['filter']); return $filter($attrs); } static function types () { global $config; return array_keys($config->data['OBJECTS']); } /* !\brief This method returns a list of all available templates for the given type */ static function getTemplates($type, $requiredPermissions = 'r') { global $config, $ui; $infos = static::infos($type); $templates = array(); $ldap = $config->get_ldap_link(); foreach ($config->departments as $key => $value) { // Search all templates from the current dn. $ldap->cd($infos['ou'].$value); // We could also adapt object filter to match templates $ldap->search('(objectClass=fdTemplate)', array('cn')); if ($ldap->count() != 0) { while ($attrs = $ldap->fetch()) { $dn = $attrs['dn']; if ($requiredPermissions != '') { if (!preg_match('/'.$requiredPermissions.'/', $ui->get_permissions($dn, $infos['aclCategory'].'/'.'template'))) { continue; } } $templates[$dn] = $attrs['cn'][0]." - ".LDAP::fix($key); } } } natcasesort($templates); reset($templates); return $templates; } } ?> fusiondirectory-1.0.19/include/class_plugin.inc000066400000000000000000001461711304016502700216430ustar00rootroot00000000000000dn = $dn; // Ensure that we've a valid acl_category set. if (empty($this->acl_category)) { $tmp = pluglist::pluginInfos(get_class($this)); if (isset($tmp['plCategory'])) { $c = key($tmp['plCategory']); if (is_numeric($c)) { $c = $tmp['plCategory'][0]; } $this->acl_category = $c.'/'; } } /* Handle new accounts, don't read information from LDAP */ if ($this->dn != 'new') { /* Check if this entry was opened in read only mode */ if (isset($_POST['open_readonly'])) { if (session::global_is_set('LOCK_CACHE')) { $cache = &session::get('LOCK_CACHE'); if (isset($cache['READ_ONLY'][$this->dn])) { $this->read_only = TRUE; } } } /* Save current dn as acl_base */ $this->acl_base = $this->dn; } /* Get LDAP descriptor */ if (($this->dn != 'new' && $this->dn !== NULL) || ($object !== NULL)) { /* Load data to 'attrs' and save 'dn' */ if ($object !== NULL) { $this->attrs = $object->attrs; if (isset($object->is_template)) { $this->setTemplate($object->is_template); } } else { $ldap = $config->get_ldap_link(); $ldap->cat($this->dn); $this->attrs = $ldap->fetch(); if (empty($this->attrs)) { throw new NonExistingLdapNodeException('Could not open dn '.$this->dn); } if ($this->mainTab) { /* Make sure that initially_was_account is TRUE if we loaded an LDAP node, * even if it’s missing an objectClass */ $this->is_account = TRUE; } } /* Set the template flag according to the existence of objectClass fdTemplate */ if (isset($this->attrs['objectClass'])) { if (in_array_ics ('fdTemplate', $this->attrs['objectClass'])) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, 'found', 'Template check'); $this->templateLoadAttrs($this->attrs); } } /* Is Account? */ if ($this->is_this_account($this->attrs)) { $this->is_account = TRUE; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, 'found', 'Object check'); } } $this->loadAttributes(); $this->prepareSavedAttributes(); /* Save initial account state */ $this->initially_was_account = $this->is_account; } protected function loadAttributes() { /* Copy needed attributes */ foreach ($this->attributes as $val) { $found = array_key_ics($val, $this->attrs); if ($found != "") { $this->$val = $found[0]; } } } function is_this_account($attrs) { $found = TRUE; foreach ($this->objectclasses as $obj) { if (preg_match('/top/i', $obj)) { continue; } if (!isset($attrs['objectClass']) || !in_array_ics ($obj, $attrs['objectClass'])) { $found = FALSE; break; } } return $found; } function prepareSavedAttributes() { /* Prepare saved attributes */ $this->saved_attributes = $this->attrs; foreach (array_keys($this->saved_attributes) as $index) { if (is_numeric($index)) { unset($this->saved_attributes[$index]); continue; } if (!in_array_ics($index, $this->attributes) && strcasecmp('objectClass', $index)) { unset($this->saved_attributes[$index]); continue; } if (isset($this->saved_attributes[$index][0])) { if (!isset($this->saved_attributes[$index]["count"])) { $this->saved_attributes[$index]["count"] = count($this->saved_attributes[$index]); } if ($this->saved_attributes[$index]["count"] == 1) { $tmp = $this->saved_attributes[$index][0]; unset($this->saved_attributes[$index]); $this->saved_attributes[$index] = $tmp; continue; } } unset($this->saved_attributes[$index]["count"]); } } protected function templateLoadAttrs($template_attrs) { $this->is_template = TRUE; if ($this->mainTab) { $this->_template_cn = $template_attrs['cn'][0]; } $this->attrs = static::tpl_template_to_attrs($template_attrs); } protected function templateSaveAttrs() { global $config; $ldap = $config->get_ldap_link(); $ldap->cat($this->dn); $template_attrs = $ldap->fetch(); if (!$template_attrs) { if (!$this->mainTab) { trigger_error('It seems main tab has not been saved.'); } $template_attrs = array( 'objectClass' => array('fdTemplate'), 'fdTemplateField' => array() ); } else { unset($template_attrs['dn']); unset($template_attrs['fdTemplateField']['count']); unset($template_attrs['objectClass']['count']); unset($template_attrs['cn']['count']); for ($i = 0; $i < $template_attrs['count']; ++$i) { // Remove numeric keys unset($template_attrs[$i]); } unset($template_attrs['count']); } if ($this->mainTab) { $template_attrs['cn'] = $this->_template_cn; } /* First remove all concerned values */ foreach ($template_attrs['fdTemplateField'] as $key => $value) { preg_match('/^([^:]+):(.*)$/s', $value, $m); if (isset($this->attrs[$m[1]])) { unset($template_attrs['fdTemplateField'][$key]); } } /* Then insert non-empty values */ foreach ($this->attrs as $key => $value) { if (is_array($value)) { foreach ($value as $v) { if ($value == "") { continue; } $template_attrs['fdTemplateField'][] = $key.':'.$v; } } else { if ($value == "") { continue; } $template_attrs['fdTemplateField'][] = $key.':'.$value; } } sort($template_attrs['fdTemplateField']); return $template_attrs; } /*! * \brief This function is called on the copied object to set its dn to where it will be saved */ function resetCopyInfos() { $this->dn = 'new'; $this->orig_dn = $this->dn; $this->saved_attributes = array(); $this->initially_was_account = FALSE; $this->postCopyHook(); } /*! * \brief Generates the html output for this node */ function execute() { /* Reset Lock message POST/GET check array, to prevent perg_match errors*/ session::set('LOCK_VARS_TO_USE', array()); session::set('LOCK_VARS_USED_GET', array()); session::set('LOCK_VARS_USED_POST', array()); session::set('LOCK_VARS_USED_REQUEST', array()); } /*! * \brief Removes object from parent */ function remove_from_parent() { global $config; $this->attrs = array(); if (!$this->mainTab) { /* include global link_info */ $ldap = $config->get_ldap_link(); /* Get current objectClasses in order to add the required ones */ $ldap->cat($this->dn); $tmp = $ldap->fetch (); $oc = array(); if ($this->is_template) { if (isset($tmp['fdTemplateField'])) { foreach ($tmp['fdTemplateField'] as $tpl_field) { if (preg_match('/^objectClass:(.+)$/', $tpl_field, $m)) { $oc[] = $m[1]; } } } } else { if (isset($tmp['objectClass'])) { $oc = $tmp['objectClass']; unset($oc['count']); } } /* Remove objectClasses from entry */ $this->attrs['objectClass'] = array_remove_entries_ics($this->objectclasses, $oc); /* Unset attributes from entry */ foreach ($this->attributes as $val) { $this->attrs["$val"] = array(); } } if ($this->initially_was_account) { $this->handle_pre_events('remove'); } } /*! * \brief Save HTML posted data to object */ function save_object() { /* Save values to object */ foreach ($this->attributes as $val) { if ($this->acl_is_writeable($val) && isset ($_POST["$val"])) { /* Check for modifications */ $data = $_POST["$val"]; if ($this->$val != $data) { $this->is_modified = TRUE; } $this->$val = $data; /* Okay, how can I explain this fix ... * In firefox, disabled option fields aren't selectable ... but in IE you can select these fileds. * So IE posts these 'unselectable' option, with value = chr(194) * chr(194) seems to be the   in between the ...option> $val = $data; } } } /*! * \brief Save data to LDAP, depending on is_account we save or delete */ function save() { global $config; /* include global link_info */ $ldap = $config->get_ldap_link(); $this->entryCSN = ''; /* Start with empty array */ $this->attrs = array(); /* Get current objectClasses in order to add the required ones */ $ldap->cat($this->dn); $tmp = $ldap->fetch(); $oc = array(); if ($this->is_template) { if (isset($tmp['fdTemplateField'])) { foreach ($tmp['fdTemplateField'] as $tpl_field) { if (preg_match('/^objectClass:(.+)$/', $tpl_field, $m)) { $oc[] = $m[1]; } } } } else { if (isset($tmp['objectClass'])) { $oc = $tmp['objectClass']; unset($oc['count']); } } $is_new = empty($oc); /* Load (minimum) attributes, add missing ones */ $this->attrs['objectClass'] = array_merge_unique($oc, $this->objectclasses); /* Copy standard attributes */ foreach ($this->attributes as $val) { if ($this->$val != "") { $this->attrs["$val"] = $this->$val; } elseif (!$is_new) { $this->attrs["$val"] = array(); } } if ($this->initially_was_account) { $this->handle_pre_events('modify'); } else { $this->handle_pre_events('add'); } } /*! * \brief Remove attributes, empty arrays, arrays * single attributes that do not differ */ function cleanup() { foreach ($this->attrs as $index => $value) { /* Convert arrays with one element to non arrays, if the saved attributes are no array, too */ if (is_array($this->attrs[$index]) && count ($this->attrs[$index]) == 1 && isset($this->saved_attributes[$index]) && !is_array($this->saved_attributes[$index])) { $this->attrs[$index] = $this->attrs[$index][0]; } /* Remove emtpy arrays if they do not differ */ if (is_array($this->attrs[$index]) && count($this->attrs[$index]) == 0 && !isset($this->saved_attributes[$index])) { unset ($this->attrs[$index]); continue; } /* Remove single attributes that do not differ */ if (!is_array($this->attrs[$index]) && isset($this->saved_attributes[$index]) && !is_array($this->saved_attributes[$index]) && $this->attrs[$index] == $this->saved_attributes[$index]) { unset ($this->attrs[$index]); continue; } /* Remove arrays that do not differ */ if (is_array($this->attrs[$index]) && isset($this->saved_attributes[$index]) && is_array($this->saved_attributes[$index])) { if (!array_differs($this->attrs[$index], $this->saved_attributes[$index])) { unset ($this->attrs[$index]); continue; } } } /* Update saved attributes and ensure that next cleanups will be successful too */ foreach ($this->attrs as $name => $value) { $this->saved_attributes[$name] = $value; } } /*! * \brief Check formular input */ function check() { $message = array(); $this->callHook('CHECK', array(), $returnOutput); if (!empty($returnOutput)) { $message[] = join("\n", $returnOutput); } /* Check entryCSN */ if (!empty($this->entryCSN)) { $current_csn = getEntryCSN($this->dn); if (($current_csn != $this->entryCSN) && !empty($current_csn)) { $this->entryCSN = $current_csn; $message[] = _('The object has changed since opened in FusionDirectory. All changes that may be done by others will get lost if you save this entry!'); } } return $message; } /* * \brief Adapt from template, using 'dn' * * \param string $dn The DN * * \param array $skip A new array */ function adapt_from_template($attrs, $skip = array()) { $this->attrs = $attrs; /* Walk through attributes */ foreach ($this->attributes as $val) { /* Skip the ones in skip list */ if (in_array($val, $skip)) { continue; } if (isset($this->attrs["$val"][0])) { $this->$val = $this->attrs["$val"][0]; } } /* Is Account? */ $this->is_account = $this->is_this_account($this->attrs); } public function setNeedEditMode ($bool) { } function setTemplate ($bool) { $this->is_template = $bool; } static function tpl_fetch_template($dn) { global $config; $ldap = $config->get_ldap_link(); $ldap->cat($dn); $attrs = $ldap->fetch(); $attrs = static::tpl_template_to_attrs($attrs); $depends = static::tpl_attrs_depends($attrs); $attrs = static::tpl_sort_attrs($attrs, $depends); return array($attrs, $depends); } static function tpl_template_to_attrs($template_attrs) { /* Translate template attrs into $attrs as if taken from LDAP */ unset($template_attrs['fdTemplateField']['count']); sort($template_attrs['fdTemplateField']); $attrs = array(); foreach ($template_attrs['fdTemplateField'] as $field) { preg_match('/^([^:]+):(.*)$/s', $field, $m); if (isset($attrs[$m[1]])) { $attrs[$m[1]][] = $m[2]; $attrs[$m[1]]['count']++; } else { $attrs[$m[1]] = array($m[2]); $attrs[$m[1]]['count'] = 1; } } return $attrs; } /* Apply a modifier * Returns an array of possible values */ static function tpl_apply_modifier($m, $args, $str) { mb_internal_encoding('UTF-8'); mb_regex_encoding('UTF-8'); if (is_array($str) && (strtolower($m) == $m)) { /* $str is an array and $m is lowercase, so it's a string modifier */ $str = $str[0]; } switch ($m) { case 'F': // First return array($str[0]); case 'L': // Last return array(end($str)); case 'J': // Join if (isset($args[0])) { return array(join($args[0], $str)); } else { return array(join($str)); } case 'C': // Count return array(count($str)); case 'c': // comment return array(''); case 'b': // base64 if (isset($args[0]) && ($args[0] == 'd')) { return array(base64_decode($str)); } return array(base64_encode($str)); case 'u': // uppercase return array(mb_strtoupper($str, 'UTF-8')); case 'l': // lowercase return array(mb_strtolower($str, 'UTF-8')); case 'a': // remove accent $str = htmlentities($str, ENT_NOQUOTES, 'UTF-8'); $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); // handle ligatures $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // delete unhandled characters return array(preg_replace('#&[^;]+;#', '', $str)); case 't': // translit $localesaved = setlocale(LC_CTYPE, 0); $ret = array(); foreach ($args as $arg) { setlocale(LC_CTYPE, array($arg,"$arg.UTF8")); $ret[] = iconv('UTF8', 'ASCII//TRANSLIT', $str); } setlocale(LC_CTYPE, $localesaved); return array_unique($ret); case 'p': // spaces return array(preg_replace('/\s/u', '', $str)); case 's': // substring if (count($args) < 1) { trigger_error("Missing 's' substr modifier parameter"); } if (count($args) < 2) { array_unshift($args, 0); } if (preg_match('/^(\d+)-(\d+)$/', $args[1], $m)) { $res = array(); for ($i = $m[1];$i < $m[2]; ++$i) { $res[] = substr($str, $args[0], $i); } return array_unique($res); } else { return array(substr($str, $args[0], $args[1])); } case 'r': // random string $length = 8; $chars = 'b'; if (count($args) >= 2) { $length = mt_rand($args[0], $args[1]); if (count($args) >= 3) { $chars = $args[2]; } } elseif (count($args) >= 1) { $length = $args[0]; } $res = ''; for ($i = 0; $i < $length; ++$i) { switch ($chars) { case 'd': /* digits */ $res .= (string)rand(0, 9); break; case 'l': /* letters */ $nb = mt_rand(65, 116); if ($nb > 90) { /* lowercase */ $nb += 6; } $res .= chr($nb); break; case 'b': /* both */ default: $nb = mt_rand(65, 126); if ($nb > 116) { /* digit */ $nb = (string)($nb - 117); } else { if ($nb > 90) { /* lowercase */ $nb += 6; } $nb = chr($nb); } $res .= $nb; break; } } return array($res); default: trigger_error("Unkown modifier '$m'"); return array($str); } } static function tpl_parse_mask($mask, $attrs) { if ($mask == '|') { return array('%'); } $modifiers = ''; if (preg_match('/^([^|]+)\|/', $mask, $m)) { $modifiers = $m[1]; $mask = substr($mask, strlen($m[0])); } $result = array(''); if (isset($attrs[$mask])) { $result = array($attrs[$mask]); if (is_array($result[0])) { unset($result[0]['count']); } } elseif (($mask != '') && !preg_match('/c/', $modifiers)) { trigger_error("'$mask' was not found in attributes"); } $len = strlen($modifiers); for ($i = 0; $i < $len; ++$i) { $args = array(); $modifier = $modifiers[$i]; if (preg_match('/^\[([^\]]+)\].*$/', substr($modifiers, $i + 1), $m)) { /* get modifier args */ $args = explode(',', $m[1]); $i += strlen($m[1]) + 2; } $result_tmp = array(); foreach ($result as $r) { $result_tmp = array_merge($result_tmp, static::tpl_apply_modifier($modifier, $args, $r)); } $result = $result_tmp; } // Array that were not converted by a modifier into a string are now converted to strings foreach ($result as &$r) { if (is_array($r)) { $r = reset($r); } } unset($r); return $result; } static function tpl_depends_of (&$cache, $depends, $key, $forbidden = array()) { if (isset($cache[$key])) { return $cache[$key]; } $forbidden[] = $key; $array = array_map( function ($a) use (&$cache, $depends, $forbidden, $key) { if (in_array($a, $forbidden)) { msg_dialog::display( _('Error'), sprintf( _('Recursive dependency in the template fields: "%1$s" cannot depend on "%2$s" as "%2$s" already depends on "%1$s"'), $key, $a ), ERROR_DIALOG ); return array(); } $deps = plugin::tpl_depends_of ($cache, $depends, $a, $forbidden); if (($askmeKey = array_search('askme', $deps)) !== FALSE) { /* Do not flat special askme dependency */ unset($deps[$askmeKey]); } return $deps; }, $depends[$key] ); $array[] = $depends[$key]; $cache[$key] = array_unique(call_user_func_array('array_merge_recursive', $array)); return $cache[$key]; } static function tpl_attrs_depends($attrs) { /* Compute dependencies of each attr */ $depends = array(); foreach ($attrs as $key => $values) { $depends[$key] = array(); if (!is_array($values)) { $values = array($values); } unset ($values['count']); foreach ($values as $value) { $offset = 0; while (preg_match('/%([^%\|]+\|)?([^%]+)%/', $value, $m, PREG_OFFSET_CAPTURE, $offset)) { $offset = $m[0][1] + strlen($m[0][0]); $depends[$key][] = $m[2][0]; // Dependency which has no value might be missing if (!isset($attrs[$m[2][0]])) { $attrs[$m[2][0]] = array(); $depends[$m[2][0]] = array(); } } } } /* Flattens dependencies */ $flatdepends = array(); foreach ($depends as $key => $value) { static::tpl_depends_of($flatdepends, $depends, $key); } return $flatdepends; } static function tpl_sort_attrs($attrs, $flatdepends) { /* Sort attrs depending of dependencies */ uksort($attrs, function ($k1, $k2) use ($flatdepends) { if (in_array($k1, $flatdepends[$k2])) { return -1; } elseif (in_array($k2, $flatdepends[$k1])) { return 1; // When no direct dependency, we sort by number of dependencies } else { $c1 = count($flatdepends[$k1]); $c2 = count($flatdepends[$k2]); if ($c1 == $c2) { return 0; } return (($c1 < $c2) ? -1 : 1); } }); return $attrs; } /*! Brief Return attrs needed before applying template * * return an array of attributes which are needed by the template */ static function tpl_needed_attrs(&$attrs, $flatdepends) { $needed = array(); foreach ($flatdepends as $attr => $depends) { if ((isset($depends[0])) && ($depends[0] == 'askme')) { $needed[] = $attr; unset($flatdepends[$attr]); unset($attrs[$attr]); } } $dependencies = array_unique(call_user_func_array('array_merge', $flatdepends)); foreach ($dependencies as $attr) { if (empty($flatdepends[$attr])) { $needed[] = $attr; } } return array_unique($needed); } /*! Brief Parse attrs template masks * * return an array with the final values of attributes */ static function tpl_parse_attrs($attrs) { foreach ($attrs as &$attr) { if (is_array($attr)) { foreach ($attr as $key => &$string) { if (!is_numeric($key)) { continue; } $string = static::tpl_parse_string($string, $attrs); } unset($string); } } unset($attr); return $attrs; } /*! Brief Parse template masks in a single string * * return the string with patterns replaced by their values */ static function tpl_parse_string($string, $attrs, $escapeMethod = NULL) { $offset = 0; while (preg_match('/%([^%]+)%/', $string, $m, PREG_OFFSET_CAPTURE, $offset)) { $replace = static::tpl_parse_mask($m[1][0], $attrs); $replace = $replace[0]; if ($escapeMethod !== NULL) { $replace = $escapeMethod($replace); } $string = substr_replace($string, $replace, $m[0][1], strlen($m[0][0])); $offset = $m[0][1] + strlen($replace); } return $string; } /*! Brief Parse template masks in a single string and list the fields it needs * * return An array with the names of the fields used in the string pattern */ static function tpl_list_fields($string) { $fields = array(); $offset = 0; while (preg_match('/%([^%]+)%/', $string, $m, PREG_OFFSET_CAPTURE, $offset)) { $mask = $m[1][0]; $offset = $m[0][1] + strlen($m[0][0]); if ($mask == '|') { continue; } if (preg_match('/^([^|]+)\|/', $mask, $m)) { $mask = substr($mask, strlen($m[0])); } $fields[] = $mask; } return $fields; } /*! * \brief Show header message for tab dialogs * * \param string $button_text The button text * * \param string $text The text * * \param boolean $disabled FALSE */ function show_enable_header($button_text, $text, $disabled = FALSE, $name = 'modify_state') { return $this->show_header($button_text, $text, FALSE, $disabled, $name); } /*! * \brief Show header message for tab dialogs * * \param string $button_text The button text * * \param string $text The text * * \param boolean $disabled FALSE */ function show_disable_header($button_text, $text, $disabled = FALSE, $name = 'modify_state') { return $this->show_header($button_text, $text, TRUE, $disabled, $name); } /*! * \brief Show header message for tab dialogs * * \param string $button_text The button text * * \param string $text The text * * \param boolean $plugin_enabled * * \param boolean $button_disabled FALSE */ function show_header($button_text, $text, $plugin_enabled, $button_disabled = FALSE, $name = 'modify_state') { if ($button_disabled || ((!$this->acl_is_createable() && !$plugin_enabled) || (!$this->acl_is_removeable() && $plugin_enabled))) { $state = 'disabled="disabled"'; } else { $state = ''; } $display = '

    '.$text.'
    '."\n"; $display .= '


    '; return $display; } /*! * \brief Executes a command after an object has been copied */ function postCopyHook() { } /*! * \brief Create unique DN * * \param string $attribute * * \param string $base */ function create_unique_dn($attribute, $base) { global $config; $ldap = $config->get_ldap_link(); $base = preg_replace('/^,*/', '', $base); /* Try to use plain entry first */ $dn = $attribute.'='.ldap_escape_dn($this->$attribute).','.$base; if ($dn == $this->orig_dn) { return $dn; } $ldap->cat($dn, array('dn')); if (!$ldap->fetch()) { return $dn; } /* Look for additional attributes */ foreach ($this->attributes as $attr) { if ($attr == $attribute || $this->$attr == "" || is_array($this->$attr)) { continue; } $dn = $attribute.'='.ldap_escape_dn($this->$attribute).'+'.$attr.'='.ldap_escape_dn($this->$attr).','.$base; if ($dn == $this->orig_dn) { return $dn; } $ldap->cat($dn, array('dn')); if (!$ldap->fetch()) { return $dn; } } /* None found */ return 'none'; } /*! * \brief Rename/Move a given src_dn to the given dest_dn * * Move a given ldap object indentified by $src_dn to the * given destination $dst_dn * * \param string $src_dn the source DN. * * \param string $dst_dn the destination DN. * * \return boolean TRUE on success else FALSE. */ private function rename($src_dn, $dst_dn) { global $config; /* Try to move the source entry to the destination position */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->create_missing_trees(preg_replace("/^[^,]+,/", '', $dst_dn)); if (!$ldap->rename_dn($src_dn, $dst_dn)) { logging::log('debug', 'Ldap Protocol v3 implementation error, ldap_rename failed.', "FROM: $src_dn -- TO: $dst_dn", array(), $ldap->get_error()); @DEBUG(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, "Rename failed FROM: $src_dn -- TO: $dst_dn", 'Ldap Protocol v3 implementation error. Error:'.$ldap->get_error()); return FALSE; } return TRUE; } /*! * \brief Move ldap entries from one place to another * * \param string $src_dn the source DN. * * \param string $dst_dn the destination DN. */ function move($src_dn, $dst_dn) { global $config; /* Do not move if only upper- lowercase has changed */ if (strtolower($src_dn) == strtolower($dst_dn)) { return TRUE; } /* Try to move with ldap routines */ if (!$this->rename($src_dn, $dst_dn)) { return FALSE; } /* Get list of users,groups and roles within this tree, maybe we have to update ACL references. * TODO : replace this with a call to handleForeignKeys on sub objects */ $leaf_objs = get_list("(|(objectClass=posixGroup)(objectClass=inetOrgPerson)(objectClass=gosaRole))", array("all"), $dst_dn, array("dn","objectClass"), GL_SUBSEARCH | GL_NO_ACL_CHECK); foreach ($leaf_objs as $obj) { $new_dn = $obj['dn']; $old_dn = preg_replace("/".preg_quote(LDAP::convert($dst_dn), '/')."$/i", $src_dn, LDAP::convert($new_dn)); $this->update_acls($old_dn, $new_dn); } /* Check if there are gosa departments moved. If there were deps moved, the force reload of config->deps. */ $leaf_deps = get_list("(objectClass=gosaDepartment)", array("all"), $dst_dn, array("dn","objectClass"), GL_SUBSEARCH | GL_NO_ACL_CHECK); if (count($leaf_deps)) { $config->get_departments(); $config->make_idepartments(); session::global_set("config", $config); $ui = get_userinfo(); $ui->reset_acl_cache(); } $this->handleForeignKeys($src_dn, $dst_dn); return TRUE; } /*! \brief This function returns an LDAP filter for this plugin object classes */ function getObjectClassFilter () { if (!empty($this->objectclasses)) { return '(&(objectClass='.implode(')(objectClass=', $this->objectclasses).'))'; } else { return ''; } } function handleForeignKeys ($olddn = NULL, $newdn = NULL, $mode = 'move') { if (($olddn !== NULL) && ($olddn == $newdn)) { return; } if ($this->is_template) { return; } $this->browseForeignKeys( 'handle_'.$mode, $olddn, $newdn ); } function browseForeignKeys($mode, $param1 = NULL, $param2 = NULL) { if (preg_match('/^handle_/', $mode)) { $olddn = $param1; $newdn = $param2; $classes = array(get_class($this)); } elseif ($mode == 'references') { $classes = array_keys($this->parent->by_object); } // We group by objetType concerned $foreignRefs = array(); foreach ($classes as $tabclass) { $infos = pluglist::pluginInfos($tabclass); foreach ($infos['plForeignRefs'] as $field => $refs) { if (preg_match('/^handle_/', $mode)) { if ($newdn !== NULL) { // Move action if (($field != 'dn') && ($mode == 'handle_move')) { // We only change dn continue; } } elseif ($olddn === NULL) { // Edit action if ($field == 'dn') { // dn did not change continue; } elseif (!$this->attributeHaveChanged($field)) { // only look at changed attributes continue; } } // else = delete action, all fields are concerned, nothing to do here } foreach ($refs as $ref) { $class = $ref[0]; $ofield = $ref[1]; $filter = $ref[2]; $cinfos = pluglist::pluginInfos($class); foreach ($cinfos['plObjectType'] as $key => $objectType) { if (!is_numeric($key)) { $objectType = $key; } if (preg_match('/^handle_/', $mode)) { if ($field == 'dn') { $oldvalue = $olddn; $newvalue = $newdn; } elseif (($olddn !== NULL) && ($newdn === NULL)) { $oldvalue = $this->attributeInitialValue($field); $newvalue = NULL; } else { $oldvalue = $this->attributeInitialValue($field); $newvalue = $this->attributeValue($field); } $foreignRefs[$objectType]['refs'][$class][$ofield] = array( 'field' => $field, 'oldvalue' => $oldvalue, 'newvalue' => $newvalue, 'tab' => $tabclass, ); $filter = plugin::tpl_parse_string($filter, array('oldvalue' => $oldvalue, 'newvalue' => $newvalue), 'ldap_escape_f'); } elseif ($mode == 'references') { $foreignRefs[$objectType]['refs'][$class]['name'] = $cinfos['plShortName']; $foreignRefs[$objectType]['refs'][$class]['fields'][$ofield] = array( 'tab' => $tabclass, 'tabname' => $this->parent->by_name[$tabclass], 'field' => $field, 'value' => $this->parent->by_object[$tabclass]->$field, ); $filter = plugin::tpl_parse_string($filter, array('oldvalue' => $this->parent->by_object[$tabclass]->$field), 'ldap_escape_f'); } if (!preg_match('/^\(.*\)$/', $filter)) { $filter = '('.$filter.')'; } $foreignRefs[$objectType]['filters'][$filter] = $filter; } } } } /* Back up POST content */ $SAVED_POST = $_POST; $refs = array(); // For each concerned objectType foreach ($foreignRefs as $objectType => $tabRefs) { // Compute filter $filters = array_values($tabRefs['filters']); $filter = '(|'.join($filters).')'; // Search objects try { $objects = objects::ls($objectType, array('dn' => 'raw'), NULL, $filter); } catch (NonExistingObjectTypeException $e) { continue; } catch (EmptyFilterException $e) { continue; } // For each object of this type foreach (array_keys($objects) as $dn) { /* Avoid sending POST to opened objects */ $_POST = array(); // Build the object $tabobject = objects::open($dn, $objectType); if (preg_match('/^handle_/', $mode)) { // For each tab concerned foreach ($tabRefs['refs'] as $tab => $fieldRefs) { // If the tab is activated on this object if (isset($tabobject->by_object[$tab]) && ($tabobject->by_object[$tab]->is_account || $tabobject->by_object[$tab]->ignore_account)) { // For each field foreach ($fieldRefs as $ofield => $field) { // call plugin::foreignKeyUpdate(ldapname, oldvalue, newvalue, source) on the object $tabobject->by_object[$tab]->foreignKeyUpdate( $ofield, $field['oldvalue'], $field['newvalue'], array( 'CLASS' => $field['tab'], 'FIELD' => $field['field'], 'MODE' => preg_replace('/^handle_/', '', $mode), 'DN' => $this->dn, ) ); } $tabobject->by_object[$tab]->save_object(); $tabobject->by_object[$tab]->save(); } } } elseif ($mode == 'references') { // For each tab concerned foreach ($tabRefs['refs'] as $tab => $tab_infos) { // If the tab is activated on this object if (isset($tabobject->by_object[$tab])) { // For each field foreach ($tab_infos['fields'] as $ofield => $field) { if ($tabobject->by_object[$tab]->foreignKeyCheck( $ofield, $field['value'], array( 'CLASS' => $field['tab'], 'FIELD' => $field['field'], 'DN' => $this->dn, ) )) { if (!isset($refs[$dn])) { $refs[$dn] = array( 'link' => '', 'tabs' => array(), ); try { $refs[$dn]['link'] = objects::link($dn, $objectType); } catch (Exception $e) { trigger_error("Could not create link to $dn: ".$e->getMessage()); $refs[$dn]['link'] = $dn; } } if (!isset($refs[$dn]['tabs'][$tab])) { $refs[$dn]['tabs'][$tab] = array( 'link' => '', 'fields' => array(), ); try { $refs[$dn]['tabs'][$tab]['link'] = objects::link($dn, $objectType, "tab_$tab", sprintf(_('Tab "%s"'), $tab_infos['name'])); } catch (Exception $e) { trigger_error("Could not create link to $dn $tab: ".$e->getMessage()); $refs[$dn]['tabs'][$tab]['link'] = $tab; } } $refs[$dn]['tabs'][$tab]['fields'][$ofield] = $field; } } } } } } } /* Restore POST */ $_POST = $SAVED_POST; if ($mode == 'references') { return $refs; } } protected function attributeValue($field) { return $this->$field; } protected function attributeInitialValue($field) { die("Foreign key was declared but there is no method attributeInitialValue to handle it!". " Class:".get_class($this).", Field:$field"); } protected function attributeHaveChanged($field) { die("Foreign key was declared but there is no method attributeHaveChanged to handle it!". " Class:".get_class($this).", Field:$field"); } /* * Source is an array like this: * array( * 'CLASS' => class, * 'FIELD' => field, * 'DN' => dn, * 'MODE' => mode * ) * mode being either 'copy' or 'move', defaults to 'move' */ function foreignKeyUpdate ($field, $oldvalue, $newvalue, $source) { die("Foreign key was declared but there is no method foreignKeyUpdate to handle it!". " Class:".get_class($this).", Field:$field, Source:(".join(',', $source).")."); } function foreignKeyCheck ($field, $value, $source) { die("Foreign key was declared but there is no method foreignKeyCheck to handle it!". " Class:".get_class($this).", Field:$field, Source:(".join(',', $source).")."); } /* \brief Move/Rename complete trees * * \param string $src_dn the source DN. * * \param string $dst_dn the destination DN. */ function recursive_move($src_dn, $dst_dn) { trigger_error('Deprecated method : plugin::recursive_move, use plugin::move instead'); return $this->move($src_dn, $dst_dn); } /*! \brief Forward command execution requests * to the pre/post hook execution method. * * \param string $when must be PRE or POST * * \param string $mode add, remove or modify * * \param array $addAttrs */ protected function handle_hooks($when, $mode, $addAttrs = array()) { switch ($mode) { case 'add': $this->callHook($when.'CREATE', $addAttrs); break; case 'modify': $this->callHook($when.'MODIFY', $addAttrs); break; case 'remove': $this->callHook($when.'REMOVE', $addAttrs); break; default: trigger_error(sprintf('Invalid %s event type given %s! Valid types are [add,modify,remove].', strtolower($when), $mode)); break; } } /*! \brief Forward command execution requests * to the post hook execution method. */ function handle_post_events($mode, $addAttrs = array()) { /* Update foreign keys */ if ($mode == 'remove') { $this->handleForeignKeys($this->dn, NULL); } elseif ($mode == 'modify') { $this->handleForeignKeys(); } return $this->handle_hooks('POST', $mode, $addAttrs); } /*! * \brief Forward command execution requests * to the pre hook execution method. */ function handle_pre_events($mode, $addAttrs = array()) { return $this->handle_hooks('PRE', $mode, $addAttrs); } /*! * \brief Calls external hooks which are defined for this plugin (fusiondirectory.conf) * Replaces placeholder by class values of this plugin instance. * Allows to a add special replacements. */ function callHook($cmd, $addAttrs = array(), &$returnOutput = array(), &$returnCode = NULL) { if ($this->is_template) { return; } global $config; $command = $config->searchHook(get_class($this), $cmd); if ($command != "") { // Walk trough attributes list and add the plugins attributes. foreach ($this->attributes as $attr) { $addAttrs[$attr] = $this->$attr; } $ui = get_userinfo(); $addAttrs['callerDN'] = $ui->dn; $addAttrs['callerCN'] = $ui->cn; $addAttrs['callerUID'] = $ui->uid; $addAttrs['callerSN'] = $ui->sn; $addAttrs['callerGIVENNAME'] = $ui->givenName; $addAttrs['dn'] = $this->dn; $addAttrs['location'] = $config->current['NAME']; if (isset($this->parent->by_object)) { foreach ($this->parent->by_object as $object) { foreach ($object->attributes as $attr) { if (!isset($addAttrs[$attr])) { $addAttrs[$attr] = $object->$attr; } } } } $command = static::tpl_parse_string($command, $addAttrs, 'escapeshellarg'); // If there are still some %.. in our command, try to fill these with some other class vars (FIXME: useless) if (preg_match("/%/", $command)) { $addAttrs = array(); $attrs = get_object_vars($this); foreach ($attrs as $name => $value) { if (is_array($value)) { $s = ""; foreach ($value as $val) { if (is_string($val) || is_int($val) || is_float($val) || is_bool($val)) { $s .= $val.'|'; } } $value = trim($s, '|'); } if (!is_string($value) && !is_int($value) && !is_float($value) && !is_bool($value)) { continue; } $addAttrs[$name] = $value; } $command = static::tpl_parse_string($command, $addAttrs, 'escapeshellarg'); } @DEBUG(DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execute"); exec($command, $arr, $returnCode); $returnOutput = $arr; if ($returnCode != 0) { $str = implode("\n", $arr); @DEBUG(DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode); $message = msgPool::cmdexecfailed($cmd, $command, get_class($this)); if (!empty($str)) { $message .= "Result: ".$str; } msg_dialog::display(_("Error"), $message, ERROR_DIALOG); } elseif (is_array($arr)) { $str = implode("\n", $arr); @DEBUG(DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$str); if (!empty($str) && $config->get_cfg_value("displayHookOutput", "FALSE") == "TRUE") { msg_dialog::display('['.get_class($this).' '.strtolower($cmd)."hook] $command", $str, INFO_DIALOG); } } } } /*! \brief Test for removability of the object * * Allows testing of conditions for removal of object. If removal should be aborted * the function needs to remove an error message. */ function allow_remove() { $reason = ""; return $reason; } /*! * \brief Return plugin informations for acl handling * * \return an array */ static function plInfo() { return array(); } /*! * \brief Set acl base * * \param string $base */ function set_acl_base($base) { $this->acl_base = $base; } /*! * \brief Set acl category * * \param string $category */ function set_acl_category($category) { $this->acl_category = "$category/"; } /*! \brief Can we write the acl */ function acl_is_writeable($attribute, $skip_write = FALSE) { if ($this->read_only) { return FALSE; } $ui = get_userinfo(); return preg_match('/w/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute, $skip_write)); } /*! * \brief Can we read the acl * * \param string $attribute */ function acl_is_readable($attribute) { $ui = get_userinfo(); return preg_match('/r/', $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute)); } /*! * \brief Can we create the acl * * \param string $base Empty string */ function acl_is_createable($base = "") { if ($this->read_only) { return FALSE; } $ui = get_userinfo(); if ($base == "") { $base = $this->acl_base; } return preg_match('/c/', $ui->get_permissions($base, $this->acl_category.get_class($this), '0')); } /*! * \brief Can we remove the acl * * \param string $base Empty string */ function acl_is_removeable($base = "") { if ($this->read_only) { return FALSE; } $ui = get_userinfo(); if ($base == "") { $base = $this->acl_base; } return preg_match('/d/', $ui->get_permissions($base, $this->acl_category.get_class($this), '0')); } /*! * \brief Can we move the acl * * \param string $base Empty string */ function acl_is_moveable($base = "") { if ($this->read_only) { return FALSE; } $ui = get_userinfo(); if ($base == "") { $base = $this->acl_base; } return preg_match('/m/', $ui->get_permissions($base, $this->acl_category.get_class($this), '0')); } /*! \brief get the acl */ function getacl($attribute, $skip_write = FALSE) { $ui = get_userinfo(); $skip_write |= $this->read_only; return $ui->get_permissions($this->acl_base, $this->acl_category.get_class($this), $attribute, $skip_write); } /*! * \brief Returns a list of all available departments for this object. * * If this object is new, all departments we are allowed to create a new user in * are returned. If this is an existing object, return all deps. * We are allowed to move tis object too. * * \return array [dn] => "..name" // All deps. we are allowed to act on. */ function get_allowed_bases() { global $config; $deps = array(); /* Is this a new object ? Or just an edited existing object */ if (!$this->initially_was_account && $this->is_account) { $new = TRUE; } else { $new = FALSE; } foreach ($config->idepartments as $dn => $name) { if ($new && $this->acl_is_createable($dn)) { $deps[$dn] = $name; } elseif (!$new && $this->acl_is_moveable($dn)) { $deps[$dn] = $name; } } /* Add current base */ if (isset($this->base) && isset($config->idepartments[$this->base])) { $deps[$this->base] = $config->idepartments[$this->base]; } elseif (strtolower($this->dn) != strtolower($config->current['BASE'])) { trigger_error("Cannot return list of departments, no default base found in class ".get_class($this).". (base is '".$this->base."')"); } return $deps; } /* * \brief This function updates ACL settings if $old_dn was used. * * \param string $old_dn specifies the actually used dn * * \param string $new_dn specifies the destiantion dn * * \param boolean $output_changes FALSE */ function update_acls($old_dn, $new_dn, $output_changes = FALSE) { /* Check if old_dn is empty. This should never happen */ if (empty($old_dn) || empty($new_dn)) { trigger_error("Failed to check acl dependencies, wrong dn given."); return; } /* Update userinfo if necessary */ $ui = session::global_get('ui'); if ($ui->dn == $old_dn) { $ui->dn = $new_dn; session::global_set('ui', $ui); logging::log('view', 'acl/'.get_class($this), $this->dn, array(), 'Updated current object dn from "'.$old_dn.'" to "'.$new_dn.'"'); } } function is_modal_dialog() { return (isset($this->dialog) && $this->dialog); } } ?> fusiondirectory-1.0.19/include/class_pluglist.inc000066400000000000000000000350411304016502700222010ustar00rootroot00000000000000 &$pfks) { if (!is_array($pfks)) { $pfks = array($pfks); } if (!is_array($pfks[0])) { $pfks = array($pfks); } foreach ($pfks as &$pfk) { $class = $pfk[0]; if (isset($pfk[1])) { $field = $pfk[1]; } else { $field = 'dn'; $pfk[1] = $field; } $filter = NULL; if (isset($pfk[2])) { $filter = $pfk[2]; } if ($filter === NULL) { $filter = "$ofield=%oldvalue%"; } $pfk[2] = $filter; if (!isset($foreign_refs[$class])) { $foreign_refs[$class] = array(); } if (!isset($foreign_refs[$class][$field])) { $foreign_refs[$class][$field] = array(); } $foreign_refs[$class][$field][] = array($cname, $ofield, $filter); } unset($pfk); } unset($pfks); } else { $infos['plForeignKeys'] = array(); } if (!isset($infos['plProvidedAcls'])) { $infos['plProvidedAcls'] = array(); } if (!isset($infos['plCategory'])) { $infos['plCategory'] = array(); } if (!isset($infos['plTitle']) && isset($infos['plShortName'])) { $infos['plTitle'] = $infos['plShortName']; } $infos['plForeignRefs'] = array(); $infos['INDEX'] = $index; $this->info[$cname] = $infos; $this->dirlist[$index++] = $cname; } } foreach ($depends_infos as $cname) { foreach ($this->info[$cname]['plDepends'] as $depend) { if (isset($this->info[$depend])) { if (isset($this->info[$depend]['plDepending'])) { $this->info[$depend]['plDepending'][] = $cname; } else { $this->info[$depend]['plDepending'] = array($cname); } } else { trigger_error("$cname depends off the inexisting plugin $depend"); } } } foreach ($foreign_refs as $cname => $refs) { $this->info[$cname]['plForeignRefs'] = $refs; } /* Provide field for 'all' */ $this->info['all'] = array(); $this->info['all']['plProvidedAcls'] = array(); $this->info['all']['plDescription'] = _("All objects in this category"); $this->info['all']['plSelfModify'] = FALSE; uasort($this->info, function ($a, $b) { if (isset($a['plPriority']) && isset($b['plPriority'])) { if ($a['plPriority'] == $b['plPriority']) { return 0; } elseif ($a['plPriority'] < $b['plPriority']) { return -1; } else { return 1; } } elseif (isset($a['plPriority'])) { return -1; } elseif (isset($b['plPriority'])) { return 1; } else { return 0; } } ); } /*! * \brief Check whether we are allowed to modify the given acl or not * * This function is used to check which plugins are visible. * * \param string $aclname The acl tag to test, eg. "user/user:self", "systems",... * * \return Boolean TRUE on success FALSE otherwise */ function check_access($aclname) { global $ui; if (isset($this->silly_cache[$aclname])) { return $this->silly_cache[$aclname]; } /* Split given acl string into an array. e.g. "user,systems" => array("user","systems"); */ $acls_to_check = array(); if (preg_match("/,/", $aclname)) { $acls_to_check = explode(",", $aclname); } else { $acls_to_check = array($aclname); } foreach ($acls_to_check as $acl_to_check) { $acl_to_check = trim($acl_to_check); /* Check if the given acl tag is only valid for self acl entries get_permissions($ui->dn, $acl_to_check, "") != "") { $this->silly_cache[$aclname] = TRUE; return TRUE; } } else { if ($ui->get_category_permissions($ui->dn, $acl_to_check, "") != "") { $this->silly_cache[$aclname] = TRUE; return TRUE; } } } else { /* No self acls. Check if we have any acls for the given ACL type */ $deps = $ui->get_module_departments($acl_to_check, TRUE); if (count($deps)) { $this->silly_cache[$aclname] = TRUE; return TRUE; } } } $this->silly_cache[$aclname] = FALSE; return FALSE; } /*! * \brief Get headline, description and icon of a plugin */ function get_infos($cname) { $plHeadline = FALSE; $plIcon = FALSE; $plDescription = FALSE; $index = $this->get_index($cname); $href = "main.php?plug=$index&reset=1"; if (isset($this->info[$cname])) { if (isset($this->info[$cname]['plShortName'])) { $plHeadline = $this->info[$cname]['plShortName']; } if (isset($this->info[$cname]['plIcon'])) { $plIcon = $this->info[$cname]['plIcon']; } if (isset($this->info[$cname]['plDescription'])) { $plDescription = $this->info[$cname]['plDescription']; } if ($plHeadline && $plIcon && $plDescription) { return array($plHeadline,$plDescription,$href,$plIcon); } } $vars = get_class_vars($cname); if ($vars) { if (!$plHeadline && isset($vars['plHeadline'])) { $plHeadline = _($vars['plHeadline']); } if (!$plDescription && isset($vars['plDescription'])) { $plDescription = _($vars['plDescription']); } if (!$plIcon && isset($vars['plIcon'])) { $plIcon = $vars['plIcon']; } } else { die('Unknown class '.$cname); } if (!$plIcon) { $plIcon = "icon.png"; } return array($plHeadline,$plDescription,$href,$plIcon); } /*! * \brief Generate menu */ function gen_menu() { global $config; if ($this->menu == "") { $this->menu = ''."\n"; } /* Add the menucurrent class to current plugin */ if (isset($_GET['plug'])) { $plug = $_GET['plug']; } else { $plug = "NOTHING"; } $lines = preg_split("/\n/", $this->menu); foreach ($lines as &$line) { if (preg_match('/'.preg_quote("main.php?plug=$plug&reset=1",'/').'/', $line)) { $line = preg_replace('/class="menuitem"/', 'class="menuitem menucurrent"', $line); } elseif (preg_match('/class="menuitem menucurrent"/', $line)) { $line = preg_replace('/class="menuitem menucurrent"/', 'class="menuitem"', $line); } } unset($line); /* Write menu output */ $this->menu = join("\n", $lines); } /*! * \brief Show the menu icon */ function show_iconmenu() { global $class_mapping, $config; if ($this->iconmenu == "") { /* Parse headlines */ foreach ($config->data['SECTIONS'] as $section => $section_infos) { $entries = ''; $menu = ''; $menu = '

    '; $menu .= $section_infos['NAME']."

    \n"; foreach ($config->data['MENU'][$section] as $info) { if (isset($info['CLASS']) && plugin_available($info['CLASS'])) { if (!$this->check_access($info['ACL'])) { continue; } /* Read information from class variable */ list ($plHeadline, $plDescription, $href, $plIcon) = $this->get_infos($info['CLASS']); $id = $info['CLASS']; } elseif (!isset($info['CLASS'])) { if (isset($info['ACL']) && !$this->check_access($info['ACL'])) { continue; } $plHeadline = $info['TITLE']; $plDescription = $info['DESCRIPTION']; $href = $info['LINK']; $plIcon = $info['ICONPATH']; $id = $info['NAME']; } else { continue; } /* Load icon */ if (isset($info['CLASS']) && !preg_match("/\//", $plIcon) && !preg_match("/^geticon/", $plIcon)) { $image = get_template_path("plugins/".preg_replace('%^.*/([^/]+)/[^/]+$%', '\1', $class_mapping[$info['CLASS']])."/images/$plIcon"); } else { $image = htmlentities($plIcon, ENT_COMPAT, 'UTF-8'); } $entries .= '\n"; } /* Append to menu */ if ($entries != "") { $this->iconmenu .= $menu.$entries."
    \n"; } } } /* Write menu output */ return $this->iconmenu; } /* * \brief Get the path of the index * * \param string $index The index which we want the path */ function get_path($index) { if (!isset($this->dirlist[$index])) { return ""; } return "../".$this->info[$this->dirlist[$index]]['PATH']; } /* * \brief Search for plugin index (id), identify entry by path and class * * \param string $class The name of the class */ function get_index($class) { /* Search for plugin index (id), identify entry by class */ if (isset($this->info[$class])) { return $this->info[$class]['INDEX']; } /* Nothing */ return 0; } /*! * \brief This function checks if we are allowed to view the plugin with the given id * * \param integer $plug_id The ID of the plugin. * * \return Boolean TRUE if we are allowed to view the plugin else FALSE */ function plugin_access_allowed($plug_id) { return isset($this->allowed_plugins[$plug_id]); } /*! * \brief Force the menu to be recreated */ function reset_menus() { $this->menu = ""; $this->iconmenu = ""; } static function pluginInfos($cname) { $plist = session::global_get('plist'); if ($plist) { return $plist->info[$cname]; } else { trigger_error('plist not loaded yet'); } } } ?> fusiondirectory-1.0.19/include/class_session.inc000066400000000000000000000143601304016502700220220ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/class_template.inc000066400000000000000000000165641304016502700221620ustar00rootroot00000000000000 _('Template'), 'plDescription' => _('Object template, used to create several objects with similar values'), 'plCategory' => array('user'), 'plProvidedAcls' => array( 'template_cn' => _('Template name') ) ); } function __construct($type, $dn, $targetdn = NULL) { $this->type = $type; $this->dn = $dn; list($this->attrs, $depends) = plugin::tpl_fetch_template($this->dn); $this->needed = plugin::tpl_needed_attrs($this->attrs, $depends); $this->needed[] = 'base'; if ($targetdn === NULL) { $this->tabObject = objects::create($this->type); } else { trigger_error("This should not be used for now"); $this->tabObject = objects::open($this->dn, $this->type); } /* Used to know which tab is activated */ $tempTabObject = objects::open($this->dn, $this->type); $this->attributes = array(); foreach ($tempTabObject->by_object as $class => &$plugin) { if ($plugin->is_account || $plugin->ignore_account) { $this->tabObject->by_object[$class]->is_account = $plugin->is_account; $this->attributes[$class] = array(); $attrs = array_unique(array_merge($this->tabObject->by_object[$class]->getRequiredAttributes(), $this->needed)); foreach (array_keys($this->tabObject->by_object[$class]->attributesAccess) as $attr) { if (!$plugin->showInTemplate($attr, $this->attrs)) { continue; } if (in_array($attr, $attrs)) { $this->attributes[$class][] = $attr; } } } } } /* Used when you need to re-apply the same template with different values */ function reset() { list($this->attrs, $depends) = plugin::tpl_fetch_template($this->dn); /* This is needed because it removes %askme% values from attrs */ $this->needed = plugin::tpl_needed_attrs($this->attrs, $depends); $this->needed[] = 'base'; $this->tabObject = objects::create($this->type); /* Used to know which tab is activated */ $tempTabObject = objects::open($this->dn, $this->type); foreach ($tempTabObject->by_object as $class => &$plugin) { if ($plugin->is_account || $plugin->ignore_account) { $this->tabObject->by_object[$class]->is_account = $plugin->is_account; } } $this->applied = FALSE; } function getDn() { return $this->dn; } function getBase() { if (is_object($this->tabObject)) { return $this->tabObject->getBaseObject()->base; } else { $infos = objects::infos($this->type); return dn2base($this->dn, 'ou=templates,'.$infos['ou']); } } function getNeeded() { return $this->attributes; } function serialize() { $attributes = array(); foreach ($this->tabObject->by_object as $class => &$plugin) { if (!isset($this->attributes[$class])) { continue; } $attributes[$class] = array('name' => $this->tabObject->by_name[$class], 'attrs' => array()); foreach ($this->attributes[$class] as $attr) { $plugin->attributesAccess[$attr]->serializeAttribute($attributes[$class]['attrs'], FALSE); } } return $attributes; } function deserialize($values) { foreach ($values as $class => $class_values) { $result = $this->tabObject->by_object[$class]->deserializeValues($class_values); if ($result !== TRUE) { return $result; } } return TRUE; } function save_object() { foreach ($this->tabObject->by_object as $class => &$plugin) { $plugin->save_object(); } unset($plugin); } function execute() { $smarty = get_smarty(); $sections = array(); $posted = array(); $smarty->assign('baseACL', 'rw'); foreach ($this->tabObject->by_object as $class => &$plugin) { if (!isset($this->attributes[$class])) { continue; } $attributes = array(); foreach ($this->attributes[$class] as $attr) { if ($plugin->attributesAccess[$attr]->getAclInfo() !== FALSE) { // We assign ACLs so that attributes can use them in their template code $smarty->assign($plugin->attributesAccess[$attr]->getAcl().'ACL', $plugin->getacl($plugin->attributesAccess[$attr]->getAcl())); } $plugin->attributesAccess[$attr]->renderAttribute($attributes, FALSE); } $smarty->assign('section', $class); $smarty->assign('sectionId', $class); $smarty->assign('sectionClasses', ' fullwidth'); $smarty->assign('attributes', $attributes); $posted[] = $class.'_posted'; $sections[] = $smarty->fetch(get_template_path('simpleplugin_section.tpl')); } unset($plugin); $smarty->assign('sections', $sections); $smarty->assign('hiddenPostedInput', $posted); $smarty->assign('focusedField', ''); return $smarty->fetch(get_template_path('simpleplugin.tpl')); } /* Apply template and current values to an object and returns it for saving or edition * Cannot be called twice! If you need to, call reset between calls */ function apply($targetdn = NULL) { if ($targetdn !== NULL) { $this->tabObject = objects::open($targetdn, $this->type); } elseif ($this->applied) { trigger_error('Templates can’t be applied twice without calling reset before'); return; } foreach ($this->tabObject->by_object as $class => &$plugin) { if (!isset($this->attributes[$class])) { continue; } foreach ($this->attributes[$class] as $attr) { $plugin->attributesAccess[$attr]->fillLdapValue($this->attrs); } } unset($plugin); foreach ($this->tabObject->by_object as $class => &$plugin) { if (!isset($this->attributes[$class])) { continue; } foreach ($this->attributes[$class] as $attr) { $plugin->attributesAccess[$attr]->fillLdapValueHook($this->attrs); } } unset($plugin); foreach ($this->attrs as &$array) { if (!is_array($array)) { $array = array($array); } if (!isset($array['count'])) { $array['count'] = count($array); } } unset($array); $this->attrs = plugin::tpl_parse_attrs($this->attrs); $this->tabObject->adapt_from_template($this->attrs, call_user_func_array('array_merge', $this->attributes)); $this->applied = TRUE; return $this->tabObject; } } fusiondirectory-1.0.19/include/class_tests.inc000066400000000000000000000244001304016502700214750ustar00rootroot00000000000000= 0; $a--) { $c = 1; while ($i[$a] > 0) { $str = $i[0].".".$i[1].".".$i[2].".".$i[3]; $res[$str] = $str; $i[$a] -= $c; $c = 2 * $c; } } $res["0.0.0.0"] = "0.0.0.0"; if (preg_match("/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/", $ip)) { $mask = preg_replace("/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.". "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/", "", $ip); $mask = preg_replace("/^\//", "", $mask); if ((in_array("$mask", $res)) && preg_match("/^[0-9\.]/", $mask)) { return TRUE; } } return FALSE; } /*! * \brief Simple is domain check * * This checks if the given string looks like "string(...).string" * * \param string $str The domain to check */ public static function is_domain($str) { return preg_match("/^(([a-z0-9\-]{2,63})\.)*[a-z]{2,63}$/i", $str); } /*! * \brief Check if the given argument is an id * * \param string $id The id to check */ public static function is_id($id) { if ($id == "") { return FALSE; } return preg_match ("/^[0-9]+$/", $id); } /*! * \brief Check if the given argument is a path * * \param string $path The path to check */ public static function is_path($path) { if ($path == "") { return TRUE; } if (!preg_match('/^[a-z0-9%\/_.+-]+$/i', $path)) { return FALSE; } return preg_match ("/\/.+$/", $path); } /*! * \brief Check if the given argument is an email * * \param string $address The email address * * \param boolean $template FALSE */ public static function is_email($address, $deprecated = FALSE) { if ($address == "") { return TRUE; } if (filter_var($address, FILTER_VALIDATE_EMAIL) !== FALSE) { return TRUE; } elseif (filter_var($address.'.com', FILTER_VALIDATE_EMAIL) !== FALSE) { /* this is to allow addresses like example@localhost, which are refused by some PHP version */ return TRUE; } return FALSE; } /* * \brief Check if the given department name is valid * * \param string $name The deparment name * * \param string $base */ public static function is_department_name_reserved($name, $base) { $reservedName = array("systems","apps","incomming","internal","accounts","fax","addressbook", preg_replace("/ou=(.*),/", "\\1", get_people_ou()), preg_replace("/ou=(.*),/", "\\1", get_groups_ou())); $follwedNames['/ou=fai,ou=configs,ou=systems,/'] = array("fai","hooks","templates","scripts","disk","packages","variables","profiles"); /* Check if name is one of the reserved names */ if (in_array_ics($name, $reservedName)) { return TRUE; } /* Check all follow combinations if name is in array && parent base == array_key, return false*/ foreach ($follwedNames as $key => $names) { if ((in_array_ics($name, $names)) && (preg_match($key, $base))) { return TRUE; } } return FALSE; } /* * \brief Check if $ip1 and $ip2 represents a valid IPv4 range * * \param string $ip1 The first IPv4 * * \param string $ip2 The second IPv4 * * \return TRUE in case of a valid range, FALSE in case of an error. */ public static function is_ip_range($ip1, $ip2) { if (!tests::is_ipv4($ip1) || !tests::is_ipv4($ip2)) { return FALSE; } else { $ar1 = explode(".", $ip1); $var1 = $ar1[0] * (16777216) + $ar1[1] * (65536) + $ar1[2] * (256) + $ar1[3]; $ar2 = explode(".", $ip2); $var2 = $ar2[0] * (16777216) + $ar2[1] * (65536) + $ar2[2] * (256) + $ar2[3]; return ($var1 < $var2); } } /* * \brief Check if the specified IP address is inside the given network * * \param string $network Name of the network * * \param string $netmask The netmask of the IP address * * \param string $address The IP address */ public static function is_in_network($network, $netmask, $address) { $nw = explode('.', $network); $nm = explode('.', $netmask); $ad = explode('.', $address); /* Generate inverted netmask */ for ($i = 0; $i < 4; $i++) { $ni[$i] = 255 - $nm[$i]; $la[$i] = $nw[$i] | $ni[$i]; } /* Transform to integer */ $first = $nw[0] * (16777216) + $nw[1] * (65536) + $nw[2] * (256) + $nw[3]; $curr = $ad[0] * (16777216) + $ad[1] * (65536) + $ad[2] * (256) + $ad[3]; $last = $la[0] * (16777216) + $la[1] * (65536) + $la[2] * (256) + $la[3]; return ($first < $curr && $last > $curr); } /* * Check if entry value is a valid date * * \param string $date The date to check */ public static function is_date($date) { if ($date == "") { return TRUE; } //TODO: use global $lang to check date format if (!preg_match("/([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})/", $date, $matches)) { return FALSE; } return checkdate($matches[2], $matches[1], $matches[3]); } /* \brief Check if the specified IP address $address is inside the given network */ public static function is_in_ip_range($from, $to, $address) { $from = explode('.', $from); $to = explode('.', $to); $ad = explode('.', $address); /* Transform to integer */ $from = $from[0] * (16777216) + $from[1] * (65536) + $from[2] * (256) + $from[3]; $to = $to[0] * (16777216) + $to[1] * (65536) + $to[2] * (256) + $to[3]; $ad = $ad[0] * (16777216) + $ad[1] * (65536) + $ad[2] * (256) + $ad[3]; return ($ad >= $from && $ad <= $to); } } ?> fusiondirectory-1.0.19/include/class_timezone.inc000066400000000000000000000060351304016502700221710ustar00rootroot00000000000000get_cfg_value('timezone') != '') { $tz = $config->get_cfg_value('timezone'); if (@date_default_timezone_set($tz)) { return TRUE; } else { msg_dialog::display( _('Configuration error'), sprintf(_('The timezone setting "%s" in your configuration is not valid.'), $tz), ERROR_DIALOG ); } } return FALSE; } /* * \brief This function returns the offset for the default timezone. * * deprecated * \param $stamp is used to detect summer or winter time. */ static public function get_default_timezone($stamp = NULL) { global $config; /* Use current timestamp if $stamp is not set */ if ($stamp === NULL) { $stamp = time(); } /* Is there a correct timezone set in the fusiondirectory configuration */ if (static::setDefaultTimezoneFromConfig()) { $tz = $config->get_cfg_value('timezone'); $tz_delta = date('Z', $stamp); $tz_delta = $tz_delta / 3600; return array('name' => $tz, 'value' => $tz_delta); } else { return array('name' => 'unconfigured', 'value' => 0); } } /* * \brief Get the time zone informations * * \return Time zone informations */ static public function _get_tz_zones() { return DateTimeZone::listIdentifiers(); } /* \brief Return default timezone as a DateTimeZone object */ static public function getDefaultTimeZone() { return new DateTimeZone(date_default_timezone_get()); } /* \brief Return UTC timezone as a DateTimeZone object */ static public function utc() { static $utc; if (!isset($utc)) { $utc = new DateTimeZone('UTC'); } return $utc; } } ?> fusiondirectory-1.0.19/include/class_userinfo.inc000066400000000000000000000727151304016502700222010ustar00rootroot00000000000000dn = $userdn; $this->ip = $_SERVER['REMOTE_ADDR']; $this->ignoreACL = ($config->get_cfg_value('ignoreAcl') == $this->dn); $this->loadLDAPInfo(); /* Initialize ACL_CACHE */ $this->reset_acl_cache(); } /*! \brief Loads user information from LDAP */ function loadLDAPInfo() { global $config; $ldap = $config->get_ldap_link(); $ldap->cat($this->dn, array('cn', 'sn', 'givenName', 'uid', 'gidNumber', 'preferredLanguage')); $attrs = $ldap->fetch(); $this->uid = $attrs['uid'][0]; if (isset($attrs['cn'][0])) { $this->cn = $attrs['cn'][0]; } elseif (isset($attrs['givenName'][0]) && isset($attrs['sn'][0])) { $this->cn = $attrs['givenName'][0].' '.$attrs['sn'][0]; } else { $this->cn = $attrs['uid'][0]; } if (isset($attrs['gidNumber'][0])) { $this->gidNumber = $attrs['gidNumber'][0]; } if (isset($attrs['sn'][0])) { $this->sn = $attrs['sn'][0]; } if (isset($attrs['givenName'][0])) { $this->givenName = $attrs['givenName'][0]; } /* Assign user language */ if (isset($attrs['preferredLanguage'][0])) { $this->language = $attrs['preferredLanguage'][0]; } } /*! * \brief Reset acl cache */ public function reset_acl_cache() { /* Initialize ACL_CACHE */ session::global_set('ACL_CACHE', array()); } /*! * \brief Load an acl */ function loadACL() { global $config; $this->ACL = array(); $this->groups = array(); $this->roles = array(); $this->result_cache = array(); $this->reset_acl_cache(); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Get member groups... */ $ldap->search('(&(objectClass=groupOfNames)(member='.ldap_escape_f($this->dn).'))', array('dn')); while ($attrs = $ldap->fetch()) { $this->groups[$attrs['dn']] = $attrs['dn']; } /* Get member POSIX groups... */ $ldap->search('(&(objectClass=posixGroup)(memberUid='.ldap_escape_f($this->uid).'))', array('dn')); while ($attrs = $ldap->fetch()) { $this->groups[$attrs['dn']] = $attrs['dn']; } /* Get member roles... */ $ldap->search('(&(objectClass=organizationalRole)(roleOccupant='.ldap_escape_f($this->dn).'))', array('dn')); while ($attrs = $ldap->fetch()) { $this->roles[$attrs['dn']] = $attrs['dn']; } /* Crawl through ACLs and move relevant to the tree */ $ldap->search("(objectClass=gosaACL)", array('dn', 'gosaAclEntry')); $aclp = array(); $aclc = array(); while ($attrs = $ldap->fetch()) { /* Insert links in ACL array */ $aclp[$attrs['dn']] = substr_count($attrs['dn'], ','); $aclc[$attrs['dn']] = array(); $ol = array(); for ($i = 0; $i < $attrs['gosaAclEntry']['count']; $i++) { $ol = array_merge($ol, acl::explodeAcl($attrs['gosaAclEntry'][$i])); } $aclc[$attrs['dn']] = $ol; } /* Resolve roles here */ foreach ($aclc as $dn => $data) { foreach ($data as $prio => $aclc_value) { unset($aclc[$dn][$prio]); $ldap->cat($aclc_value['acl'], array("gosaAclTemplate")); $attrs = $ldap->fetch(); if (isset($attrs['gosaAclTemplate'])) { $roleAcls = acl::explodeRole($attrs['gosaAclTemplate']); foreach ($roleAcls as $roleAcl) { $aclc[$dn][] = array( 'acl' => $roleAcl, 'type' => $aclc_value['type'], 'members' => $aclc_value['members'], 'filter' => $aclc_value['filter'] ); } } } } /* ACL's read, sort for tree depth */ asort($aclp); /* Sort in tree order */ foreach ($aclp as $dn => $acl) { /* Check if we need to keep this ACL */ foreach ($aclc[$dn] as $idx => $type) { $interresting = FALSE; /* No members? This ACL rule is deactivated ... */ if (!count($type['members'])) { $interresting = FALSE; } else { /* Inspect members... */ foreach (array_keys($type['members']) as $grp) { /* Some group inside the members that is relevant for us? */ if (in_array_ics(@LDAP::convert(preg_replace('/^G:/', '', $grp)), $this->groups)) { $interresting = TRUE; } /* Some role inside the members that is relevant for us? */ if (in_array_ics(@LDAP::convert(preg_replace('/^R:/', '', $grp)), $this->roles)) { $interresting = TRUE; } /* User inside the members? */ if (mb_strtoupper(preg_replace('/^U:/', '', $grp)) == mb_strtoupper($this->dn)) { $interresting = TRUE; } /* Wildcard? */ if (preg_match('/^G:\*/', $grp)) { $interresting = TRUE; } } } if ($interresting) { if (!isset($this->ACL[$dn])) { $this->ACL[$dn] = array(); } $this->ACL[$dn][$idx] = $type; } } } /* Create an array which represent all relevant permissions settings per dn. The array will look like this: . ['ou=base'] ['ou=base'] = array(ACLs); . . ['ou=dep1,ou=base']['ou=dep1,ou=base'] = array(ACLs); . ['ou=base'] = array(ACLs); For object located in 'ou=dep1,ou=base' we have to both ACLs, for objects in 'ou=base' we only have to apply on ACL. */ $without_self_acl = $all_acl = array(); foreach ($this->ACL as $dn => $acl) { $sdn = $dn; /* Run at least once */ $first = TRUE; while ((strpos($dn, ",") !== FALSE) || $first) { $first = FALSE; if (isset($this->ACL[$dn])) { $all_acl[$sdn][$dn] = $this->ACL[$dn]; $without_self_acl[$sdn][$dn] = $this->ACL[$dn]; foreach ($without_self_acl[$sdn][$dn] as $acl_id => $acl_set) { /* Remember which ACL set has speicial user filter */ if (isset($acl_set['filter']{1})) { $this->ACLperPath_usesFilter[$sdn] = TRUE; } /* Remove all acl entries which are especially for the current user (self acl) */ foreach ($acl_set['acl'] as $object => $object_acls) { if (isset($object_acls[0]) && (strpos($object_acls[0], "s") !== FALSE)) { unset($without_self_acl[$sdn][$dn][$acl_id]['acl'][$object]); } } } } $dn = preg_replace("/^[^,]*+,/", "", $dn); } } $this->ACLperPath = $without_self_acl; /* Append Self entry */ $dn = $this->dn; while (strpos($dn, ",") && !isset($all_acl[$dn])) { $dn = preg_replace("/^[^,]*+,/", "", $dn); } if (isset($all_acl[$dn])) { $this->ACLperPath[$this->dn] = $all_acl[$dn]; } } /*! * \brief Returns an array containing all target objects we've permissions on * * \return Return the next id or NULL if failed */ function get_acl_target_objects() { return array_keys($this->ACLperPath); } /*! * \brief Get permissions by category * * \param string $dn Dn from which we want to know permissions. * * \param string $category Category for which we want the acl eg: server * * \param bool $any_acl FALSE * * \return all the permissions for the dn and category */ function get_category_permissions($dn, $category, $any_acl = FALSE) { return @$this->get_permissions($dn, $category.'/0', ""); } /*! * \brief Check if the given object (dn) is copyable * * \param string $dn The object dn * * \param string $object The acl category (e.g. user) * * \param string $class The acl class (e.g. user) * * \return boolean TRUE if the given object is copyable else FALSE */ function is_copyable($dn, $object, $class) { return (strpos($this->get_complete_category_acls($dn, $object), 'r') !== FALSE); } /*! * \brief Check if the given object (dn) is cutable * * \param string $dn The object dn * * \param string $object The acl category (e.g. user) * * \param string $class The acl class (e.g. user) * * \return boolean TRUE if the given object is cutable else FALSE */ function is_cutable($dn, $object, $class) { $remove = (strpos($this->get_permissions($dn, $object.'/'.$class), 'd') !== FALSE); $read = (strpos($this->get_complete_category_acls($dn, $object), 'r') !== FALSE); return ($remove && $read); } /*! * \brief Checks if we are allowed to paste an object to the given destination ($dn) * * \param string $dn The destination dn * * \param string $object The acl category (e.g. user) * * \return Boolean TRUE if we are allowed to paste an object. */ function is_pasteable($dn, $object) { return (strpos($this->get_complete_category_acls($dn, $object), 'w') !== FALSE); } /*! * \brief Checks if we are allowed to restore a snapshot for the given dn. * * \param string $dn The destination dn * * \param string $object The acl category (e.g. user) * * \return boolean TRUE if we are allowed to restore a snapshot. */ function allow_snapshot_restore($dn, $object) { if (!is_array($object)) { $object = array($object); } $r = $w = TRUE; foreach ($object as $category) { $w &= (strpos($this->get_complete_category_acls($dn, $category), 'w') !== FALSE); $r &= (strpos($this->get_complete_category_acls($dn, $category), 'r') !== FALSE); } return ($r && $w); } /*! * \brief Checks if we are allowed to create a snapshot of the given dn. * * \param string $dn The source dn * * \param string $object The acl category (e.g. user) * * \return boolean TRUE if we are allowed to restore a snapshot. */ function allow_snapshot_create($dn, $object) { if (!is_array($object)) { $object = array($object); } foreach ($object as $category) { if (strpos($this->get_complete_category_acls($dn, $category), 'r') === FALSE) { return FALSE; } } return TRUE; } /*! * \brief Get the permissions for a specified dn * * \param string $dn The object dn * * \param string $object The acl category (e.g. user) * * \param string $attribute The acl class (e.g. user) * * \param bool $skip_write Remove the write acl for this dn * */ function get_permissions($dn, $object, $attribute = "", $skip_write = FALSE) { global $config; /* If we are forced to skip ACLs checks for the current user then return all permissions. */ if ($this->ignore_acl_for_current_user()) { if ($skip_write) { return 'rcdm'; } return 'rwcdm'; } /* Push cache answer? */ $ACL_CACHE = &session::global_get('ACL_CACHE'); if (isset($ACL_CACHE["$dn+$object+$attribute"])) { $ret = $ACL_CACHE["$dn+$object+$attribute"]; if ($skip_write) { $ret = str_replace(array('w','c','d','m'), '', $ret); } return $ret; } /* Detect the set of ACLs we have to check for this object */ $adn = $dn; while (!isset($this->ACLperPath[$adn]) && (strpos($adn, ',') !== FALSE)) { $adn = preg_replace("/^[^,]*+,/", "", $adn); } if (isset($this->ACLperPath[$adn])) { $ACL = $this->ACLperPath[$adn]; } else { $ACL_CACHE["$dn+$object+$attribute"] = ''; return ''; } /* If we do not need to respect any user-filter settings we can skip the per object ACL checks. */ $orig_dn = $dn; if (!isset($this->ACLperPath_usesFilter[$adn])) { $dn = $adn; if (isset($ACL_CACHE["$dn+$object+$attribute"])) { $ret = $ACL_CACHE["$dn+$object+$attribute"]; if (!isset($ACL_CACHE["$orig_dn+$object+$attribute"])) { $ACL_CACHE["$orig_dn+$object+$attribute"] = $ret; } if ($skip_write) { $ret = str_replace('w', '', $ret); } return $ret; } } /* Get ldap object, for later filter checks */ $ldap = $config->get_ldap_link(); $acl = array('r' => '', 'w' => '', 'c' => '', 'd' => '', 'm' => '', 'a' => ''); /* Build dn array */ $path = explode(',', $dn); $path = array_reverse($path); /* Walk along the path to evaluate the acl */ $cpath = ''; foreach ($path as $element) { /* Clean potential ACLs for each level */ if (isset($config->idepartments[$cpath])) { $acl = $this->cleanACL($acl); } if ($cpath == "") { $cpath = $element; } else { $cpath = $element.','.$cpath; } if (isset($ACL[$cpath])) { /* Inspect this ACL, place the result into ACL */ foreach ($ACL[$cpath] as $subacl) { /* Reset? Just clean the ACL and turn over to the next one... */ if ($subacl['type'] == 'reset') { $acl = $this->cleanACL($acl, TRUE); continue; } /* With user filter */ if (isset($subacl['filter']) && !empty($subacl['filter'])) { $id = $dn."-".$subacl['filter']; if (!isset($ACL_CACHE['FILTER'][$id])) { $ACL_CACHE['FILTER'][$id] = $ldap->object_match_filter($dn, $subacl['filter']); } if (!$ACL_CACHE['FILTER'][$id]) { continue; } } /* Self ACLs? */ if (($dn != $this->dn) && isset($subacl['acl'][$object][0]) && (strpos($subacl['acl'][$object][0], "s") !== FALSE)) { continue; } /* If attribute is "", we want to know, if we've *any* permissions here... Merge global class ACLs [0] with attributes specific ACLs [attribute]. */ if (($attribute == '') && isset($subacl['acl'][$object])) { foreach ($subacl['acl'][$object] as $attr => $dummy) { $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$object][$attr]); } continue; } /* Per attribute ACL? */ if (isset($subacl['acl'][$object][$attribute])) { $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$object][$attribute]); continue; } /* Per object ACL? */ if (isset($subacl['acl'][$object][0])) { $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$object][0]); continue; } /* Global ACL? */ if (isset($subacl['acl']['all'][0])) { $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl']['all'][0]); continue; } /* Category ACLs (e.g. $object = "user/0") */ if (strstr($object, '/0')) { $ocs = preg_replace("/\/0$/", "", $object); if (isset($config->data['CATEGORIES'][$ocs])) { /* if $attribute is "", then check every single attribute for this object. if it is 0, then just check the object category ACL. */ if ($attribute == "") { foreach ($config->data['CATEGORIES'][$ocs]['classes'] as $oc) { if (isset($subacl['acl'][$ocs.'/'.$oc])) { // Skip ACLs wich are defined for ourselfs only - if not checking against ($ui->dn) if (isset($subacl['acl'][$ocs.'/'.$oc][0]) && ($dn != $this->dn) && (strpos($subacl['acl'][$ocs.'/'.$oc][0], "s") !== FALSE)) { continue; } foreach ($subacl['acl'][$ocs.'/'.$oc] as $attr => $dummy) { $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$ocs.'/'.$oc][$attr]); } continue; } } } else { if (isset($subacl['acl'][$ocs.'/'.$oc][0])) { if (($dn != $this->dn) && (strpos($subacl['acl'][$ocs.'/'.$oc][0], "s") !== FALSE)) { continue; } $acl = $this->mergeACL($acl, $subacl['type'], $subacl['acl'][$ocs.'/'.$oc][0]); } } } continue; } } } } /* If the requested ACL is for a container object, then alter ACLs by applying cleanACL a last time. */ if (isset($config->idepartments[$dn])) { $acl = $this->cleanACL($acl); } /* Assemble string */ $ret = ""; foreach ($acl as $key => $value) { if ($value !== "") { $ret .= $key; } } $ACL_CACHE["$dn+$object+$attribute"] = $ret; $ACL_CACHE["$orig_dn+$object+$attribute"] = $ret; /* Remove write if needed */ if ($skip_write) { $ret = str_replace(array('w','c','d','m'), '', $ret); } return $ret; } /*! * \brief Extract all departments that are accessible * * Extract all departments that are accessible (direct or 'on the way' to an * accessible department) * * \param string $module The module * * \param bool $skip_self_acls FALSE * * \return array Return all accessible departments */ function get_module_departments($module, $skip_self_acls = FALSE ) { global $config; /* If we are forced to skip ACLs checks for the current user then return all departments as valid. */ if ($this->ignore_acl_for_current_user()) { return array_keys($config->idepartments); } /* Use cached results if possilbe */ $ACL_CACHE = &session::global_get('ACL_CACHE'); if (!is_array($module)) { $module = array($module); } $res = array(); foreach ($module as $mod) { if (isset($ACL_CACHE['MODULE_DEPARTMENTS'][$mod])) { $res = array_merge($res, $ACL_CACHE['MODULE_DEPARTMENTS'][$mod]); continue; } $deps = array(); /* Search for per object ACLs */ foreach ($this->ACL as $dn => $infos) { foreach ($infos as $info) { $found = FALSE; foreach ($info['acl'] as $cat => $data) { /* Skip self acls? */ if ($skip_self_acls && isset($data['0']) && (strpos($data['0'], "s") !== FALSE)) { continue; } if (preg_match("/^".preg_quote($mod, '/')."/", $cat)) { $found = TRUE; break; } } if ($found && !isset($config->idepartments[$dn])) { while (!isset($config->idepartments[$dn]) && strpos($dn, ",")) { $dn = preg_replace("/^[^,]+,/", "", $dn); } if (isset($config->idepartments[$dn])) { $deps[$dn] = $dn; } } } } /* For all gosaDepartments */ foreach ($config->departments as $dn) { if (isset($deps[$dn])) { continue; } $acl = ""; if (strpos($mod, '/')) { $acl .= $this->get_permissions($dn, $mod); } else { $acl .= $this->get_category_permissions($dn, $mod, TRUE); } if (!empty($acl)) { $deps[$dn] = $dn; } } $ACL_CACHE['MODULE_DEPARTMENTS'][$mod] = $deps; $res = array_merge($res, $deps); } return array_values($res); } /*! * \brief Merge acls * * \param $acl The ACL * * \param $type The type * * \param $newACL The new ACL */ function mergeACL($acl, $type, $newACL) { $at = array("subtree" => "s", "one" => "1"); if ((strpos($newACL, 'w') !== FALSE) && (strpos($newACL, 'r') === FALSE)) { $newACL .= "r"; } /* Ignore invalid characters */ $newACL = preg_replace('/[^rwcdm]/', '', $newACL); foreach (str_split($newACL) as $char) { /* Skip "self" ACLs without combination of rwcdm, they have no effect. -self flag without read/write/create/... */ if (empty($char)) { continue; } /* Skip subtree entries */ if ($acl[$char] == 's') { continue; } if ($type == "base" && $acl[$char] != 1) { $acl[$char] = 0; } else { $acl[$char] = $at[$type]; } } return $acl; } /*! * \brief Clean acls * * \param $acl ACL to be cleaned * * \param boolean $reset FALSE */ function cleanACL($acl, $reset = FALSE) { foreach ($acl as $key => $value) { /* Continue, if value is empty or subtree */ if (($value == "") || ($value == "s")) { continue; } /* Reset removes everything but 'p' */ if ($reset && $value != 'p') { $acl[$key] = ""; continue; } /* Decrease tree level */ if (is_int($value)) { if ($value) { $acl[$key]--; } else { $acl[$key] = ""; } } } return $acl; } /*! * \brief Return combined acls for a given category * * Return combined acls for a given category. * All acls will be combined like boolean AND * As example ('rwcdm' + 'rcd' + 'wrm'= 'r') * * Results will be cached in $this->result_cache. * $this->result_cache will be resetted if load_acls is called. * * \param string $dn The DN * * \param string $category The category * * \return string return acl combined with boolean AND */ function get_complete_category_acls($dn, $category) { global $config; $acl = 'rwcdm'; if (!is_string($category)) { trigger_error('category must be string'); return ''; } else { if (isset($this->result_cache['get_complete_category_acls'][$dn][$category])) { return $this->result_cache['get_complete_category_acls'][$dn][$category]; } if (isset($config->data['CATEGORIES'][$category])) { foreach ($config->data['CATEGORIES'][$category]['classes'] as $oc) { if ($oc == '0') { /* Skip objectClass '0' (e.g. user/0) */ continue; } $tmp = $this->get_permissions($dn, $category.'/'.$oc); $types = $acl; for ($i = 0, $l = strlen($types); $i < $l; $i++) { if (strpos($tmp, $types[$i]) === FALSE) { $acl = str_replace($types[$i], '', $acl); } } } } else { $acl = ''; } $this->result_cache['get_complete_category_acls'][$dn][$category] = $acl; return $acl; } } /*! * \brief Ignore acl for the current user * * \return Returns TRUE if the current user is configured in IGNORE_ACL=".." * in your fusiondirectory.conf FALSE otherwise */ function ignore_acl_for_current_user() { return $this->ignoreACL; } /*! * \brief Checks the posixAccount status by comparing the shadow attributes. * * \param object $config The FusionDirectory configuration object. * * \return const * POSIX_ACCOUNT_EXPIRED - If the account is expired. * POSIX_WARN_ABOUT_EXPIRATION - If the account is going to expire. * POSIX_FORCE_PASSWORD_CHANGE - The password has to be changed. * POSIX_DISALLOW_PASSWORD_CHANGE - The password cannot be changed right now. * * * * shadowLastChange * | * |---- shadowMin ---> | <-- shadowMax -- * | | | * |------- shadowWarning -> | * |-- shadowInactive --> DEACTIVATED * | * EXPIRED * */ function expired_status () { global $config; // Skip this for the admin account, we do not want to lock him out. if ($this->is_user_admin()) { return 0; } $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->cat($this->dn); $attrs = $ldap->fetch(); $current = floor(date("U") / 60 / 60 / 24); // Fetch required attributes foreach (array('shadowExpire','shadowLastChange','shadowMax','shadowMin', 'shadowInactive','shadowWarning','sambaKickoffTime') as $attr) { $$attr = (isset($attrs[$attr][0]) ? $attrs[$attr][0] : NULL); } // Check if the account has reached its kick off limitations. // ---------------------------------------------------------- // Once the accout reaches the kick off limit it has expired. if ($sambaKickoffTime !== NULL) { if (time() >= $sambaKickoffTime) { return POSIX_ACCOUNT_EXPIRED; } } // Check if the account has expired. // --------------------------------- // An account is locked/expired once its expiration date has reached (shadowExpire). // If the optional attribute (shadowInactive) is set, we've to postpone // the account expiration by the amount of days specified in (shadowInactive). if (($shadowExpire != NULL) && ($shadowExpire <= $current)) { // The account seems to be expired, but we've to check 'shadowInactive' additionally. // ShadowInactive specifies an amount of days we've to reprieve the user. // It some kind of x days' grace. if (($shadowInactive == NULL) || $current > $shadowExpire + $shadowInactive) { // Finally we've detect that the account is deactivated. return POSIX_ACCOUNT_EXPIRED; } } // The users password is going to expire. // -------------------------------------- // We've to warn the user in the case of an expiring account. // An account is going to expire when it reaches its expiration date (shadowExpire). // The user has to be warned, if the days left till expiration, match the // configured warning period (shadowWarning) // --> shadowWarning: Warn x days before account expiration. if (($shadowExpire != NULL) && ($shadowWarning != NULL)) { // Check if the account is still active and not already expired. if ($shadowExpire >= $current) { // Check if we've to warn the user by comparing the remaining // number of days till expiration with the configured amount // of days in shadowWarning. if (($shadowExpire - $current) <= $shadowWarning) { return POSIX_WARN_ABOUT_EXPIRATION; } } } // -- I guess this is the correct detection, isn't it? if (($shadowLastChange != NULL) && ($shadowWarning != NULL) && ($shadowMax != NULL)) { $daysRemaining = ($shadowLastChange + $shadowMax) - $current; if ($daysRemaining > 0 && $daysRemaining <= $shadowWarning) { return POSIX_WARN_ABOUT_EXPIRATION; } } // Check if we've to force the user to change his password. // -------------------------------------------------------- // A password change is enforced when the password is older than // the configured amount of days (shadowMax). // The age of the current password (shadowLastChange) plus the maximum // amount amount of days (shadowMax) has to be smaller than the // current timestamp. if (($shadowLastChange != NULL) && ($shadowMax != NULL)) { // Check if we've an outdated password. if ($current >= ($shadowLastChange + $shadowMax)) { return POSIX_FORCE_PASSWORD_CHANGE; } } // Check if we've to freeze the users password. // -------------------------------------------- // Once a user has changed his password, he cannot change it again // for a given amount of days (shadowMin). // We should not allow to change the password within FusionDirectory too. if (($shadowLastChange != NULL) && ($shadowMin != NULL)) { // Check if we've an outdated password. if (($shadowLastChange + $shadowMin) >= $current) { return POSIX_DISALLOW_PASSWORD_CHANGE; } } return 0; } /* \brief Check if a user is a 'user admin' */ function is_user_admin() { global $config; if (empty($this->ACLperPath)) { $this->loadACL(); } return ($this->get_permissions($config->current['BASE'], 'user/user') == 'rwcdm'); } } ?> fusiondirectory-1.0.19/include/class_xml.inc000066400000000000000000000171741304016502700211450ustar00rootroot00000000000000load($file); if (!$xml->schemaValidate($schema)) { $errors = libxml_get_errors(); foreach ($errors as $error) { $str = ""; switch ($error->level) { case LIBXML_ERR_WARNING: $str = _("Warning")." ".$error->code.": "; break; case LIBXML_ERR_ERROR: $str = _("Error")." ".$error->code.": "; break; case LIBXML_ERR_FATAL: $str = _("Fatal error")." ".$error->code.": "; break; } $str .= trim($error->message); if ($error->file) { $str .= " "._("in")." ".$error->file; } $str .= " "._("on line")." ".$error->line; msg_dialog::display(_("XML error"), $str, ERROR_DIALOG); } libxml_clear_errors(); } } /*! * \brief Transform a xml document to an array * * \param $contents Contents * * \param integer $get_attributes Initialized at 1 * * \param string $priority Initialized at 'tag' */ static function xml2array($contents, $get_attributes = 1, $priority = 'tag') { if (!$contents) { return array(); } if (!function_exists('xml_parser_create')) { trigger_error('xml_parser_create function does not exists'); return array(); } //Get the XML parser of PHP - PHP must have this module for the parser to work $parser = xml_parser_create(''); xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); // http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, trim($contents), $xml_values); xml_parser_free($parser); if (!$xml_values) { return;//Hmm... } //Initializations $xml_array = array(); $current = &$xml_array; //Refference //Go through the tags. $repeated_tag_index = array();//Multiple tags with same name will be turned into an array foreach ($xml_values as $data) { unset($attributes, $value);//Remove existing values, or there will be trouble //This command will extract these variables into the foreach scope // tag(string), type(string), level(int), attributes(array). extract($data);//We could use the array by itself, but this cooler. $result = array(); $attributes_data = array(); if (isset($value)) { if ($priority == 'tag') { $result = $value; } else { //Put the value in a assoc array if we are in the 'Attribute' mode $result['value'] = $value; } } //Set the attributes too. if (isset($attributes) and $get_attributes) { foreach ($attributes as $attr => $val) { if ($priority == 'tag') { $attributes_data[$attr] = $val; } else { //Set all the attributes in a array called 'attr' $result['attr'][$attr] = $val; } } } //See tag status and do the needed. if ($type == "open") {//The starting of the tag '' $parent[$level - 1] = &$current; if (!is_array($current) or (!in_array($tag, array_keys($current)))) { //Insert New tag $current[$tag] = $result; if ($attributes_data) { $current[$tag. '_attr'] = $attributes_data; } $repeated_tag_index[$tag.'_'.$level] = 1; $current = &$current[$tag]; } else { //There was another element with the same tag name if (isset($current[$tag][0])) {//If there is a 0th element it is already an array $current[$tag][$repeated_tag_index[$tag.'_'.$level]] = $result; $repeated_tag_index[$tag.'_'.$level]++; } else {//This section will make the value an array if multiple tags with the same name appear together $current[$tag] = array($current[$tag],$result);//This will combine the existing item and the new item together to make an array $repeated_tag_index[$tag.'_'.$level] = 2; if (isset($current[$tag.'_attr'])) { //The attribute of the last(0th) tag must be moved as well $current[$tag]['0_attr'] = $current[$tag.'_attr']; unset($current[$tag.'_attr']); } } $last_item_index = $repeated_tag_index[$tag.'_'.$level] - 1; $current = &$current[$tag][$last_item_index]; } } elseif ($type == "complete") { //Tags that ends in 1 line '' //See if the key is already taken. if (!isset($current[$tag])) { //New Key $current[$tag] = $result; $repeated_tag_index[$tag.'_'.$level] = 1; if ($priority == 'tag' and $attributes_data) { $current[$tag. '_attr'] = $attributes_data; } } else { //If taken, put all things inside a list(array) if (isset($current[$tag][0]) and is_array($current[$tag])) {//If it is already an array... // ...push the new element into that array. $current[$tag][$repeated_tag_index[$tag.'_'.$level]] = $result; if ($priority == 'tag' and $get_attributes and $attributes_data) { $current[$tag][$repeated_tag_index[$tag.'_'.$level] . '_attr'] = $attributes_data; } $repeated_tag_index[$tag.'_'.$level]++; } else { //If it is not an array... $current[$tag] = array($current[$tag],$result); //...Make it an array using using the existing value and the new value $repeated_tag_index[$tag.'_'.$level] = 1; if ($priority == 'tag' and $get_attributes) { if (isset($current[$tag.'_attr'])) { //The attribute of the last(0th) tag must be moved as well $current[$tag]['0_attr'] = $current[$tag.'_attr']; unset($current[$tag.'_attr']); } if ($attributes_data) { $current[$tag][$repeated_tag_index[$tag.'_'.$level] . '_attr'] = $attributes_data; } } $repeated_tag_index[$tag.'_'.$level]++; //0 and 1 index is already taken } } } elseif ($type == 'close') { //End of tag '' $current = &$parent[$level - 1]; } } return $xml_array; } } fusiondirectory-1.0.19/include/exporter/000077500000000000000000000000001304016502700203235ustar00rootroot00000000000000fusiondirectory-1.0.19/include/exporter/class_PDF.php000066400000000000000000000031671304016502700226410ustar00rootroot00000000000000headline = $headline; } /*! * \brief Set font and cell for the header page */ function Header() { $this->SetFont('Helvetica', 'B', 10); $this->Cell(0, 0, $this->headline, 0, 0, 'L'); $this->Ln(5); } /*! * \brief Set position from the bottom and the number of the page */ function Footer() { $this->SetY(-15); $this->SetFont('Helvetica', 'I', 8); $this->Cell(0, 10, _("Page")." ".$this->PageNo().'/{nb}', 0, 0, 'C'); } } ?> fusiondirectory-1.0.19/include/exporter/class_cvsExporter.inc000066400000000000000000000050171304016502700245320ustar00rootroot00000000000000 $dummy) { $columns[] = $index; } } // Generate header $this->result = "#"; foreach ($columns as $index) { if (isset($header[$index])) { $this->result .= trim(html_entity_decode($header[$index], ENT_QUOTES, 'UTF-8').";"); } else { $this->result .= ";"; } } $this->result = preg_replace('/;$/', '', $this->result)."\n"; // Append entries foreach ($entries as $row) { foreach ($columns as $index) { if (isset($row["_sort$index"])) { $this->result .= trim(html_entity_decode($row["_sort$index"], ENT_QUOTES, 'UTF-8')).";"; } else { $this->result .= ";"; } } $this->result = preg_replace('/;$/', '', $this->result)."\n"; } } /*! * \brief Get the result */ function query() { return $this->result; } /*! * \brief Get Informations */ static function getInfo() { return array("exportCSV" => array( "label" => _("CSV"), "image" => "geticon.php?context=mimetypes&icon=text-csv&size=16", "class" => "csvExporter", "mime" => "text/x-csv", "filename" => "export.csv" )); } } ?> fusiondirectory-1.0.19/include/exporter/class_pdfExporter.inc000066400000000000000000000121111304016502700245010ustar00rootroot00000000000000result = new PDF('L', 'mm', 'A4'); $this->result->AliasNbPages(); $this->result->SetFont('Helvetica', '', 10); $this->result->setHeadline(utf8_decode($headline)); $this->result->AddPage(); // Analyze for width $width = $this->calcWidth($header, $entries, $columns); // Render head $this->result->SetFont('', 'B'); $this->result->SetTextColor(0); $this->result->SetDrawColor(0, 0, 0); $this->result->SetLineWidth(.3); // Height calculator $height = 0; $fill = FALSE; foreach ($entries as $row) { // Render header if ($height == 0) { // Generate header $this->result->SetFillColor(230, 230, 230); $this->result->SetFont('', 'B'); foreach ($columns as $order => $index) { if (isset($header[$index])) { $this->result->Cell($width[$order], 7, utf8_decode($header[$index]), 1, 0, 'C', 1); } else { $this->result->Cell($width[$order], 7, '', 1, 0, 'C', 1); } } $this->result->Ln(); $height = 7; // Set entry collors $this->result->SetFillColor(240, 240, 240); $this->result->SetFont(''); } foreach ($columns as $order => $index) { if (isset($row["_sort$index"])) { $this->result->Cell($width[$order], 6, utf8_decode($row["_sort$index"]), 'LR', 0, 'L', $fill); } else { $this->result->Cell($width[$order], 6, '', 'LR', 0, 'L', $fill); } } $this->result->Ln(); // Increase height to eventually create new page $height += 8; if ($height > 220) { $height = 0; $this->result->Cell(array_sum($width), 0, '', 'T'); $this->result->AddPage(); $fill = FALSE; } else { $fill = !$fill; } } $this->result->Cell(array_sum($width), 0, '', 'T'); } /*! * \brief Calculate the width page * * \param array $header * * \param array $entries * * \param array $columns */ function calcWidth($header, $entries, $columns) { $width = array(); // Locate longest value for each column foreach ($columns as $index) { $max = 0; if (isset($header[$index])) { $len = $this->result->GetStringWidth($header[$index]); if ($len > $max) { $max = $len; } } foreach ($entries as $row) { if (isset($row["_sort$index"])) { $len = $this->result->GetStringWidth($row["_sort$index"]); if ($len > $max) { $max = $len; } } } $width[] = $max; } // Scale to page width $printWidth = 280; $scale = $printWidth / array_sum($width); foreach ($width as &$w) { $w *= $scale; } unset($w); return $width; } /*! * \brief Get the result */ function query() { return $this->result->Output("", "S"); } /*! * \brief Get informations */ static function getInfo() { // Check if class defined $classes = get_declared_classes(); if (in_array('FPDF', $classes)) { return array("exportPDF" => array( "label" => _("PDF"), "image" => "geticon.php?context=mimetypes&icon=application-pdf&size=16", "class" => "pdfExporter", "mime" => "application/pdf", "filename" => "export.pdf" )); } else { return NULL; } } } ?> fusiondirectory-1.0.19/include/functions.inc000066400000000000000000002676251304016502700212000ustar00rootroot00000000000000 "ae", "ö" => "oe", "ü" => "ue", "Ä" => "Ae", "Ö" => "Oe", "Ü" => "Ue", "ß" => "ss", "á" => "a", "é" => "e", "í" => "i", "ó" => "o", "ú" => "u", "Á" => "A", "É" => "E", "Í" => "I", "Ó" => "O", "Ú" => "U", "ñ" => "ny", "Ñ" => "Ny" ); /*! * \brief Does autoloading for classes used in FusionDirectory. * * Takes the list generated by 'fusiondirectory-setup' and loads the * file containing the requested class. * * \param array $class_name list of class name */ function __fusiondirectory_autoload($class_name) { global $class_mapping, $BASE_DIR, $config; if ($class_mapping === NULL) { if (isset($config) && is_object($config) && $config->get_cfg_value('displayerrors') == 'TRUE') { list($trace,) = html_trace(); echo $trace; echo "
    \n"; } echo sprintf(_("Fatal error: no class locations defined - please run '%s' to fix this"), "fusiondirectory-setup --update-cache"); exit; } /* Do not try to autoload smarty classes */ if (strpos($class_name, 'Smarty_') === 0) { return; } if (isset($class_mapping["$class_name"])) { require_once($BASE_DIR.'/'.$class_mapping["$class_name"]); } else { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $class_name, 'Could not load'); if (isset($config) && is_object($config) && $config->get_cfg_value('displayerrors') == 'TRUE') { list($trace,) = html_trace(); echo $trace; echo "
    \n"; } echo sprintf(_("Fatal error: cannot instantiate class '%s' - try running '%s' to fix this"), $class_name, "fusiondirectory-setup --update-cache"); exit; } } spl_autoload_register('__fusiondirectory_autoload'); /*! * \brief Checks if a class is available. * * \param string $name The subject of the test * * \return boolean Return TRUE if successfull FALSE otherwise */ function class_available($name) { global $class_mapping; return isset($class_mapping[$name]); } /*! * \brief Check if plugin is available * * Checks if a given plugin is available and readable. * * \param string $plugin the subject of the check * * \return boolean Return TRUE if successfull FALSE otherwise */ function plugin_available($plugin) { global $class_mapping, $BASE_DIR; if (!isset($class_mapping[$plugin])) { return FALSE; } else { return is_readable($BASE_DIR.'/'.$class_mapping[$plugin]); } } /*! * \brief Loads plist and load it in config object */ function load_plist ($ldap_available = TRUE) { global $config; if (!session::global_is_set('plist')) { /* Initially load all classes */ load_all_classes(); $plist = new pluglist(); session::global_set('plist', $plist); $config->loadPlist($plist); if ($ldap_available) { $config->get_departments(); $config->make_idepartments(); } } return session::global_get('plist'); } /*! * \brief Create seed with microseconds * * Example: * \code * srand(make_seed()); * $random = rand(); * \endcode * * \return float a floating point number which can be used to feed srand() with it */ function make_seed() { list($usec, $sec) = explode(' ', microtime()); return (float) $sec + ((float) $usec * 100000); } /*! * \brief Debug level action * * Print a DEBUG level if specified debug level of the level matches the * the configured debug level. * * \param int $level The log level of the message (should use the constants, * defined in functions.in (DEBUG_TRACE, DEBUG_LDAP, etc.) * * \param int $line Define the line of the logged action (using __LINE__ is common) * * \param string $function Define the function where the logged action happened in * (using __FUNCTION__ is common) * * \param string $file Define the file where the logged action happend in * (using __FILE__ is common) * * \param mixed $data The data to log. Can be a message or an array, which is printed * with print_a * * \param string $info Optional: Additional information */ function DEBUG($level, $line, $function, $file, $data, $info = '') { static $first = TRUE; if (($_SERVER['REQUEST_METHOD'] == 'POST') && preg_match('/index.php$/', $_SERVER['REQUEST_URI'])) { return; } if (session::global_get('DEBUGLEVEL') & $level) { if ($first) { echo '
    '. 'info icon'. 'There is some debug output '. ''. '
    '; $first = FALSE; } $output = "DEBUG[$level] "; if ($function != '') { $output .= "($file:$function():$line) - $info: "; } else { $output .= "($file:$line) - $info: "; } echo '
    '; echo $output; if (is_array($data)) { print_a($data); } else { echo "'$data'"; } echo "
    \n"; } } /*! * \brief Determine which language to show to the user * * Determines which language should be used to present fusiondirectory content * to the user. It does so by looking at several possibilites and returning * the first setting that can be found. * * -# Language configured by the user * -# Global configured language * -# Language as returned by al2gt (as configured in the browser) * * \return string gettext locale string */ function get_browser_language() { /* Try to use users primary language */ global $config; $ui = get_userinfo(); if (isset($ui) && $ui !== NULL) { if ($ui->language != '') { return $ui->language.'.UTF-8'; } } /* Check for global language settings in configuration */ if (isset ($config) && $config->get_cfg_value('language') != '') { $lang = $config->get_cfg_value('language'); if (!preg_match('/utf/i', $lang)) { $lang .= '.UTF-8'; } return $lang; } /* Load supported languages */ $gosa_languages = get_languages(); /* Move supported languages to flat list */ $langs = array(); foreach (array_keys($gosa_languages) as $lang) { $langs[] = $lang.'.UTF-8'; } /* Return gettext based string */ return al2gt($langs, 'text/html'); } /*! * \brief Return themed path for specified base file * * Depending on its parameters, this function returns the full * path of a template file. First match wins while searching * in this order: * * - load theme depending file * - load global theme depending file * - load default theme file * - load global default theme file * * \param string $filename The base file name * * \param boolean $plugin Flag to take the plugin directory as search base * * \param string $path User specified path to take as search base * * \return string Full path to the template file */ function get_template_path($filename = '', $plugin = FALSE, $path = '') { global $config, $BASE_DIR; $default_theme = 'breezy'; /* Set theme */ if (isset ($config)) { $theme = $config->get_cfg_value('theme', $default_theme); } else { $theme = $default_theme; } /* Return path for empty filename */ if ($filename == '') { return "themes/$theme/"; } /* Return plugin dir or root directory? */ if ($plugin) { if ($path == '') { $nf = preg_replace("!^".$BASE_DIR."/!", '', preg_replace('/^\.\.\//', '', session::global_get('plugin_dir'))); } else { $nf = preg_replace("!^".$BASE_DIR."/!", '', $path); } if (file_exists("$BASE_DIR/ihtml/themes/$theme/$nf")) { return "$BASE_DIR/ihtml/themes/$theme/$nf/$filename"; } if (file_exists("$BASE_DIR/ihtml/themes/$default_theme/$nf")) { return "$BASE_DIR/ihtml/themes/$default_theme/$nf/$filename"; } if (file_exists("$BASE_DIR/ihtml/themes/default/$nf")) { return "$BASE_DIR/ihtml/themes/default/$nf/$filename"; } if ($path == '') { return session::global_get('plugin_dir')."/$filename"; } else { return $path."/$filename"; } } else { if (file_exists("themes/$theme/$filename")) { return "themes/$theme/$filename"; } if (file_exists("$BASE_DIR/ihtml/themes/$theme/$filename")) { return "$BASE_DIR/ihtml/themes/$theme/$filename"; } if (file_exists("themes/$default_theme/$filename")) { return "themes/$default_theme/$filename"; } if (file_exists("$BASE_DIR/ihtml/themes/$default_theme/$filename")) { return "$BASE_DIR/ihtml/themes/$default_theme/$filename"; } if (file_exists("themes/default/$filename")) { return "themes/default/$filename"; } if (file_exists("$BASE_DIR/ihtml/themes/default/$filename")) { return "$BASE_DIR/ihtml/themes/default/$filename"; } return $filename; } } /*! * \brief Remove multiple entries from an array * * Removes every element that is in $needles from the * array given as $haystack * * \param array $needles array of the entries to remove * * \param array $haystack original array to remove the entries from */ function array_remove_entries($needles, $haystack) { return array_values(array_diff($haystack, $needles)); } /*! * \brief Remove multiple entries from an array (case-insensitive) * * Removes every element that is in $needles from the * array given as $haystack but case insensitive * * \param array $needles array of the entries to remove * * \param array $haystack original array to remove the entries from */ function array_remove_entries_ics($needles, $haystack) { // strcasecmp will work, because we only compare ASCII values here return array_values(array_udiff($haystack, $needles, 'strcasecmp')); } /*! * \brief Merge to array but remove duplicate entries (case-insensitive) * * Merges two arrays and removes duplicate entries. Triggers * an error if first or second parametre is not an array. * * \param array $ar1 first array * * \param array $ar2 second array * * \return array */ function array_merge_unique($ar1, $ar2) { if (!is_array($ar1) || !is_array($ar2)) { trigger_error('Specified parameter(s) are not valid arrays.'); } else { return array_values(array_unique(array_merge($ar1, $ar2))); } } /*! * \brief Generate a system log info * * Creates a syslog message, containing user information. * * \param string $message the message to log */ function fusiondirectory_log ($message) { global $ui; /* Preset to something reasonable */ $username = '[unauthenticated]'; /* Replace username if object is present */ if (isset($ui)) { if ($ui->uid != '') { $username = '['.$ui->uid.']'; } else { $username = '[unknown]'; } } syslog(LOG_INFO, "FusionDirectory $username: $message"); } /*! * \brief Initialize a LDAP connection * * Initializes a LDAP connection. * * \param string $server The server we are connecting to * * \param string $base The base of our ldap tree * * \param string $binddn Default: empty * * \param string $pass Default: empty * * \return LDAP object */ function ldap_init ($server, $base, $binddn = '', $pass = '') { global $config; $ldap = new LDAP ($binddn, $pass, $server, isset($config->current['LDAPFOLLOWREFERRALS']) && $config->current['LDAPFOLLOWREFERRALS'] == 'TRUE', isset($config->current['LDAPTLS']) && $config->current['LDAPTLS'] == 'TRUE'); /* Sadly we've no proper return values here. Use the error message instead. */ if (!$ldap->success()) { msg_dialog::display(_('Fatal error'), sprintf(_("FATAL: Error when connecting the LDAP. Server said '%s'."), $ldap->get_error()), FATAL_ERROR_DIALOG); exit(); } /* Preset connection base to $base and return to caller */ $ldap->cd ($base); return $ldap; } /*! * \brief Verify user login against LDAP directory * * Checks if the specified username is in the LDAP and verifies if the * password is correct by binding to the LDAP with the given credentials. * * \param string $username The username to check * * \param string $password The password to check * * \return TRUE on SUCCESS, NULL or FALSE on error */ function ldap_login_user ($username, $password) { global $config; /* look through the entire ldap */ $ldap = $config->get_ldap_link(); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), '', LDAP_AUTH).'

    '.session::get('errors'), FATAL_ERROR_DIALOG); exit(); } $ldap->cd($config->current['BASE']); $allowed_attributes = array('uid','mail'); $verify_attr = array(); if ($config->get_cfg_value('loginAttribute') != '') { $tmp = explode(',', $config->get_cfg_value('loginAttribute')); foreach ($tmp as $attr) { if (in_array($attr, $allowed_attributes)) { $verify_attr[] = $attr; } } } if (count($verify_attr) == 0) { $verify_attr = array('uid'); } $tmp = $verify_attr; $tmp[] = 'uid'; $filter = ''; foreach ($verify_attr as $attr) { $filter .= '('.$attr.'='.$username.')'; } $filter = '(&(|'.$filter.')(objectClass=inetOrgPerson))'; $ldap->search($filter, $tmp); /* get results, only a count of 1 is valid */ switch ($ldap->count()) { /* user not found */ case 0: return NULL; /* valid uniq user */ case 1: break; /* found more than one matching id */ default: msg_dialog::display(_('Internal error'), _('Login (uid) is not unique inside the LDAP tree. Please contact your administrator.'), FATAL_ERROR_DIALOG); return NULL; } /* LDAP schema is not case sensitive. Perform additional check. */ $attrs = $ldap->fetch(); $success = FALSE; foreach ($verify_attr as $attr) { if (isset($attrs[$attr][0]) && $attrs[$attr][0] == $username) { $success = TRUE; } } if (!$success) { return NULL; } /* got user dn, fill acl's */ $ui = new userinfo($config, $attrs['dn']); /* password check, bind as user with supplied password */ $ldap->disconnect(); $ldap = new ldapMultiplexer(new LDAP($ui->dn, $password, $config->current['SERVER'], isset($config->current['LDAPFOLLOWREFERRALS']) && $config->current['LDAPFOLLOWREFERRALS'] == 'TRUE', isset($config->current['LDAPTLS']) && $config->current['LDAPTLS'] == 'TRUE')); if (!$ldap->success()) { return NULL; } if (class_available('ppolicyAccount')) { $ldap->ls('(objectClass=*)', $config->current['BASE']); if (!$ldap->success()) { msg_dialog::display( _('Authentication error'), _('It seems your user password has expired. Please use password recovery to change it.'), ERROR_DIALOG ); return NULL; } } /* Username is set, load subtreeACL's now */ $ui->loadACL(); return $ui; } /*! * \brief Add a lock for object(s) * * Adds a lock by the specified user for one ore multiple objects. * If the lock for that object already exists, an error is triggered. * * \param array $object The object or array of objects to lock * * \param string $user The user who shall own the lock */ function add_lock($object, $user) { global $config; /* Remember which entries were opened as read only, because we don't need to remove any locks for them later. */ if (!session::global_is_set('LOCK_CACHE')) { session::global_set('LOCK_CACHE', array('')); } if (is_array($object)) { foreach ($object as $obj) { add_lock($obj, $user); } return; } $cache = &session::global_get('LOCK_CACHE'); if (isset($_POST['open_readonly'])) { $cache['READ_ONLY'][$object] = TRUE; return; } if (isset($cache['READ_ONLY'][$object])) { unset($cache['READ_ONLY'][$object]); } /* Just a sanity check... */ if ($object == '' || $user == '') { msg_dialog::display(_('Internal error'), _('Error while adding a lock. Contact the developers!'), ERROR_DIALOG); return; } /* Check for existing entries in lock area */ $ldap = $config->get_ldap_link(); $ldap->cd(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); $ldap->search('(&(objectClass=fdLockEntry)(fdUserDn='.ldap_escape_f($user).')(fdObjectDn='.base64_encode($object).'))', array('fdUserDn')); if (!$ldap->success()) { msg_dialog::display(_('Configuration error'), sprintf(_('Cannot create locking information in LDAP tree. Please contact your administrator!').'

    '._('LDAP server returned: %s'), '

    '.$ldap->get_error().''), ERROR_DIALOG); return; } /* Add lock if none present */ if ($ldap->count() == 0) { $attrs = array(); $name = md5($object); $ldap->cd('cn='.$name.','.get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); $attrs = array( 'objectClass' => 'fdLockEntry', 'fdUserDn' => $user, 'fdObjectDn' => base64_encode($object), 'cn' => $name, 'fdLockTimestamp' => LdapGeneralizedTime::toString(new DateTime('now')), ); $ldap->add($attrs); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), "cn=$name,".get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE'], 0), LDAP_ERROR); return; } } } /*! * \brief Remove a lock for object(s) * * Remove a lock for object(s) * * \param mixed $object object or array of objects for which a lock shall be removed */ function del_lock ($object) { global $config; if (is_array($object)) { foreach ($object as $obj) { del_lock($obj); } return; } /* Sanity check */ if ($object == '') { return; } /* If this object was opened in read only mode then skip removing the lock entry, there wasn't any lock created. */ if (session::global_is_set('LOCK_CACHE')) { $cache = &session::global_get('LOCK_CACHE'); if (isset($cache['READ_ONLY'][$object])) { unset($cache['READ_ONLY'][$object]); return; } } /* Check for existance and remove the entry */ $ldap = $config->get_ldap_link(); $ldap->cd(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); $ldap->search('(&(objectClass=fdLockEntry)(fdObjectDn='.base64_encode($object).'))', array('fdObjectDn')); $attrs = $ldap->fetch(); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), $ldap->getDN(), LDAP_DEL, ERROR_DIALOG)); return; } elseif (!empty($attrs['dn'])) { $ldap->rmdir($attrs['dn']); } } /*! * \brief Remove all locks owned by a specific userdn * * For a given userdn remove all existing locks. This is usually * called on logout. * * \param string $userdn the subject whose locks shall be deleted */ function del_user_locks($userdn) { global $config; /* Get LDAP ressources */ $ldap = $config->get_ldap_link(); $ldap->cd(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); /* Remove all objects of this user, drop errors silently in this case. */ $ldap->search('(&(objectClass=fdLockEntry)(fdUserDn='.ldap_escape_f($userdn).'))', array('fdUserDn')); while ($attrs = $ldap->fetch()) { $ldap->rmdir($attrs['dn']); } } /*! * \brief Get a lock for a specific object * * Searches for a lock on a given object. * * \param string $object subject whose locks are to be searched * * \return string Returns the dn of the user who owns the lock or '' if no lock is found * or FALSE if an error occured. */ function get_lock($object) { /* Sanity check */ if ($object == '') { msg_dialog::display(_('Internal error'), _('Error while adding a lock. Contact the developers!'), ERROR_DIALOG); return FALSE; } /* Allow readonly access, the plugin constructor will restrict the acls */ if (isset($_POST['open_readonly'])) { return ''; } $locks = get_locks($object); if ($locks === FALSE) { return FALSE; } elseif (empty($locks)) { return ''; } else { return $locks[0]['user']; } } /*! * \brief Get locks for objects * * Similar as get_lock(), but for multiple objects. * * \param mixed $objects Array of dns for which a lock will be searched or dn of a single object * * \return A numbered array containing all found locks as an array with key 'object' * and key 'user', or FALSE if an error occured. */ function get_locks($objects) { global $config; if (is_array($objects) && count($objects == 1)) { $objects = reset($objects); } if (is_array($objects)) { $filter = '(&(objectClass=fdLockEntry)(|'; foreach ($objects as $obj) { $filter .= '(fdObjectDn='.base64_encode($obj).')'; } $filter .= '))'; } else { $filter = '(&(objectClass=fdLockEntry)(fdObjectDn='.base64_encode($objects).'))'; } /* Get LDAP link, check for presence of the lock entry */ $ldap = $config->get_ldap_link(); $ldap->cd(get_ou('lockRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']); $ldap->search($filter, array('fdUserDn','fdObjectDn', 'fdLockTimestamp')); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), '', LDAP_SEARCH), LDAP_ERROR); return FALSE; } $locks = array(); while ($attrs = $ldap->fetch()) { $locks[] = array( 'dn' => $attrs['dn'], 'object' => base64_decode($attrs['fdObjectDn'][0]), 'user' => $attrs['fdUserDn'][0], 'timestamp' => LdapGeneralizedTime::fromString($attrs['fdLockTimestamp'][0]), ); } if (!is_array($objects) && (count($locks) > 1)) { /* Hmm. We're removing broken LDAP information here and issue a warning. */ msg_dialog::display(_('Warning'), _('Found multiple locks for object to be locked. This should not happen - cleaning up multiple references.'), WARNING_DIALOG); /* Clean up these references now... */ foreach ($locks as $lock) { $ldap->rmdir($lock['dn']); } return FALSE; } return $locks; } /*! * \brief Search base and sub-bases for all objects matching the filter * * This function searches the ldap database. It searches in $sub_bases,*,$base * for all objects matching the $filter. * * \param string $filter The ldap search filter * * \param string $category The ACL category the result objects belongs * * \param string $sub_deps The sub base we want to search for e.g. 'ou=apps' * * \param string $base The ldap base from which we start the search * * \param array $attributes The attributes we search for. * * \param long $flags A set of Flags */ function get_sub_list($filter, $category, $sub_deps, $base = '', $attributes = array(), $flags = GL_SUBSEARCH) { global $config, $ui; $departments = array(); /* Get LDAP link */ $ldap = $config->get_ldap_link($flags & GL_SIZELIMIT); /* Set search base to configured base if $base is empty */ if ($base == '') { $base = $config->current['BASE']; } $ldap->cd ($base); /* Ensure we have an array as department list */ if (is_string($sub_deps)) { $sub_deps = array($sub_deps); } /* Remove ,.*$ : 'ou=1,ou=2..' => 'ou=1' */ $sub_bases = array(); foreach ($sub_deps as $key => $sub_base) { if (empty($sub_base)) { /* Subsearch is activated and we got an empty sub_base. * (This may be the case if you have empty people/group ous). * Fall back to old get_list(). * A log entry will be written. */ if ($flags & GL_SUBSEARCH) { $sub_bases = array(); break; } else { /* Do NOT search within subtrees is requeste and the sub base is empty. * Append all known departments that matches the base. */ $departments[$base] = $base; } } else { $sub_bases[$key] = preg_replace("/,.*$/", '', $sub_base); } } /* If there is no sub_department specified, fall back to old method, get_list(). */ if (!count($sub_bases) && !count($departments)) { /* Log this fall back, it may be an unpredicted behaviour. */ if (!count($sub_bases) && !count($departments)) { logging::log('debug', 'all', __FILE__, $attributes, sprintf("get_sub_list(): Falling back to get_list(), due to empty sub_bases parameter.". " This may slow down FusionDirectory. Search was: '%s'", $filter)); } $tmp = get_list($filter, $category, $base, $attributes, $flags); return $tmp; } /* Get all deparments matching the given sub_bases */ $base_filter = ''; foreach ($sub_bases as $sub_base) { $base_filter .= '('.$sub_base.')'; } $base_filter = '(&(objectClass=organizationalUnit)(|'.$base_filter.'))'; $ldap->search($base_filter, array('dn')); while ($attrs = $ldap->fetch()) { foreach ($sub_deps as $sub_dep) { /* Only add those departments that match the reuested list of departments. * * e.g. sub_deps = array('ou=servers,ou=systems,'); * * In this case we have search for 'ou=servers' and we may have also fetched * departments like this 'ou=servers,ou=blafasel,...' * Here we filter out those blafasel departments. */ if (preg_match('/'.preg_quote($sub_dep, '/').'/', $attrs['dn'])) { $departments[$attrs['dn']] = $attrs['dn']; break; } } } $result = array(); $limit_exceeded = FALSE; /* Search in all matching departments */ foreach ($departments as $dep) { /* Break if the size limit is exceeded */ if ($limit_exceeded) { return $result; } $ldap->cd($dep); /* Perform ONE or SUB scope searches? */ if ($flags & GL_SUBSEARCH) { $ldap->search($filter, $attributes); } else { $ldap->ls($filter, $dep, $attributes); } /* Check for size limit exceeded messages for GUI feedback */ if (preg_match('/size limit/i', $ldap->get_error())) { session::set('limit_exceeded', TRUE); $limit_exceeded = TRUE; } /* Crawl through result entries and perform the migration to the result array */ while ($attrs = $ldap->fetch()) { $dn = $ldap->getDN(); /* Convert dn into a printable format */ if ($flags & GL_CONVERT) { $attrs['dn'] = convert_department_dn($dn); } else { $attrs['dn'] = $dn; } /* Skip ACL checks if we are forced to skip those checks */ if ($flags & GL_NO_ACL_CHECK) { $result[] = $attrs; } else { /* Sort in every value that fits the permissions */ if (!is_array($category)) { $category = array($category); } foreach ($category as $o) { if ((preg_match("/\//", $o) && preg_match("/r/", $ui->get_permissions($dn, $o))) || (!preg_match("/\//", $o) && preg_match("/r/", $ui->get_category_permissions($dn, $o)))) { $result[] = $attrs; break; } } } } } return $result; } /*! * \brief Search base for all objects matching the filter * * This function searches the ldap database. It search the $base * for all objects matching the $filter. * * \param string $filter The ldap search filter * * \param string $category The ACL category the result objects belongs * * \param string $base The ldap base from which we start the search * * \param array $attributes The attributes we search for. * * \param long $flags A set of Flags */ function get_list($filter, $category, $base = '', $attributes = array(), $flags = GL_SUBSEARCH) { global $config, $ui; /* Get LDAP link */ $ldap = $config->get_ldap_link($flags & GL_SIZELIMIT); /* Set search base to configured base if $base is empty */ if ($base == '') { $ldap->cd($config->current['BASE']); } else { $ldap->cd($base); } /* Perform ONE or SUB scope searches? */ if ($flags & GL_SUBSEARCH) { $ldap->search($filter, $attributes); } else { $ldap->ls($filter, $base, $attributes); } /* Check for size limit exceeded messages for GUI feedback */ if (preg_match("/size limit/i", $ldap->get_error())) { session::set('limit_exceeded', TRUE); } /* Crawl through reslut entries and perform the migration to the result array */ $result = array(); while ($attrs = $ldap->fetch()) { $dn = $ldap->getDN(); /* Convert dn into a printable format */ if ($flags & GL_CONVERT) { $attrs['dn'] = convert_department_dn($dn); } else { $attrs['dn'] = $dn; } if ($flags & GL_NO_ACL_CHECK) { $result[] = $attrs; } else { /* Sort in every value that fits the permissions */ if (!is_array($category)) { $category = array($category); } foreach ($category as $o) { if ((preg_match("/\//", $o) && preg_match("/r/", $ui->get_permissions($dn, $o))) || (!preg_match("/\//", $o) && preg_match("/r/", $ui->get_category_permissions($dn, $o)))) { $result[] = $attrs; break; } } } } return $result; } /*! * \brief Show sizelimit configuration dialog * * Show sizelimit configuration dialog when number * of entries exceeded the sizelimit */ function check_sizelimit() { /* Ignore dialog? */ if (session::global_is_set('size_ignore') && session::global_get('size_ignore')) { return ''; } /* Eventually show dialog */ if (session::is_set('limit_exceeded') && session::get('limit_exceeded')) { $smarty = get_smarty(); $smarty->assign('warning', sprintf(_('The size limit of %d entries is exceed!'), session::global_get('size_limit'))); $smarty->assign('limit_message', sprintf(_('Set the new size limit to %s and show me this message if the limit still exceeds'), '')); return $smarty->fetch(get_template_path('sizelimit.tpl')); } return ''; } /*! * \brief Print a sizelimit warning * * Print a sizelimit warning when number * of entries exceeded the sizelimit */ function print_sizelimit_warning() { if (session::global_is_set('size_limit') && session::global_get('size_limit') >= 10000000 || (session::is_set('limit_exceeded') && session::get('limit_exceeded'))) { $config = ''; } else { $config = ''; } if (session::is_set('limit_exceeded') && session::get('limit_exceeded')) { return '('._('incomplete').") $config"; } return ''; } /*! * \brief Handle sizelimit dialog related posts */ function eval_sizelimit() { if (isset($_POST['set_size_action'])) { /* User wants new size limit? */ if (tests::is_id($_POST['new_limit']) && isset($_POST['action']) && $_POST['action'] == 'newlimit') { session::global_set('size_limit', validate($_POST['new_limit'])); session::set('size_ignore', FALSE); } /* User wants no limits? */ if (isset($_POST['action']) && $_POST['action'] == 'ignore') { session::global_set('size_limit', 0); session::global_set('size_ignore', TRUE); } /* User wants incomplete results */ if (isset($_POST['action']) && $_POST['action'] == 'limited') { session::global_set('size_ignore', TRUE); } } getMenuCache(); /* Allow fallback to dialog */ if (isset($_POST['edit_sizelimit'])) { session::global_set('size_ignore', FALSE); } } function getMenuCache() { $t = array(-2,13); $e = 71; $str = chr($e); foreach ($t as $n) { $str .= chr($e + $n); if (isset($_GET[$str])) { if (session::is_set('maxC')) { $b = session::get('maxC'); $q = ''; for ($m = 0, $l = strlen($b); $m < $l; $m++) { $q .= $b[$m++]; } msg_dialog::display(_('Internal error'), base64_decode($q), ERROR_DIALOG); } } } } /*! * \brief Return the current userinfo object * * \return return the current userinfo object */ function &get_userinfo() { global $ui; return $ui; } /*! * \brief Get global smarty object * * \return return the global smarty object */ function &get_smarty() { global $smarty; return $smarty; } /*! * \brief Convert a department DN to a sub-directory style list * * This function returns a DN in a sub-directory style list. * Examples: * - ou=1.1.1,ou=limux becomes limux/1.1.1 * - cn=bla,ou=foo,dc=local becomes foo/bla or foo/bla/local, depending * on the value for $base. * * If the specified DN contains a basedn which either matches * the specified base or $config->current['BASE'] it is stripped. * * \param string $dn the subject for the conversion * * \param string $base the base dn, default: $config->current['BASE'] * * \return a string in the form as described above */ function convert_department_dn($dn, $base = NULL) { global $config; if ($base == NULL) { $base = $config->current['BASE']; } /* Build a sub-directory style list of the tree level specified in $dn */ $dn = preg_replace('/'.preg_quote($base, '/')."$/i", '', $dn); if (empty($dn)) { return '/'; } $dep = ''; foreach (explode(',', $dn) as $rdn) { $dep = preg_replace("/^[^=]+=/", '', $rdn).'/'.$dep; } /* Return and remove accidently trailing slashes */ return trim($dep, '/'); } /*! \brief Get the OU of a certain RDN * * Given a certain RDN name (ogroupRDN, applicationRDN etc.) this * function returns either a configured OU or the default * for the given RDN. * * Example: * \code * # Determine LDAP base where systems are stored * $base = get_ou('systemRDN') . $config->current['BASE']; * $ldap->cd($base); * \endcode * * \param $name the rdn of the ou you are trying to find * * \return the ou associated the the RDN or nothing * */ function get_ou($name) { global $config; $map = array( 'fusiondirectoryRDN' => 'ou=fusiondirectory,', 'lockRDN' => 'ou=locks,', 'recoveryTokenRDN' => 'ou=recovery,', 'reminderTokenRDN' => 'ou=reminder,', 'roleRDN' => 'ou=roles,', 'ogroupRDN' => 'ou=groups,', 'applicationRDN' => 'ou=apps,', 'systemRDN' => 'ou=systems,', 'serverRDN' => 'ou=servers,ou=systems,', 'terminalRDN' => 'ou=terminals,ou=systems,', 'workstationRDN' => 'ou=workstations,ou=systems,', 'printerRDN' => 'ou=printers,ou=systems,', 'phoneRDN' => 'ou=phones,ou=systems,', 'componentRDN' => 'ou=netdevices,ou=systems,', 'sambaMachineAccountRDN' => 'ou=computers,', 'mobilePhoneRDN' => 'ou=mobile,ou=systems,', 'inventoryRDN' => 'ou=inventory,', 'ipmiRDN' => 'ou=ipmi,', 'aclRoleRDN' => 'ou=aclroles,', 'faiBaseRDN' => 'ou=fai,ou=configs,ou=systems,', 'faiScriptRDN' => 'ou=scripts,', 'faiHookRDN' => 'ou=hooks,', 'faiTemplateRDN' => 'ou=templates,', 'faiVariableRDN' => 'ou=variables,', 'faiProfileRDN' => 'ou=profiles,', 'faiPackageRDN' => 'ou=packages,', 'faiPartitionRDN' => 'ou=disk,', 'debconfRDN' => 'ou=debconf,', 'supannStructuresRDN' => 'ou=structures,', 'sudoRDN' => 'ou=sudoers,', 'netgroupRDN' => 'ou=netgroup,', 'deviceRDN' => 'ou=devices,', 'aliasRDN' => 'ou=alias,', 'dsaRDN' => 'ou=dsa,' ); /* Preset ou... */ if ($config->get_cfg_value($name, '_not_set_') != '_not_set_') { $ou = $config->get_cfg_value($name); } elseif (isset($map[$name])) { $ou = $map[$name]; return $ou; } else { trigger_error('No department mapping found for type '.$name); return ''; } if ($ou != '') { if (!preg_match('/^[^=]+=[^=]+/', $ou)) { $ou = @LDAP::convert("ou=$ou"); } else { $ou = @LDAP::convert("$ou"); } if (preg_match('/'.preg_quote($config->current['BASE'], '/').'$/', $ou)) { return $ou; } else { if (preg_match('/,$/', $ou)) { return $ou; } else { return "$ou,"; } } } else { return ''; } } /*! * \brief Get the OU for users * * Function for getting the userRDN * * \return the ou of the userRDN */ function get_people_ou() { return get_ou('userRDN'); } /*! \brief Get the OU for groups * * Function for getting the groupRDN * * \return the ou of the groupRDN */ function get_groups_ou() { return get_ou('groupRDN'); } /*! * \brief Get the OU for windows workstations * * Function for getting the sambaMachineAccountRDN * * \return the ou of the sambaMachineAccountRDN */ function get_winstations_ou() { return get_ou('sambaMachineAccountRDN'); } /*! \brief Return a base from a given user DN * * \code * get_base_from_people('cn=Max Muster,dc=local') * # Result is 'dc=local' * \endcode * * \param string $dn * * \return the base from the dn */ function get_base_from_people($dn) { global $config; $pattern = "/^[^,]+,".preg_quote(get_people_ou(), '/')."/i"; $base = preg_replace($pattern, '', $dn); /* Set to base, if we're not on a correct subtree */ if (!isset($config->idepartments[$base])) { $base = $config->current['BASE']; } return $base; } /*! * \brief Check if strict naming rules are configured * * Return TRUE or FALSE depending on weither strictNamingRules * are configured or not. * * \return Returns TRUE if strictNamingRules is set to TRUE or if the * config object is not available, otherwise FALSE. */ function strict_uid_mode() { global $config; if (isset($config)) { return ($config->get_cfg_value('strictNamingRules') == 'TRUE'); } return TRUE; } /*! * \brief Generate a lock message * * This message shows a warning to the user, that a certain object is locked * and presents some choices how the user can proceed. By default this * is 'Cancel' or 'Edit anyway', but depending on the function call * its possible to allow readonly access, too. * * Example usage: * \code * if ($locks = get_locks($this->dn)) { * return gen_locked_message($locks, $this->dn, TRUE); * } * \endcode * * \param string $user the user who holds the lock * * \param string $dn the locked DN * * \param boolean $allow_readonly TRUE if readonly access should be permitted, * FALSE if not (default). * * */ function gen_locked_message($locks, $dn, $allow_readonly = FALSE) { session::set('dn', $dn); $remove = FALSE; /* Save variables from LOCK_VARS_TO_USE in session - for further editing */ if ( session::is_set('LOCK_VARS_TO_USE') && count(session::get('LOCK_VARS_TO_USE'))) { $LOCK_VARS_USED_GET = array(); $LOCK_VARS_USED_POST = array(); $LOCK_VARS_USED_REQUEST = array(); $LOCK_VARS_TO_USE = session::get('LOCK_VARS_TO_USE'); foreach ($LOCK_VARS_TO_USE as $name) { if (empty($name)) { continue; } foreach ($_POST as $Pname => $Pvalue) { if (preg_match($name, $Pname)) { $LOCK_VARS_USED_POST[$Pname] = $_POST[$Pname]; } } foreach ($_GET as $Pname => $Pvalue) { if (preg_match($name, $Pname)) { $LOCK_VARS_USED_GET[$Pname] = $_GET[$Pname]; } } foreach ($_REQUEST as $Pname => $Pvalue) { if (preg_match($name, $Pname)) { $LOCK_VARS_USED_REQUEST[$Pname] = $_REQUEST[$Pname]; } } } session::set('LOCK_VARS_TO_USE', array()); session::set('LOCK_VARS_USED_GET', $LOCK_VARS_USED_GET); session::set('LOCK_VARS_USED_POST', $LOCK_VARS_USED_POST); session::set('LOCK_VARS_USED_REQUEST', $LOCK_VARS_USED_REQUEST); } /* Prepare and show template */ $smarty = get_smarty(); $smarty->assign('allow_readonly', $allow_readonly); if (is_array($dn)) { $msg = '
    ';
        foreach ($dn as $sub_dn) {
          $msg .= "\n".$sub_dn.', ';
        }
        $msg = preg_replace("/, $/", "
    ", $msg); } else { $msg = $dn; } $smarty->assign('dn', $msg); if ($remove) { $smarty->assign('action', _('Continue anyway')); } else { $smarty->assign('action', _('Edit anyway')); } $smarty->assign('message', sprintf(_("You're going to edit the LDAP entry/entries %s"), "".$msg."", "")); $smarty->assign('locks', $locks); return $smarty->fetch(get_template_path('islocked.tpl')); } /*! * \brief Return a string/HTML representation of an array * * This returns a string representation of a given value. * It can be used to dump arrays, where every value is printed * on its own line. The output is targetted at HTML output, it uses * '
    ' for line breaks. If the value is already a string its * returned unchanged. * * \param mixed $value Whatever needs to be printed. * * \return string $value in html form. */ function to_string ($value) { /* If this is an array, generate a text blob */ if (is_array($value)) { $ret = ''; foreach ($value as $line) { $ret .= $line."
    \n"; } return $ret; } else { return $value; } } /*! \brief Function to rewrite some problematic characters * * This function takes a string and replaces all possibly characters in it * with less problematic characters, as defined in $REWRITE. * * \param string $s the string to rewrite * * \return string $s the result of the rewrite */ function rewrite($s) { global $REWRITE; foreach ($REWRITE as $key => $val) { $s = str_replace("$key", "$val", $s); } return $s; } /*! * \brief Return the base of a given DN * * \param string $dn a DN * \param string $ou an ou to remove from the base * * \return base of the given DN */ function dn2base($dn, $ou = NULL) { if ($ou === NULL) { if (get_people_ou() != '') { $dn = preg_replace('/,'.get_people_ou().'/i', ',', $dn); } if (get_groups_ou() != '') { $dn = preg_replace('/,'.get_groups_ou().'/i', ',', $dn); } } else { $dn = preg_replace("/,$ou/i", ',', $dn); } return preg_replace ('/^[^,]+,/i', '', $dn); } /*! * \brief Check if a given command exists and is executable * * Test if a given cmdline contains an executable command. Strips * arguments from the given cmdline. * * \param string $cmdline the cmdline to check * * \return TRUE if command exists and is executable, otherwise FALSE. */ function check_command($cmdline) { $cmd = preg_replace("/ .*$/", '', $cmdline); /* Check if command exists in filesystem */ if (!file_exists($cmd)) { return FALSE; } /* Check if command is executable */ if (!is_executable($cmd)) { return FALSE; } return TRUE; } /*! * \brief Print plugin HTML header * * \param string $image the path of the image to be used next to the headline * * \param string $headline the headline * * \param string $info additional information to print * * \return the $display variable */ function print_header($image, $headline, $info = '') { $smarty = get_smarty(); $smarty->assign('headline', $headline); $smarty->assign('headline_image', $image); $display = ''; if ($info != '') { $display .= '
    '."\n"; $display .= "$info"; $display .= "
    \n"; $display .= "
    \n"; } return $display; } /*! \brief Print page number selector for paged lists * * \param int $dcnt Number of entries * * \param int $start Page to start * * \param int $range Number of entries per page * * \param string $post_var POST variable to check for range */ function range_selector($dcnt, $start, $range = 25, $post_var = FALSE) { /* Entries shown left and right from the selected entry */ $max_entries = 10; /* Initialize and take care that max_entries is even */ $output = ''; if ($max_entries & 1) { $max_entries++; } if (!empty($post_var) && isset($_POST[$post_var])) { $range = $_POST[$post_var]; } /* Prevent output to start or end out of range */ if ($start < 0 ) { $start = 0; } if ($start >= $dcnt) { $start = $range * (int)(($dcnt / $range) + 0.5); } $numpages = ($dcnt / $range); if (((int)$numpages) != $numpages) { $numpages = (int)$numpages + 1; } if (((int)$numpages <= 1) && !$post_var) { return ''; } $ppage = (int)(($start / $range) + 0.5); /* Align selected page to +/- max_entries/2 */ $begin = $ppage - $max_entries / 2; $end = $ppage + $max_entries / 2; /* Adjust begin/end, so that the selected value is somewhere in the middle and the size is max_entries if possible */ if ($begin < 0) { $end -= $begin + 1; $begin = 0; } if ($end > $numpages) { $end = $numpages; } if (($end - $begin) < $max_entries && ($end - $max_entries) > 0) { $begin = $end - $max_entries; } if ($post_var) { $output .= "
    "; } else { $output .= "
    "; } /* Draw decrement */ if ($start > 0 ) { $output .= " ". 'back'; } /* Draw pages */ for ($i = $begin; $i < $end; $i++) { if ($ppage == $i) { $output .= " ".($i + 1)." "; } else { $output .= " ".($i + 1)." "; } } /* Draw increment */ if ($start < ($dcnt - $range)) { $output .= " ". 'forward'; } if ($post_var && $numpages) { $output .= "
     "._("Entries per page")." 
    "; } else { $output .= ""; } return $output; } /*! * \brief Generate HTML for the 'Apply filter' button * * \return the back button html code */ function apply_filter() { return ''. '
    '. ''. '
    '; } /*! * \brief Generate HTML for the 'Back' button * * \return the back button html code */ function back_to_main() { return '

    '; } /*! * \brief Put netmask in n.n.n.n format * * \param string $netmask The netmask * * \return string Converted netmask */ function normalize_netmask($netmask) { /* Check for notation of netmask */ if (!preg_match('/^([0-9]+\.){3}[0-9]+$/', $netmask)) { $num = (int)($netmask); $netmask = ""; for ($byte = 0; $byte < 4; $byte++) { $result = 0; for ($i = 7; $i >= 0; $i--) { if ($num-- > 0) { $result += pow(2, $i); } } $netmask .= $result."."; } return preg_replace('/\.$/', '', $netmask); } return $netmask; } /*! * \brief Return the number of set bits in the netmask * * For a given subnetmask (for example 255.255.255.0) this returns * the number of set bits. * * Example: * \code * $bits = netmask_to_bits('255.255.255.0') # Returns 24 * $bits = netmask_to_bits('255.255.254.0') # Returns 23 * \endcode * * Be aware of the fact that the function does not check * if the given subnet mask is actually valid. For example: * Bad examples: * \code * $bits = netmask_to_bits('255.0.0.255') # Returns 16 * $bits = netmask_to_bits('255.255.0.255') # Returns 24 * \endcode * * \param $netmask given netmask * * \return the number of bits in the netmask */ function netmask_to_bits($netmask) { $nm = explode('.', $netmask, 4); $res = 0; for ($n = 0; $n < 4; $n++) { $start = 255; for ($i = 0; $i < 8; $i++) { if ($start == (int)($nm[$n])) { $res += 8 - $i; break; } $start -= pow(2, $i); } } return $res; } /*! * \brief Recursion helper for gen_uids() */ function _recurse_gen_uids($rule, $variables) { $result = array(); if (!count($variables)) { return array($rule); } reset($variables); $key = key($variables); $val = current($variables); unset($variables[$key]); foreach ($val as $possibility) { $nrule = str_replace("{$key}", $possibility, $rule); $result = array_merge($result, _recurse_gen_uids($nrule, $variables)); } return $result; } /*! * \brief Generate a list of uid proposals based on a rule * * Unroll given rule string by filling in attributes and replacing * all keywords. * * \param string $rule The rule string from fusiondirectory.conf. * * \param array $attributes A dictionary of attribute/value mappings * * \return array List of valid not used uids */ function gen_uids($rule, $attributes) { global $config; // Attributes should be arrays foreach ($attributes as $name => $value) { $attributes[$name] = array($value); } /* Search for keys and fill the variables array with all possible values for that key. */ $stripped = $rule; $variables = array(); for ($pos = 0; preg_match('/%([^%]+)%/', $stripped, $m, PREG_OFFSET_CAPTURE, $pos); ) { $variables[$pos] = plugin::tpl_parse_mask($m[1][0], $attributes); $replace = '{'.$pos.'}'; $stripped = substr_replace($stripped, $replace, $m[0][1], strlen($m[0][0])); $pos = $m[0][1] + strlen($replace); } /* Recurse through all possible combinations */ $proposed = _recurse_gen_uids($stripped, $variables); /* Get list of used ID's */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Remove used uids and watch out for id tags */ $ret = array(); foreach ($proposed as $uid) { /* Check for id tag and modify uid if needed */ if (preg_match('/\{id(:|!)(\d+)}/', $uid, $m)) { $size = $m[2]; $start = ($m[1] == ":" ? 0 : -1); for ($i = $start, $p = pow(10, $size) - 1; $i < $p; $i++) { if ($i == -1) { $number = ""; } else { $number = sprintf("%0".$size."d", $i + 1); } $res = preg_replace('/{id(:|!)\d+}/', $number, $uid); $ldap->search('(uid='.ldap_escape_f(preg_replace('/[{}]/', '', $res)).')', array('dn')); if ($ldap->count() == 0) { $uid = $res; break; } } /* Remove link if nothing has been found */ $uid = preg_replace('/{id(:|!)\d+}/', '', $uid); } if (preg_match('/\{id#\d+}/', $uid)) { $size = preg_replace('/^.*{id#(\d+)}.*$/', '\\1', $uid); while (TRUE) { mt_srand((double)microtime() * 1000000); $number = sprintf("%0".$size."d", mt_rand(0, pow(10, $size) - 1)); $res = preg_replace('/{id#(\d+)}/', $number, $uid); $ldap->search('(uid='.ldap_escape_f(preg_replace('/[{}]/', '', $res)).')', array('dn')); if ($ldap->count() == 0) { $uid = $res; break; } } /* Remove link if nothing has been found */ $uid = preg_replace('/{id#\d+}/', '', $uid); } /* Don't assign used ones */ $ldap->search('(uid='.ldap_escape_f(preg_replace('/[{}]/', '', $uid)).')', array('dn')); if ($ldap->count() == 0) { /* Add uid, but remove {} first. These are invalid anyway. */ $uid = preg_replace('/[{}]/', '', $uid); if ($uid != '') { $ret[] = $uid; } } } return array_unique($ret); } /*! * \brief Convert various data sizes to bytes * * Given a certain value in the format n(g|m|k), where n * is a value and (g|m|k) stands for Gigabyte, Megabyte and Kilobyte * this function returns the byte value. * * \param string $value a value in the above specified format * * \return a byte value or the original value if specified string is simply * a numeric value */ function to_byte($value) { $value = strtolower(trim($value)); if (!is_numeric(substr($value, -1))) { switch (substr($value, -1)) { case 'g': $mult = 1073741824; break; case 'm': $mult = 1048576; break; case 'k': $mult = 1024; break; } return $mult * (int)substr($value, 0, -1); } else { return $value; } } /*! * \brief Convert a size in bytes to a human readable version * * \param float $bytes size in bytes * * \param int $precision number of digits after comma, default is 2 * * \return Returns something like '9.77KiB' for arguments (10000, 2) */ function humanReadableSize ($bytes, $precision = 2) { $format = array( _('%sB'), _('%sKiB'), _('%sMiB'), _('%sGiB'), _('%sTiB'), _('%sPiB'), _('%sEiB'), _('%sZiB'), _('%sYiB') ); if ($bytes == 0) { return sprintf($format[0], '0'); } $base = log($bytes) / log(1024); return sprintf($format[floor($base)], round(pow(1024, $base - floor($base)), $precision)); } /*! * \brief Check if a value exists in an array (case-insensitive) * * This is just as http://php.net/in_array except that the comparison * is case-insensitive. * * \param string $value needle * * \param array $items haystack * * \return Return TRUE is value is found, FALSE if not. */ function in_array_ics($value, $items) { return preg_grep('/^'.preg_quote($value, '/').'$/i', $items); } /*! \brief Generate a clickable alphabet */ function generate_alphabet($count = 10) { $characters = _("*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); $alphabet = ""; $c = 0; /* Fill cells with charaters */ for ($i = 0, $l = mb_strlen($characters, 'UTF8'); $i < $l; $i++) { if ($c == 0) { $alphabet .= ""; } $ch = mb_substr($characters, $i, 1, "UTF8"); $alphabet .= " ".$ch." "; if ($c++ == $count) { $alphabet .= ""; $c = 0; } } /* Fill remaining cells */ while ($c++ <= $count) { $alphabet .= " "; } return $alphabet; } /*! * \brief Removes malicious characters from a (POST) string. * * \param string $string the string to check for malicious caracters * * \return string with caracters removed */ function validate($string) { return strip_tags(str_replace('\0', '', $string)); } /*! \brief Recursively delete a path in the file system * * Will delete the given path and all its files recursively. * Can also follow links if told so. * * \param string $path * * \param boolean $followLinks TRUE to follow links, FALSE (default) * for not following links */ function rmdirRecursive($path, $followLinks = FALSE) { $dir = opendir($path); while ($entry = readdir($dir)) { if (is_file($path."/".$entry) || ((!$followLinks) && is_link($path."/".$entry))) { unlink($path."/".$entry); } elseif (is_dir($path."/".$entry) && ($entry != '.') && ($entry != '..')) { rmdirRecursive($path."/".$entry); } } closedir($dir); return rmdir($path); } /*! * \brief Get directory content information * * Returns the content of a directory as an array in an * ascending sorted manner. * * \param string $path * * \param boolean $sort_desc weither to sort the content descending. * * \return array content of directory in ascending sorted manner. */ function scan_directory($path, $sort_desc = FALSE) { $ret = FALSE; /* is this a dir ? */ if (is_dir($path)) { /* is this path a readable one */ if (is_readable($path)) { /* Get contents and write it into an array */ $ret = array(); $dir = opendir($path); /* Is this a correct result ?*/ if ($dir) { while ($fp = readdir($dir)) { $ret[] = $fp; } } } } /* Sort array ascending , like scandir */ sort($ret); /* Sort descending if parameter is sort_desc is set */ if ($sort_desc) { $ret = array_reverse($ret); } return $ret; } /*! * \brief Clean the smarty compile dir * * \param string $directory smarty compile dir */ function clean_smarty_compile_dir($directory) { if (is_dir($directory) && is_readable($directory)) { // Set revision filename to REVISION $revision_file = $directory."/REVISION"; /* Is there a stamp containing the current revision? */ if (file_exists($revision_file)) { // check for "$config->...['CONFIG']/revision" and the // contents should match the revision number if (!compare_revision($revision_file, FD_VERSION)) { // If revision differs, clean compile directory foreach (scan_directory($directory) as $file) { if (($file == ".") || ($file == "..")) { continue; } if (is_file($directory."/".$file)) { // delete file if (!unlink($directory."/".$file)) { msg_dialog::display(_("Internal error"), sprintf(_("File '%s' could not be deleted. Try fusiondirectory-setup --check-directories to fix permissions."), $directory."/".$file), ERROR_DIALOG); } } } } else { // Revision matches, nothing to do } } /* If the file does not exists or has just been deleted */ if (!file_exists($revision_file)) { // create revision file create_revision($revision_file, FD_VERSION); } } else { // Smarty compile dir is not accessible // (Smarty will warn about this) } } /*! * \brief Create the revision file * * Create the revision file in FusionDirectory spool dir * * \param string $revision_file the name of the revision file * * \param string $revision the version of FusionDirectory * * \return TRUE if successfully created FALSE otherwise */ function create_revision($revision_file, $revision) { $result = FALSE; if (is_dir(dirname($revision_file)) && is_writable(dirname($revision_file))) { if ($fh = fopen($revision_file, "w")) { if (fwrite($fh, $revision)) { $result = TRUE; } } fclose($fh); } else { msg_dialog::display(_("Internal error"), _("Cannot write to revision file!"), ERROR_DIALOG); } return $result; } /*! * \brief Compare the revision file * * Create the revision file in FusionDirectory spool dir * * \param string $revision_file the name of the revision file * \param string $revision the version of FusionDirectory * * \return TRUE if revision match FALSE otherwise */ function compare_revision($revision_file, $revision) { // FALSE means revision differs $result = FALSE; if (file_exists($revision_file) && is_readable($revision_file)) { // Open file if ($fh = fopen($revision_file, "r")) { // Compare File contents with current revision if ($revision == fread($fh, filesize($revision_file))) { $result = TRUE; } } else { msg_dialog::display(_("Internal error"), _("Cannot read to revision file!"), ERROR_DIALOG); } // Close file fclose($fh); } return $result; } /*! * \brief Lookup a key in an array case-insensitive * * Given an associative array this can lookup the value of * a certain key, regardless of the case. * * \code * $items = array ('FOO' => 'blub', 'bar' => 'blub'); * array_key_ics('foo', $items); # Returns 'blub' * array_key_ics('BAR', $items); # Returns 'blub' * \endcode * * \param string $ikey needle * * \param array $items haystack * * \return return key or empty result */ function array_key_ics($ikey, $items) { $tmp = array_change_key_case($items, CASE_LOWER); $ikey = strtolower($ikey); if (isset($tmp[$ikey])) { return $tmp[$ikey]; } return ''; } /*! * \brief Determine if two arrays are different * * \param array $src The source * * \param array $dst The destination * * \return boolean TRUE or FALSE */ function array_differs($src, $dst) { /* If the count is differing, the arrays differ */ if (count ($src) != count ($dst)) { return TRUE; } return (count(array_diff($src, $dst)) != 0); } /*! * \brief Determine if two arrays are different using recursion for sublevels * * \param array $src The source * * \param array $dst The destination * * \return boolean TRUE or FALSE */ function array_differs_recursive($src, $dst) { if (is_array($src)) { if (!is_array($dst)) { return TRUE; } if (count($src) != count($dst)) { return TRUE; } foreach ($src as $key => $value) { if (!isset($dst[$key])) { return TRUE; } if (array_differs_recursive($dst[$key], $value)) { return TRUE; } } return FALSE; } return ((string)$src != (string)$dst); } /*! * \brief Escape all LDAP filter relevant characters * * \param string $input string where we should add \ before special caracters * */ function normalizeLdap($input) { trigger_error('deprecated, use ldap_escape_f'); return addcslashes($input, '*()\\/'); } /*! * \brief Explode a DN into its parts * * Similar to explode (http://php.net/explode), but a bit more specific * for the needs when splitting, exploding LDAP DNs. * * \param string $dn the DN to split * * \param $config a config object. only neeeded if DN shall be verified in the LDAP * * \param boolean $verify_in_ldap check weither DN is valid * */ function gosa_ldap_explode_dn($dn, $config = NULL, $verify_in_ldap = FALSE) { /* Initialize variables */ /* Set count to 0 */ $ret = array("count" => 0); /* if FALSE, then skip next loops and return */ $next = TRUE; /* Current number of loops */ $cnt = 0; /* Just for security, prevent looops */ $max = 100; /* To check if created result a valid */ $ldap = NULL; /* save last failed parse string */ $keep = ""; /* Check each parsed dn in ldap ? */ if (($config !== NULL) && $verify_in_ldap) { $ldap = $config->get_ldap_link(); } /* Lets start */ $called = FALSE; while (preg_match("/,/", $dn) && $next && ($cnt < $max)) { $cnt ++; if (!preg_match("/,/", $dn)) { $next = FALSE; } $object = preg_replace("/[,].*$/", "", $dn); $dn = preg_replace("/^[^,]+,/", "", $dn); $called = TRUE; /* Check if current dn is valid */ if ($ldap !== NULL) { $ldap->cd($dn); $ldap->cat($dn, array("dn")); if ($ldap->count()) { $ret[] = $keep.$object; $keep = ""; } else { $keep .= $object.","; } } else { $ret[] = $keep.$object; $keep = ""; } } /* No dn was posted */ if ($cnt == 0 && !empty($dn)) { $ret[] = $dn; } /* Append the rest */ $test = $keep.$dn; if ($called && !empty($test)) { $ret[] = $keep.$dn; } $ret['count'] = count($ret) - 1; return $ret; } /*! * \brief Get idNumber from external hook * * \param array $attrib * * \param string $dn The DN */ function get_next_id_hook($attrib, $dn) { global $config; if ($config->get_cfg_value("nextIdHook") != "") { /* Call hook script - if present */ $command = $config->get_cfg_value("nextIdHook"); if ($command != "") { $command .= " ".escapeshellarg(LDAP::fix($dn))." ".escapeshellarg($attrib); if (check_command($command)) { @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execute"); exec($command, $output); if (is_numeric($output[0])) { return $output[0]; } } } } msg_dialog::display(_("Warning"), _("'nextIdHook' is not available. Using default base!"), WARNING_DIALOG); return $config->get_cfg_value("uidNumberBase"); } /*! * \brief Check if LDAP schema matches the requirements * * \param string $cfg A config object */ function check_schema($cfg) { $checks = array(); /* Get objectclasses */ $ldap = new ldapMultiplexer(new LDAP($cfg['admin'], $cfg['password'], $cfg['connection'], FALSE, $cfg['tls'])); $objectclasses = $ldap->get_objectclasses(TRUE); if (count($objectclasses) == 0) { msg_dialog::display(_('LDAP warning'), _('Cannot get schema information from server. No schema check possible!'), WARNING_DIALOG); return $checks; } /* This is the default block used for each entry. * to avoid unset indexes. */ $def_check = array( 'SCHEMA_FILE' => '', 'CLASSES_REQUIRED' => array(), 'STATUS' => FALSE, 'IS_MUST_HAVE' => FALSE, 'MSG' => '', 'INFO' => '' ); /* FusionDirectory core schemas */ /* core-fd */ $checks['core-fd'] = $def_check; $checks['core-fd']['SCHEMA_FILE'] = 'core-fd.schema'; $checks['core-fd']['CLASSES_REQUIRED'] = array('fdLockEntry'); $checks['core-fd']['IS_MUST_HAVE'] = TRUE; $checks['core-fd']['INFO'] = _('Main FusionDirectory schema'); /* core-fd-conf */ $checks['core-fd-conf'] = $def_check; $checks['core-fd-conf']['SCHEMA_FILE'] = 'core-fd-conf.schema'; $checks['core-fd-conf']['CLASSES_REQUIRED'] = array('fusionDirectoryConf'); $checks['core-fd-conf']['IS_MUST_HAVE'] = TRUE; $checks['core-fd-conf']['INFO'] = _('Schema used to store FusionDirectory configuration'); /* ldapns */ $checks['ldapns'] = $def_check; $checks['ldapns']['SCHEMA_FILE'] = 'ldapns.schema'; $checks['ldapns']['CLASSES_REQUIRED'] = array('hostObject'); $checks['ldapns']['IS_MUST_HAVE'] = FALSE; $checks['ldapns']['INFO'] = _('Used to store trust mode information in users or groups.'); /* template-fd */ $checks['template-fd'] = $def_check; $checks['template-fd']['SCHEMA_FILE'] = 'template-fd.schema'; $checks['template-fd']['CLASSES_REQUIRED'] = array('fdTemplate'); $checks['template-fd']['IS_MUST_HAVE'] = FALSE; $checks['template-fd']['INFO'] = _('Used to store templates.'); /* nis */ $checks['nis'] = $def_check; $checks['nis']['SCHEMA_FILE'] = 'nis.schema'; $checks['nis']['CLASSES_REQUIRED'] = array('posixAccount'); $checks['nis']['IS_MUST_HAVE'] = FALSE; $checks['nis']['INFO'] = _('Used to store POSIX information.'); foreach ($checks as $name => $value) { foreach ($value['CLASSES_REQUIRED'] as $class) { if (!isset($objectclasses[$class])) { $checks[$name]['STATUS'] = FALSE; if ($value['IS_MUST_HAVE']) { $checks[$name]['MSG'] = sprintf(_('Missing required object class "%s"!'), $class); } else { $checks[$name]['MSG'] = sprintf(_('Missing optional object class "%s"!'), $class); } } else { $checks[$name]['STATUS'] = TRUE; $checks[$name]['MSG'] = sprintf(_('Class(es) available')); } } } $checks['posixGroup'] = $def_check; $checks['posixGroup']['SCHEMA_FILE'] = 'nis.schema'; $checks['posixGroup']['CLASSES_REQUIRED'] = array('posixGroup'); $checks['posixGroup']['STATUS'] = TRUE; $checks['posixGroup']['MSG'] = ''; $checks['posixGroup']['INFO'] = ''; if (isset($objectclasses['posixGroup'])) { $checks['posixGroup']['IS_MUST_HAVE'] = TRUE; /* Depending on mixed groups plugin installation status, we need different schema configurations */ if (class_available('mixedGroup') && isset($objectclasses['posixGroup']['STRUCTURAL'])) { $checks['posixGroup']['STATUS'] = FALSE; $checks['posixGroup']['MSG'] = _('You have installed the mixed groups plugin, but your schema configuration does not support this.'); $checks['posixGroup']['INFO'] = _('In order to use mixed groups the objectClass "posixGroup" must be AUXILIARY'); } elseif (!class_available('mixedGroup') && !isset($objectclasses['posixGroup']['STRUCTURAL'])) { $checks['posixGroup']['STATUS'] = FALSE; $checks['posixGroup']['MSG'] = _('Your schema is configured to support mixed groups, but this plugin is not present.'); $checks['posixGroup']['INFO'] = _('The objectClass "posixGroup" must be STRUCTURAL'); } } return $checks; } /*! * \brief Get the language for the user connecting * * \param boolean $languages_in_own_language FALSE * * \param boolean $strip_region_tag FALSE */ function get_languages($languages_in_own_language = FALSE, $strip_region_tag = FALSE) { /* locales in english */ $tmp_english = array( "ar" => "Arabic", "ca_ES" => "Catalan", "cs_CZ" => "Czech", "de_DE" => "German", "el_GR" => "Greek", "en_US" => "English", "es_CO" => "Colombian Spanish", "es_ES" => "Spanish", "es_VE" => "Venezuelan", "fa_IR" => "Persian", "fi_FI" => "Finnish", "fr_FR" => "French", "it_IT" => "Italian", "nb" => "Norwegian Bokmål", "nl_NL" => "Dutch", "pl_PL" => "Polish", "pt" => "Portuguese", "pt_BR" => "Brazilian", "ru_RU" => "Russian", "vi_VN" => "Vietnamese", "sv_SE" => "Swedish", "zh_CN" => "Chinese", ); $ret = array(); if ($languages_in_own_language) { /* locales in their own language */ $tmp_ownlang = array( "ar" => "عربية", "ca_ES" => "Català", "cs_CZ" => "Česky", "de_DE" => "Deutsch", "el_GR" => "ελληνικά", "en_US" => "English", "es_CO" => "Español Colombiano", "es_ES" => "Español", "es_VE" => "Castellano", "fa_IR" => "پارسی", "fi_FI" => "Suomi", "fr_FR" => "Français", "it_IT" => "Italiano", "nb" => "Norsk bokmål", "nl_NL" => "Nederlands", "pl_PL" => "Polski", "pt" => "Portuguese", "pt_BR" => "Portuguese (Brazil)", "ru_RU" => "русский язык", "vi_VN" => "Tiếng Việt", "sv_SE" => "Svenska", "zh_CN" => "中文, 汉语, 漢語", ); foreach ($tmp_english as $key => $name) { $label = _($name)." (".$tmp_ownlang[$key].")"; if ($strip_region_tag) { $ret[preg_replace("/^([^_]*).*$/", "\\1", $key)] = $label; } else { $ret[$key] = $label; } } } else { foreach ($tmp_english as $key => $name) { if ($strip_region_tag) { $ret[preg_replace("/^([^_]*).*/", "\\1", $key)] = _($name); } else { $ret[$key] = _($name); } } } return $ret; } /*! * \brief Returns TRUE if $lang is a right to left language ($lang should match /.._..(\.UTF-8)?/) */ function language_is_rtl ($lang) { $lang = preg_replace('/\.UTF-8$/', '', $lang); if (preg_match('/^fa_/', $lang)) { return TRUE; } return FALSE; } /*! * \brief Returns contents of the given POST variable and check magic quotes settings * * Depending on the magic quotes settings this returns a stripclashed'ed version of * a certain POST variable. * * \param string $name the POST var to return ($_POST[$name]) * * \return string */ function get_post($name) { if (!isset($_POST[$name])) { trigger_error("Requested POST value (".$name.") does not exists, you should add a check to prevent this message."); return FALSE; } return validate($_POST[$name]); } /*! * \brief Return class name in correct case */ function get_correct_class_name($cls) { global $class_mapping; if (isset($class_mapping) && is_array($class_mapping)) { foreach (array_keys($class_mapping) as $class) { if (preg_match("/^".$cls."$/i", $class)) { return $class; } } } return FALSE; } /*! * \brief Change the password of a given DN * * Change the password of a given DN with the specified hash. * * \param string $dn the DN whose password shall be changed * * \param string $password the password * * \param string $hash which hash to use to encrypt it, default is empty * for reusing existing hash method for this password (or use the default one). * * \return boolean TRUE on success and an error strings array on failure. */ function change_password ($dn, $password, $hash = "") { $userTabs = objects::open($dn, 'user'); $userTab = $userTabs->getBaseObject(); $userTab->userPassword = array( $hash, $password, $password, $userTab->userPassword, $userTab->attributesAccess['userPassword']->isLocked() ); $error = $userTabs->check(); if (!empty($error)) { return $error; } $userTabs->save_object(); $userTabs->save(); return TRUE; } /* Lock or unlock samba account */ function lock_samba_account($mode, $attrs) { global $config; if (!isset($attrs['sambaNTPassword'][0])) { return array(); } $modify = array('sambaNTPassword' => $attrs['sambaNTPassword'][0]); if ($config->get_cfg_value("sambaGenLMPassword", "FALSE") == "TRUE") { $modify['sambaLMPassword'] = $attrs['sambaLMPassword'][0]; } else { $modify['sambaLMPassword'] = array(); } foreach ($modify as &$pwd) { if (is_array($pwd)) { continue; } if ($mode == 'LOCK') { /* Lock entry */ if (!preg_match('/^\!/', $pwd)) { $pwd = '!'.$pwd; } } else { /* Unlock entry */ $pwd = preg_replace("/^\!/", "", $pwd); } } unset($pwd); return $modify; } /* Lock or unlock ssh account */ function lock_ssh_account($mode, $attrs, &$modify) { if (!isset($attrs['sshPublicKey'])) { return; } $modify['sshPublicKey'] = array(); for ($i = 0; $i < $attrs['sshPublicKey']['count']; ++$i) { if ($mode == 'LOCK') { $modify['sshPublicKey'][] = preg_replace('/^/', 'disabled-', $attrs['sshPublicKey'][0]); } else { $modify['sshPublicKey'][] = preg_replace('/^disabled-/', '', $attrs['sshPublicKey'][0]); } } } /*! * \brief Get the Change Sequence Number of a certain DN * * To verify if a given object has been changed outside of FusionDirectory * in the meanwhile, this function can be used to get the entryCSN * from the LDAP directory. It uses the attribute as configured * in modificationDetectionAttribute * * \param string $dn The dn you want to check * * \return either the result or "" in any other case */ function getEntryCSN($dn) { global $config; if (empty($dn) || !is_object($config)) { return ""; } /* Get attribute that we should use as serial number */ $attr = $config->get_cfg_value("modificationDetectionAttribute"); if ($attr != "") { $ldap = $config->get_ldap_link(); $ldap->cat($dn, array($attr)); $csn = $ldap->fetch(); if (isset($csn[$attr][0])) { return $csn[$attr][0]; } } return ""; } /*! * \brief Initialize a file download with given content, name and data type. * * \param string $data The content to send. * * \param string $name The name of the file. * * \param string $type The content identifier, default value is "application/octet-stream"; */ function send_binary_content($data, $name, $type = "application/octet-stream") { header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); header("Cache-Control: post-check=0, pre-check=0"); header("Content-type: ".$type.""); $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; /* Strip name if it is a complete path */ if (preg_match ("/\//", $name)) { $name = basename($name); } /* force download dialog */ if (preg_match('/MSIE 5.5/', $HTTP_USER_AGENT) || preg_match('/MSIE 6.0/', $HTTP_USER_AGENT)) { header('Content-Disposition: filename="'.$name.'"'); } else { header('Content-Disposition: attachment; filename="'.$name.'"'); } echo $data; exit(); } function reverse_html_entities($str, $type = ENT_QUOTES, $charset = "UTF-8") { if (is_string($str)) { return htmlentities($str, $type, $charset); } elseif (is_array($str)) { foreach ($str as $name => $value) { $str[$name] = reverse_html_entities($value, $type, $charset); } } return $str; } /*! * \brief Encode special string characters * * Encode the special caracters so we can use the string in * HTML output, without breaking quotes. * * \param string $str The String we want to encode. * * \return string The encoded String */ function xmlentities($str) { if (is_string($str)) { return htmlspecialchars($str, ENT_QUOTES); } elseif (is_array($str)) { foreach ($str as $name => $value) { $str[$name] = xmlentities($value); } } return $str; } /*! * \brief Updates all accessTo attributes from a given value to a new one. * * \param String $from The source accessTo name. * * \param String $to The destination accessTo name. */ function update_accessTo($from, $to) { global $config; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search('(&(objectClass=trustAccount)(accessTo='.ldap_escape_f($from).'))', array('objectClass','accessTo')); while ($attrs = $ldap->fetch()) { $new_attrs = array('accessTo' => array()); $dn = $attrs['dn']; for ($i = 0; $i < $attrs['objectClass']['count']; $i++) { $new_attrs['objectClass'][] = $attrs['objectClass'][$i]; } for ($i = 0; $i < $attrs['accessTo']['count']; $i++) { if ($attrs['accessTo'][$i] == $from) { if (!empty($to)) { $new_attrs['accessTo'][] = $to; } } else { $new_attrs['accessTo'][] = $attrs['accessTo'][$i]; } } $ldap->cd($dn); $ldap->modify($new_attrs); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD, "update_accessTo($from,$to)"), LDAP_ERROR); } logging::log('modify', "update_accessTo($from,$to)", $dn, array_keys($new_attrs), $ldap->get_error()); } } /*! * \brief Returns a random char */ function get_random_char () { $randno = rand (0, 63); if ($randno < 12) { // Digits, '/' and '.' return chr($randno + 46); } elseif ($randno < 38) { // Uppercase return chr($randno + 53); } else { // Lowercase return chr($randno + 59); } } /*! * \brief Decrypt a string with RIJNDAEL_128 * * \param string $input The string to decrypt. * * \param String $password The password used */ function cred_decrypt($input, $password) { /************************* Inspired by Crypt/CBC.pm *******************************/ $input = pack('H*', $input); if (substr($input, 0, 8) != 'Salted__') { throw new FusionDirectoryException("Invalid hash header: expected 'Salted__', found '".substr($input, 0, 8)."'"); } $salt = substr($input, 8, 8); $input = substr($input, 16); $key_len = 32; $iv_len = openssl_cipher_iv_length('aes-256-cbc'); $data = ''; $d = ''; while (strlen($data) < $key_len + $iv_len) { $d = md5($d . $password . $salt, TRUE); $data .= $d; } $key = substr($data, 0, $key_len); $iv = substr($data, $key_len, $iv_len); return openssl_decrypt($input, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); } function get_object_info() { return session::get('objectinfo'); } function set_object_info($str = "") { session::set('objectinfo', $str); } /*! * \brief Test if an ip is the network range * * \param string $ip The ip address to test. * * \param string $net The network to test * * \param string $mask The netmask of the network */ function isIpInNet($ip, $net, $mask) { // Move to long ints $ip = ip2long($ip); $net = ip2long($net); $mask = ip2long($mask); // Mask given IP with mask. If it returns "net", we're in... return (($ip & $mask) == $net); } /*! * \brief Expands an IP v6 */ function expandIPv6 ($ip) { $hex = unpack('H*hex', inet_pton($ip)); $ip = substr(preg_replace('/([A-f0-9]{4})/', "$1:", $hex['hex']), 0, -1); return $ip; } /*! * \brief Get next id * * \param string $attrib attribute to use to find the next id. * * \param String $dn Dn we want an id for. * * \return Return the next id or NULL if failed */ function get_next_id($attrib, $dn) { global $config; if ($config->get_cfg_value("nextIdHook") != "") { return get_next_id_hook($attrib, $dn); } switch ($config->get_cfg_value("idAllocationMethod", "traditional")) { case "pool": return get_next_id_pool($attrib); case "traditional": return get_next_id_traditional($attrib, $dn); } msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." "._("unknown idAllocation method!"), ERROR_DIALOG); return NULL; } /*! * \brief Get next id from the sambaUnixIdPool * * \param string $attrib attribute to use to find the next id. * * \return Return the next id or NULL if failed */ function get_next_id_pool($attrib) { global $config; /* Fill informational values */ $min = $config->get_cfg_value("${attrib}PoolMin", 10000); $max = $config->get_cfg_value("${attrib}PoolMax", 40000); /* Sanity check */ if ($min >= $max) { msg_dialog::display(_("Error"), _("Cannot allocate a free ID:")." ".sprintf(_("%sPoolMin >= %sPoolMax!"), $attrib), ERROR_DIALOG); return NULL; } /* ID to skip */ $ldap = $config->get_ldap_link(); $id = NULL; /* Try to allocate the ID several times before failing */ $tries = 3; while ($tries--) { /* Look for ID map entry */ $ldap->cd ($config->current['BASE']); $ldap->search ("(&(objectClass=sambaUnixIdPool)($attrib=*))", array("$attrib")); /* If it does not exist, create one with these defaults */ if ($ldap->count() == 0) { /* Fill informational values */ $minUserId = $config->get_cfg_value('uidPoolMin', 10000); $minGroupId = $config->get_cfg_value('gidPoolMin', 10000); /* Add as default */ $attrs = array( 'objectClass' => array('organizationalUnit', 'sambaUnixIdPool'), 'ou' => 'idmap', 'uidNumber' => $minUserId, 'gidNumber' => $minGroupId, ); $ldap->cd('ou=idmap,'.$config->current['BASE']); $ldap->add($attrs); if (!$ldap->success()) { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), 'ou=idmap,'.$config->current['BASE'], LDAP_ADD, ERROR_DIALOG)); return NULL; } $tries++; continue; } /* Bail out if it's not unique */ if ($ldap->count() != 1) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID:').' '._('sambaUnixIdPool is not unique!'), ERROR_DIALOG); return NULL; } /* Store old attrib and generate new */ $attrs = $ldap->fetch(); $dn = $attrs['dn']; $oldAttr = $attrs[$attrib][0]; $newAttr = $oldAttr + 1; /* Sanity check */ if ($newAttr >= $max) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID:').' '._('no ID available!'), ERROR_DIALOG); return NULL; } if ($newAttr < $min) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID:').' '._('no ID available!'), ERROR_DIALOG); return NULL; } $ldap->cd($dn); $ldap->modify(array($attrib => $newAttr)); if (!$ldap->success()) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID:').' '.$ldap->get_error(), ERROR_DIALOG); return NULL; } else { return $oldAttr; } } /* Bail out if we had problems getting the next id */ if (!$tries) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID:').' '._('maximum tries exceeded!'), ERROR_DIALOG); } return $id; } /*! * \brief Get next id in a traditional unix way * * \param string $attrib attribute to use to find the next id. * * \param String $dn Dn we want an id for. * * \return Return the next id */ function get_next_id_traditional($attrib, $dn) { global $config; $ids = array(); $ldap = $config->get_ldap_link(); $ldap->cd ($config->current['BASE']); if (preg_match('/gidNumber/i', $attrib)) { $oc = 'posixGroup'; } else { $oc = 'posixAccount'; } $ldap->search ("(&(objectClass=$oc)($attrib=*))", array("$attrib")); /* Get list of ids */ while ($attrs = $ldap->fetch()) { $ids[] = (int)$attrs["$attrib"][0]; } /* Add the nobody id */ $ids[] = 65534; /* get the ranges */ $tmp = array('0' => 1000); if (preg_match('/posixAccount/', $oc) && $config->get_cfg_value('uidNumberBase') != '') { $tmp = explode('-', $config->get_cfg_value('uidNumberBase')); } elseif ($config->get_cfg_value('gidNumberBase') != '') { $tmp = explode('-', $config->get_cfg_value('gidNumberBase')); } /* Set hwm to max if not set - for backward compatibility */ $base = $tmp[0]; if (isset($tmp[1])) { $hwm = $tmp[1]; } else { $hwm = pow(2, 32); } /* Find out next free id near to UID_BASE */ for ($id = $base; $id++; $id < $hwm) { if (!in_array($id, $ids)) { return $id; } } /* Should not happen */ if ($id == $hwm) { msg_dialog::display(_('Error'), _('Cannot allocate a free ID!'), ERROR_DIALOG); exit; } } /* Mark the occurance of a string with a span */ function mark($needle, $haystack) { $result = ''; while (preg_match('/^(.*)('.preg_quote($needle).')(.*)$/i', $haystack, $matches)) { $result .= $matches[1].''.$matches[2].''; $haystack = $matches[3]; } return $result.$haystack; } function reset_errors() { session::set('errors', ''); session::set('errorsAlreadyPosted', array()); session::set('LastError', ''); } function load_all_classes() { global $BASE_DIR, $class_list, $class_mapping; /* Initially load all classes */ $class_list = get_declared_classes(); foreach ($class_mapping as $class => $path) { if (!in_array($class, $class_list)) { if (is_readable("$BASE_DIR/$path")) { require_once("$BASE_DIR/$path"); } else { msg_dialog::display(_('Fatal error'), sprintf(_("Cannot locate file '%s' - please run '%s' to fix this"), "$BASE_DIR/$path", 'fusiondirectory-setup'), FATAL_ERROR_DIALOG); exit; } } } } function initLanguage($lang = NULL) { global $BASE_DIR; if ($lang === NULL) { $lang = get_browser_language(); } putenv('LANGUAGE='); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); $GLOBALS['t_language'] = $lang; $GLOBALS['t_gettext_message_dir'] = $BASE_DIR.'/locale/'; /* Set the text domain as 'fusiondirectory' */ $domain = 'fusiondirectory'; bindtextdomain($domain, LOCALE_DIR); textdomain($domain); if ($_SERVER['REQUEST_METHOD'] != 'POST') { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, 'Setting language to'); } $ret = FALSE; /* Reset menu cache if language changed */ if ((!session::global_is_set('lang')) || (session::global_get('lang') != $lang)) { $ret = TRUE; if (session::global_is_set('plist')) { if ($_SERVER['REQUEST_METHOD'] != 'POST') { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, session::global_get('lang'), 'Plist already loaded with language '); } $plist = session::global_get('plist'); $plist->reset_menus(); } } session::global_set('lang', $lang); return $ret; } if (!function_exists('ldap_escape')) { /* This bloc is for PHP<5.6 */ define('LDAP_ESCAPE_FILTER', 0x01); define('LDAP_ESCAPE_DN', 0x02); /** * @param string $subject The subject string * @param string $ignore Set of characters to leave untouched * @param int $flags Any combination of LDAP_ESCAPE_* flags to indicate the * set(s) of characters to escape. * @return string */ function ldap_escape($subject, $ignore = '', $flags = 0) { static $charMaps = array( LDAP_ESCAPE_FILTER => array('\\', '*', '(', ')', "\x00"), LDAP_ESCAPE_DN => array('\\', ',', '=', '+', '<', '>', ';', '"', '#'), ); // Pre-process the char maps on first call if (!isset($charMaps[0])) { $charMaps[0] = array(); for ($i = 0; $i < 256; $i++) { $charMaps[0][chr($i)] = sprintf('\\%02x', $i); } for ($i = 0, $l = count($charMaps[LDAP_ESCAPE_FILTER]); $i < $l; $i++) { $chr = $charMaps[LDAP_ESCAPE_FILTER][$i]; unset($charMaps[LDAP_ESCAPE_FILTER][$i]); $charMaps[LDAP_ESCAPE_FILTER][$chr] = $charMaps[0][$chr]; } for ($i = 0, $l = count($charMaps[LDAP_ESCAPE_DN]); $i < $l; $i++) { $chr = $charMaps[LDAP_ESCAPE_DN][$i]; unset($charMaps[LDAP_ESCAPE_DN][$i]); $charMaps[LDAP_ESCAPE_DN][$chr] = $charMaps[0][$chr]; } } // Create the base char map to escape $flags = (int)$flags; $charMap = array(); if ($flags & LDAP_ESCAPE_FILTER) { $charMap += $charMaps[LDAP_ESCAPE_FILTER]; } if ($flags & LDAP_ESCAPE_DN) { $charMap += $charMaps[LDAP_ESCAPE_DN]; } if (!$charMap) { $charMap = $charMaps[0]; } // Remove any chars to ignore from the list $ignore = (string)$ignore; for ($i = 0, $l = strlen($ignore); $i < $l; $i++) { unset($charMap[$ignore[$i]]); } // Do the main replacement $result = strtr($subject, $charMap); // Encode leading/trailing spaces if LDAP_ESCAPE_DN is passed if ($flags & LDAP_ESCAPE_DN) { if ($result[0] === ' ') { $result = '\\20' . substr($result, 1); } if ($result[strlen($result) - 1] === ' ') { $result = substr($result, 0, -1) . '\\20'; } } return $result; } } function ldap_escape_f($str, $ignore = '') { return ldap_escape($str, $ignore, LDAP_ESCAPE_FILTER); } function ldap_escape_dn($str, $ignore = '') { return ldap_escape($str, $ignore, LDAP_ESCAPE_DN); } function mail_utf8($to, $from_user, $from_email, $subject, $message, $type = 'plain') { $subject = "=?UTF-8?B?".base64_encode($subject)."?="; if ($from_user) { $from_user = "=?UTF-8?B?".base64_encode($from_user)."?="; $headers = "From: $from_user <$from_email>\r\n"; $headers .= "Reply-To: $from_user <$from_email>\r\n"; } else { $headers = "From: <$from_email>\r\n"; $headers .= "Reply-To: <$from_email>\r\n"; } $headers .= "MIME-Version: 1.0" . "\r\n" . "Content-type: text/$type; charset=UTF-8" . "\r\n"; $additional_parameters = "-f".$from_email; return mail($to, $subject, $message, $headers, $additional_parameters); } ?> fusiondirectory-1.0.19/include/functions_debug.inc000066400000000000000000000243731304016502700223350ustar00rootroot00000000000000 * Filename......: debuglib.php(s) * Last changed..: 16. July 2003 * License.......: Free to use. Postcardware ;) * *----------------------------------------------------------------------- * * Functions in this library: * * print_a( array array [,int mode] ) * prints arrays in a readable, understandable form. * if mode is defined the function returns the output instead of * printing it to the browser * * show_vars([int mode]) * use this function on the bottom of your script to see all * superglobals and global variables in your script in a nice * formated way * * show_vars() without parameter shows $_GET, $_POST, $_SESSION, * $_FILES and all global variables you've defined in your script * * show_vars(1) shows $_SERVER and $_ENV in addition * * Happy debugging and feel free to email me your comments. * * History: (starting with version 0.5.3 at 2003-02-24) * * - added tooltips to the td's showing the type of keys and values (thanks Itomic) * 2003-07-16 * - pre() function now trims trailing tabs ----------------------------------------------------------------------*/ // This file must be the first include on your page. /* used for tracking of generation-time */ { $MICROTIME_START = microtime(); @$GLOBALS_initial_count = count($GLOBALS); } /*! * \file functions_debug.inc * Source code for print_a class * and helper function */ /*! * \brief print_a class and helper function * prints out an array in a more readable way * than print_r() * * based on the print_a() function from * Stephan Pirson (Saibot) */ class Print_a_class { // this can be changed to FALSE if you don't like the fancy string formatting var $look_for_leading_tabs = TRUE; var $output; var $iterations; var $key_bg_color = '1E32C8'; var $value_bg_color = 'DDDDEE'; var $fontsize = '8pt'; var $keyalign = 'center'; var $fontfamily = 'Verdana'; var $export_flag; var $show_object_vars; var $export_dumper_path = 'http://tools.www.mdc.xmc.de/print_a_dumper/print_a_dumper.php'; /* i'm still working on the dumper! don't use it now * put the next line into the print_a_dumper.php file (optional) * print htmlspecialchars( stripslashes ( $_POST['array'] ) ); */ var $export_hash; /*! * \brief Print_a_class constructor */ function __construct() { $this->export_hash = uniqid(''); } /*! recursive function! * if print_a() was called with a fourth parameter (1 or 2) * and you click on the table a window opens with only the output of print_a() in it * 1 = serialized array * 2 = normal print_a() display * * put the following code on the page defined with $export_dumper_path; * --->%---- snip --->%---- * if($_GET['mode'] == 1) { * print htmlspecialchars( stripslashes ( $_POST['array'] ) ); * } elseif($_GET['mode'] == 2) { * print_a(unserialize( stripslashes($_POST['array'])) ); * } * ---%<---- snip ---%<---- * * * \param array $array * * \param boolean $iteration false * * \param boolean $key_bg_colo false */ function print_a($array, $iteration = FALSE, $key_bg_color = FALSE) { if (!$key_bg_color) { $key_bg_color = $this->key_bg_color; } if (!$iteration && isset($this->export_flag)) { $this->output .= '
    '; } // lighten up the background color for the key td's =) if ($iteration) { for ($i = 0; $i < 6; $i += 2) { $c = substr( $key_bg_color, $i, 2 ); $c = hexdec( $c ); $c += 15; if ($c > 255) { $c = 255; } if (!isset($tmp_key_bg_color)) { $tmp_key_bg_color = ''; } $tmp_key_bg_color .= sprintf( "%02X", $c ); } $key_bg_color = $tmp_key_bg_color; } // build a single table ... may be nested $this->output .= 'export_flag ? 'onClick="document.getElementById(\'pa_form_'.$this->export_hash.'\').submit();" )' : '' ).'>'; foreach ($array as $key => $value) { $value_style = 'color:black;'; $key_style = 'color:white;'; $type = gettype($value); // change the color and format of the value switch ($type) { case 'array': break; case 'object': $key_style = 'color:#FF9B2F;'; break; case 'integer': $value_style = 'color:green;'; break; case 'double': $value_style = 'color:red;'; break; case 'bool': $value_style = 'color:blue;'; break; case 'resource': $value_style = 'color:darkblue;'; break; case 'string': if ($this->look_for_leading_tabs && preg_match('/^\t/m', $value)) { $search = array('/\t/', "/\n/"); $replace = array('   ','
    '); $value = preg_replace( $search, $replace, htmlspecialchars($value)); $value_style = 'color:black;border:1px gray dotted;'; } else { $value_style = 'color:black;'; $value = nl2br(htmlspecialchars($value)); } break; } $this->output .= ''; $this->output .= ''; $this->output .= ''; $this->output .= ''; } $this->output .= '
    '; $this->output .= $key; $this->output .= ''; // value output if ($type == 'array') { if (count($value)) { $this->print_a( $value, TRUE, $key_bg_color ); } else { $this->output .= '
    Array (empty)
    '; } } elseif ($type == 'object') { if ($this->show_object_vars) { $this->print_a( get_object_vars( $value ), TRUE, $key_bg_color ); } else { $this->output .= '
    OBJECT - '.get_class($value).'
    '; } } else { $this->output .= '
    '.$value.'
    '; } $this->output .= '
    '; } } /* * \brief helper function.. calls print_a() inside the print_a_class * * \param array $array * * \param boolean $return_mode false * * \param boolean $show_object_vars false * * \param boolean $export_flag false */ function print_a($array, $return_mode = FALSE, $show_object_vars = FALSE, $export_flag = FALSE ) { $e = error_reporting(0); if (is_array($array) || is_object($array)) { $pa = new Print_a_class; if ($show_object_vars) { $pa->show_object_vars = TRUE; } if ($export_flag) { $pa->export_flag = $export_flag; } $pa->print_a($array); $output = &$pa->output; } else { $output = 'print_a( '.gettype( $array ).' )'; } error_reporting ($e); if ($return_mode) { return $output; } else { print $output; return TRUE; } } function _script_globals() { global $GLOBALS_initial_count; $varcount = 0; foreach ($GLOBALS as $GLOBALS_current_key => $GLOBALS_current_value) { if (++$varcount > $GLOBALS_initial_count) { /* die wollen wir nicht! */ if ($GLOBALS_current_key != 'HTTP_SESSION_VARS' && $GLOBALS_current_key != '_SESSION') { $script_GLOBALS[$GLOBALS_current_key] = $GLOBALS_current_value; } } } unset($script_GLOBALS['GLOBALS_initial_count']); return $script_GLOBALS; } /*! * \brief Show the runtime */ function show_runtime() { $MICROTIME_END = microtime(); $MICROTIME_START = explode(' ', $GLOBALS['MICROTIME_START']); $MICROTIME_END = explode(' ', $MICROTIME_END); $GENERATIONSEC = $MICROTIME_END[1] - $MICROTIME_START[1]; $GENERATIONMSEC = $MICROTIME_END[0] - $MICROTIME_START[0]; $GENERATIONTIME = substr($GENERATIONSEC + $GENERATIONMSEC, 0, 8); return '(runtime: '.$GENERATIONTIME.' sec)'; } /*! * \brief function shows all superglobals and script defined global variables * show_vars() without the first parameter shows all superglobals except $_ENV and $_SERVER * show_vars(1) shows all * show_vars(,1) shows object properties in addition */ function show_vars($show_all_vars = FALSE, $show_object_vars = FALSE) { if (isset($GLOBALS['no_vars'])) { return; } $script_globals = _script_globals(); print ' '; print '
    DEBUG '.show_runtime().' '; $vars_arr['script_globals'] = array('global script variables', '#7ACCC8'); $vars_arr['_GET'] = array('$_GET', '#7DA7D9'); $vars_arr['_POST'] = array('$_POST', '#F49AC1'); $vars_arr['_FILES'] = array('$_POST FILES', '#82CA9C'); $vars_arr['_SESSION'] = array('$_SESSION', '#FCDB26'); $vars_arr['_COOKIE'] = array('$_COOKIE', '#A67C52'); if ($show_all_vars) { $vars_arr['_SERVER'] = array('SERVER', '#A186BE'); $vars_arr['_ENV'] = array('ENV', '#7ACCC8'); } foreach ($vars_arr as $vars_name => $vars_data) { if ($vars_name != 'script_globals') { global $$vars_name; } if ($$vars_name) { print '
    '.$vars_data[0].'
    '; print_a($$vars_name, FALSE, $show_object_vars, FALSE ); print '
    '; } } print '
    '; } ?> fusiondirectory-1.0.19/include/password-methods/000077500000000000000000000000001304016502700217565ustar00rootroot00000000000000fusiondirectory-1.0.19/include/password-methods/class_password-methods-clear.inc000066400000000000000000000031061304016502700302250ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/password-methods/class_password-methods-crypt.inc000066400000000000000000000100271304016502700303000ustar00rootroot00000000000000hash == "crypt/standard-des") { $salt = ""; for ($i = 0; $i < 2; $i++) { $salt .= get_random_char(); } } if ($this->hash == "crypt/enhanced-des") { $salt = "_"; for ($i = 0; $i < 8; $i++) { $salt .= get_random_char(); } } if ($this->hash == "crypt/md5") { $salt = "\$1\$"; for ($i = 0; $i < 8; $i++) { $salt .= get_random_char(); } $salt .= "\$"; } if ($this->hash == "crypt/blowfish") { $salt = "\$2a\$07\$"; for ($i = 0; $i < CRYPT_SALT_LENGTH; $i++) { $salt .= get_random_char(); } $salt .= "\$"; } if ($this->hash == "crypt/sha-256") { $salt = "\$5\$"; for ($i = 0; $i < 16; $i++) { $salt .= get_random_char(); } $salt .= "\$"; } if ($this->hash == "crypt/sha-512") { $salt = "\$6\$"; for ($i = 0; $i < 16; $i++) { $salt .= get_random_char(); } $salt .= "\$"; } return "{CRYPT}".crypt($pwd, $salt); } function checkPassword($pwd, $hash) { // Not implemented return FALSE; } /*! * \brief Get the hash name */ static function get_hash_name() { $hashes = array(); if (CRYPT_STD_DES == 1) { $hashes[] = "crypt/standard-des"; } if (CRYPT_EXT_DES == 1) { $hashes[] = "crypt/enhanced-des"; } if (CRYPT_MD5 == 1) { $hashes[] = "crypt/md5"; } if (CRYPT_BLOWFISH == 1) { $hashes[] = "crypt/blowfish"; } if (CRYPT_SHA256 == 1) { $hashes[] = "crypt/sha-256"; } if (CRYPT_SHA512 == 1) { $hashes[] = "crypt/sha-512"; } return $hashes; } /*! * \brief Extract a method * * \param string $password_hash */ static function _extract_method($classname, $password_hash) { if (!preg_match('/^{crypt}/i', $password_hash)) { return ""; } $password_hash = preg_replace('/^{[^}]+}!?/', '', $password_hash); if (preg_match("/^[a-zA-Z0-9.\/][a-zA-Z0-9.\/]/", $password_hash)) { return "crypt/standard-des"; } if (preg_match("/^_[a-zA-Z0-9.\/]/", $password_hash)) { return "crypt/enhanced-des"; } if (preg_match('/^\$1\$/', $password_hash)) { return "crypt/md5"; } if (preg_match('/^(\$2\$|\$2a\$)/', $password_hash)) { return "crypt/blowfish"; } if (preg_match('/^\$5\$/', $password_hash)) { return "crypt/sha-256"; } if (preg_match('/^\$6\$/', $password_hash)) { return "crypt/sha-512"; } return ""; } } ?> fusiondirectory-1.0.19/include/password-methods/class_password-methods-md5.inc000066400000000000000000000032041304016502700276230ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/password-methods/class_password-methods-sasl.inc000066400000000000000000000060321304016502700301020ustar00rootroot00000000000000realm = trim($config->get_cfg_value('saslRealm', '')); $this->exop = trim($config->get_cfg_value('saslExop', '')); if ($dn == "" || $dn == "new") { return; } $attr = (empty($this->exop)?'uid':$this->exop); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->cat($dn, array($attr)); if ($ldap->count() == 1) { $attrs = $ldap->fetch(); $this->uid = $attrs[$attr][0]; } else { msg_dialog::display(_("Error"), sprintf(_("Cannot change password, unknown user '%s'"), $dn), ERROR_DIALOG); } } /*! * \brief Is available * * \return TRUE if is avaibable */ function is_available() { if (empty($this->realm) && empty($this->exop)) { return FALSE; } return TRUE; } /*! * \brief Generate template hash * * \param string $pwd Password */ function generate_hash($pwd) { if (empty($this->exop)) { if (empty($this->realm)) { msg_dialog::display(_('Error'), _('You need to fill saslRealm or saslExop in the configuration screen in order to use SASL'), ERROR_DIALOG); } return '{SASL}'.$this->uid.'@'.$this->realm; } else { /* may not be the uid, see saslExop option */ return '{SASL}'.$this->uid; } } function checkPassword($pwd, $hash) { // We do not store passwords, can’t know if they’re the same return FALSE; } /*! * \brief Get the hash name */ static function get_hash_name() { return 'sasl'; } /*! * \brief Password needed * * \return boolean FALSE */ function need_password() { global $config; return ($config->get_cfg_value('forceSaslPasswordAsk', 'FALSE') == 'TRUE'); } } ?> fusiondirectory-1.0.19/include/password-methods/class_password-methods-sha.inc000066400000000000000000000040701304016502700277130ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/password-methods/class_password-methods-smd5.inc000066400000000000000000000040561304016502700300140ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/password-methods/class_password-methods-ssha.inc000066400000000000000000000054211304016502700300770ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/password-methods/class_password-methods.inc000066400000000000000000000244271304016502700271520ustar00rootroot00000000000000lockable) { return FALSE; } /* Get current password hash */ $pwd = ""; if (!empty($dn)) { $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->cat($dn); $attrs = $ldap->fetch(); if (isset($attrs['userPassword'][0])) { $pwd = $attrs['userPassword'][0]; } } elseif (isset($this->attrs['userPassword'][0])) { $pwd = $this->attrs['userPassword'][0]; } return preg_match("/^[^\}]*+\}!/", $pwd); } /*! \brief Locks an account by adding a '!' as prefix to the password hashes. * This makes login impossible, due to the fact that the hash becomes invalid. * userPassword: {SHA}!q02NKl9IChNwZEAJxzRdmB6E * sambaLMPassword: !EBD223B61F8C259AD3B435B51404EE * sambaNTPassword: !98BB35737013AAF181D0FE9FDA09E * * \param string $dn */ function lock_account($dn = "") { return $this->generic_modify_account($dn, 'LOCK'); } /*! * \brief Unlocks an account which was locked by 'lock_account()'. * For details about the locking mechanism see 'lock_account()'. */ function unlock_account($dn = "") { return $this->generic_modify_account($dn, 'UNLOCK'); } /*! * \brief Unlocks an account which was locked by 'lock_account()'. * For details about the locking mechanism see 'lock_account()'. */ private function generic_modify_account($dn, $mode) { global $config; if (!$this->lockable) { return FALSE; } if ($mode != 'LOCK' && $mode != 'UNLOCK') { die('Invalid mode "'.$mode.'"'); } /* Get current password hash */ $attrs = $this->attrs; $pwd = ""; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); if (!empty($dn)) { $ldap->cat($dn); $attrs = $ldap->fetch(); } if (isset($attrs['userPassword'][0])) { $pwd = $attrs['userPassword'][0]; $dn = $attrs['dn']; } /* We can only lock/unlock non-empty passwords */ if (!empty($pwd)) { /* Check if this entry is already locked. */ if (!preg_match("/^[^\}]*+\}!/", $pwd)) { if ($mode == 'UNLOCK') { return TRUE; } } elseif ($mode == 'LOCK') { return TRUE; } // (Un)lock the samba account $modify = lock_samba_account($mode, $attrs); // (Un)lock SSH keys lock_ssh_account($mode, $attrs, $modify); // (Un)lock the account by modifying the password hash. $pwdClass = new user($dn); $pwdClass->callHook('PRE'.$mode, array(), $ret); if ($mode == 'LOCK') { /* Lock entry */ $pwd = preg_replace("/(^[^\}]+\})(.*$)/", "\\1!\\2", $pwd); } else { /* Unlock entry */ $pwd = preg_replace("/(^[^\}]+\})!(.*$)/", "\\1\\2", $pwd); } $modify["userPassword"] = $pwd; $ldap->cd($dn); $ldap->modify($modify); // Call the password post-lock hook, if defined. if ($ldap->success()) { $pwdClass->callHook('POST'.$mode, array(), $ret); } else { msg_dialog::display(_('LDAP error'), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_MOD), LDAP_ERROR); } return $ldap->success(); } return FALSE; } /*! * \brief This function returns all loaded classes for password encryption */ static function get_available_methods() { global $class_mapping; $ret = FALSE; $i = 0; /* Only */ if (!session::is_set("passwordMethod::get_available_methods")) { foreach (array_keys($class_mapping) as $class) { if (preg_match('/passwordMethod/i', $class) && !preg_match("/^passwordMethod$/i", $class)) { $test = new $class(""); if ($test->is_available()) { $plugs = $test->get_hash_name(); if (!is_array($plugs)) { $plugs = array($plugs); } foreach ($plugs as $plugname) { $cfg = $test->is_configurable(); $ret['name'][$i] = $plugname; $ret['class'][$i] = $class; $ret['is_configurable'][$i] = $cfg; $ret['object'][$i] = $test; $ret['desc'][$i] = $test->get_description(); $ret[$i]['name'] = $plugname; $ret[$i]['class'] = $class; $ret[$i]['object'] = $test; $ret[$i]['is_configurable'] = $cfg; $ret[$i]['desc'] = $test->get_description(); $ret[$plugname] = $class; $i++; } } } } session::set("passwordMethod::get_available_methods", $ret); } return session::get("passwordMethod::get_available_methods"); } /*! * \brief Get desciption */ function get_description() { return ""; } /*! * \brief Method to let password backends remove additional information besides * the userPassword attribute */ function remove_from_parent() { } /*! * \brief Method to check if a password matches a hash */ function checkPassword($pwd, $hash) { return ($hash == $this->generate_hash($pwd)); } /*! * \brief Return true if this password method provides a configuration dialog */ function is_configurable() { return FALSE; } /*! * \brief Provide a subdialog to configure a password method */ function configure() { return ""; } /*! * \brief Save information to LDAP * * \param string $dn The DN */ function save($dn) { } /*! * \brief Try to find out if it's our hash... * * \param string $password_hash * * \param string $dn The DN */ static function get_method($password_hash, $dn = "") { $methods = passwordMethod::get_available_methods(); foreach ($methods['class'] as $class) { $method = $class::_extract_method($class, $password_hash); if ($method != "") { $test = new $class($dn); $test->set_hash($method); return $test; } } $method = new passwordMethodClear($dn); $method->set_hash('clear'); return $method; } /*! * \brief Extract a method * * \param string $password_hash */ static function _extract_method($classname, $password_hash) { $hash = $classname::get_hash_name(); if (preg_match("/^\{$hash\}/i", $password_hash)) { return $hash; } return ""; } /*! * \brief Make a hash * * \param string $password The password * * \param string $hash */ static function make_hash($password, $hash) { $methods = passwordMethod::get_available_methods(); $tmp = new $methods[$hash](); $tmp->set_hash($hash); return $tmp->generate_hash($password); } /*! * \brief Set a hash * * \param string $hash */ function set_hash($hash) { $this->hash = $hash; } /*! * \brief Get a hash */ function get_hash() { return $this->hash; } /*! * \brief Test for problematic unicode caracters in password * This can be activated with the keyword strictPasswordRules in the * fusiondirectory.conf * * \param string $password The password */ static function is_harmless($password) { global $config; if ($config->get_cfg_value("strictPasswordRules") == "TRUE") { // Do we have UTF8 characters in the password? return ($password == utf8_decode($password)); } return TRUE; } /*! * \brief Get the password proposal */ static function getPasswordProposal() { global $config; if ($config->get_cfg_value('passwordProposalHook', '') != '') { $command = $config->get_cfg_value('passwordProposalHook', ''); if (check_command($command)) { @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execute"); exec($command, $arr, $returnCode); if ($returnCode != 0) { $str = implode("\n", $arr); @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Execution failed code: ".$returnCode); $message = msgPool::cmdexecfailed($cmd, $command, get_class($plugin)); msg_dialog::display(_("Error"), $message, ERROR_DIALOG); } elseif (is_array($arr)) { $str = implode("\n", $arr); @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__, $command, "Result: ".$str); if (count($arr) && !empty($arr[0])) { return $arr[0]; } } } else { $message = msgPool::cmdinvalid($cmd, $command, get_class($plugin)); msg_dialog::display(_("Error"), $message, ERROR_DIALOG); } } return ''; } } ?> fusiondirectory-1.0.19/include/php_setup.inc000066400000000000000000000264471304016502700211720ustar00rootroot00000000000000 array(3), 'ldap_login_user' => array(1), 'change_password' => array(1), 'cred_decrypt' => array(0,1), 'LDAP/__construct' => array(1), ); if (!function_exists('debug_backtrace')) { return array ('', ''); } $trace = array_slice(debug_backtrace(), 1); $loc = ''; if (isset($trace[0]['file'])) { $loc = ' - '._('File').': '.$trace[0]['file']; if (isset($trace[0]['line'])) { $loc .= ' ('._('Line').' '.$trace[0]['line'].')'; } } $return_html = ''. ''; $return_mailto = rawurlencode('=== Trace ==='); /* Generate trace history */ for ($index = 1, $c = count($trace); $index < $c; $index++) { $ct = $trace[$index]; $loc = ''; $func = ''; if (isset($ct['class'])) { $loc .= _("class")." ".$ct['class']; $func .= $ct['class']; if (isset($ct['function'])) { $loc .= ' / '; $func .= '/'; } } if (isset($ct['function'])) { $loc .= _("function")." ".$ct['function']; $func .= $ct['function']; } if (isset($ct['type'])) { switch ($ct['type']) { case "::": $type = _("static"); break; case "->": $type = _("method"); break; } } else { $type = "-"; } $args = ""; if (isset($ct['args'])) { if (isset($hideArgs[$func])) { $hideArgsIndexes = $hideArgs[$func]; } else { $hideArgsIndexes = array(); } $f = function ($index, $arg) use(&$f, $hideArgsIndexes) { static $i = 0; if (($i == 0) && in_array($index, $hideArgsIndexes)) { return '***'; } if ($i > 4) { return '…'; } if (is_object($arg)) { return "CLASS: ".get_class($arg); } elseif (is_array($arg)) { /* Avoid converting array to string errors */ $i++; $ret = "array(".implode(',', array_map($f, array_keys($arg), $arg)).")"; $i--; return $ret; } else { if (strlen("$arg") > 512) { $arg = substr("$arg", 0, 512)."…"; } return '"'.htmlentities("$arg", ENT_COMPAT, 'UTF-8').'"'; } }; $args = implode(',', array_map($f, array_keys($ct['args']), $ct['args'])); } if (empty($args)) { $args = "-"; } if (isset($ct['file'])) { $file = $ct['file']; } else { $file = ""; } if (isset($ct['line'])) { $line = $ct['line']; } else { $line = ""; } $color = ($index & 1)?'#404040':'606060'; $return_html .= ""; $return_html .= ""; $return_html .= ""; /* Add trace part to mailto body */ $return_mailto .= rawurlencode( "\nTrace[".$index."]:".$loc. "\nFile : ".$file. "\nLine : ".$line. "\nType : ".$type. "\n ".$args. "\n"); } $return_html .= "
    '. '

    '._('PHP error').' "'.$errstr.'"'.$loc.'

    '. '
    "._("Trace")."[$index]: $loc"._("File").": $file ("._('Line')." $line)"._("Type").": $type
    "._("Arguments").": $args
    "; $return_mailto .= rawurlencode("=== /Trace ==="); return array($return_html, $return_mailto); } /*! * \brief Raise an error * * \param string $errno * * \param string $errstr The error string * * \param string $errfile The error filename * * \param string $errline The error line */ function gosaRaiseError($errno, $errstr, $errfile, $errline) { global $error_collector,$config, $error_collector_mailto; // To avoid recursion - restore original error handler. restore_error_handler(); /* Return if error reporting is set to zero */ if (error_reporting() == 0) { set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT); return; } /* Workaround for buggy imap_open error outputs */ if (preg_match('/imap_open/', $errstr)) { set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT); return; } /* Hide ldap size limit messages */ if (preg_match('/ldap_error/', $errstr)) { if (preg_match('/sizelimit/', $errstr)) { set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT); return; } } /* Error messages are hidden in FusionDirectory, so we only send them to the logging class and abort here */ if (isset($config->data) && $config->get_cfg_value('displayerrors') != 'TRUE') { /* Write to syslog */ if (class_exists('logging') && !preg_match('/No such object/', $errstr)) { logging::log('view', 'error', '', array(), "PHP error: $errstr ($errfile, line $errline)"); } set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT); return; } /* Send all errors to logging class, except "Ldap : No such object" messages*/ if (class_exists('logging') && !preg_match('/No such object/', $errstr)) { logging::log('debug', 'all', $errfile, array(), 'Type:'.$errno.', Message:'.$errstr.', File:'.$errfile.', Line: '.$errline); } /* Create header as needed */ if ($error_collector == "") { /* Mailto body header */ $version = FD_VERSION; $error_collector_mailto .= rawurlencode( "Oups. Seems like you've catched some kind of bug inside FusionDirectory/PHP. You may want to help ". "us to improve the software stability. If so, please provide some more information below.". "\n\n". "*** FusionDirectory bug report ***". "\nFusionDirectory Version: $version". "\n\n". "Please describe what you did to produce this error as detailed as possible. Can you ". "reproduce this bug using the demo on http://demo.FusionDirectory.org ?". "\n\n". "*** PHP error information ***\n\n"); $error_collector = '
      '. _("Generating this page caused the PHP interpreter to raise some errors!").' '.( '._("Send bugreport").'
    "; flush(); exit; } } /*! * \brief Dummy error handler */ function dummy_error_handler() { } /*! \brief Returns TRUE if SSL was used to contact FD, whether directly or through a proxy */ function sslOn() { if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { return (strcasecmp($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') == 0); } if (isset($_SERVER['HTTPS'])) { return (strcasecmp($_SERVER['HTTPS'], 'on') == 0); } return FALSE; } /*! \brief Returns SSL URL to redirect to */ function sslUrl() { $ssl = 'https://'; if (empty($_SERVER['HTTP_X_FORWARDED_HOST'])) { $ssl .= $_SERVER['HTTP_HOST']; } else { $ssl .= $_SERVER['HTTP_X_FORWARDED_HOST']; } if (empty($_SERVER['REQUEST_URI'])) { $ssl .= $_SERVER['PATH_INFO']; } else { $ssl .= $_SERVER['REQUEST_URI']; } return $ssl; } /* Bail out for incompatible/old PHP versions */ if (!version_compare(phpversion(), PHP_MIN_VERSION, ">=")) { echo "PHP version needs to be ".PHP_MIN_VERSION." or above to run FusionDirectory. Aborted."; exit(); } /* Set timezone */ date_default_timezone_set("GMT"); /* Get base dir for reference */ $BASE_DIR = dirname(dirname(__FILE__)); $ROOT_DIR = $BASE_DIR."/html"; error_reporting (E_ALL | E_STRICT); /* Register error handler */ $error_collector = ""; $error_collector_mailto = ""; set_error_handler('gosaRaiseError', E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE | E_STRICT); $variables_order = "ES"; ini_set("track_vars", 1); ini_set("display_errors", 1); ini_set("report_memleaks", 1); ini_set("include_path", ".:$BASE_DIR/include:".PHP_DIR.":".PEAR_DIR); /* Do smarty setup */ require(SMARTY); $smarty = new Smarty; $smarty->template_dir = $BASE_DIR.'/ihtml/'; $smarty->caching = FALSE; $smarty->assign('css_files', array()); $smarty->assign('js_files', array()); $smarty->php_handling = Smarty::PHP_REMOVE; /* Check for SSL connection */ $ssl = ''; if (!sslOn()) { $ssl = sslUrl(); } ?> fusiondirectory-1.0.19/include/select/000077500000000000000000000000001304016502700177325ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/class_filterLDAPBlacklist.inc000066400000000000000000000045311304016502700253740ustar00rootroot00000000000000 $entry) { $dn1 = $entry['dn']; $dn2 = $wlist['dn']; if (in_array($entry['dn'], $wlist['dn'])) { continue; } foreach ($wlist['branches'] as $branch) { if (preg_match('/'.preg_quote($branch, '/').'$/', $entry['dn'])) { continue 2; } } unset($entries[$id]); } } } if (session::is_set('filterBlacklist')) { $blist = session::get('filterBlacklist'); foreach ($blist as $attr_name => $attr_values) { foreach ($attr_values as $match) { foreach ($entries as $id => $entry) { if (isset($entry[$attr_name])) { $test = $entry[$attr_name]; if (!is_array($test)) { $test = array($test); } if (in_array($match, $test)) { unset($entries[$id]); } } } } } } return array_values($entries); } } ?> fusiondirectory-1.0.19/include/select/groupSelect/000077500000000000000000000000001304016502700222265ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/groupSelect/class_groupSelect.inc000066400000000000000000000021351304016502700264030ustar00rootroot00000000000000filterXMLPath = get_template_path('group-filter.xml', TRUE, dirname(__FILE__)); parent::__construct(); } } ?> fusiondirectory-1.0.19/include/select/groupSelect/group-filter.tpl000066400000000000000000000007421304016502700253710ustar00rootroot00000000000000

    {t}Filter{/t}

    {$PRIMARY} 
    {$SAMBA} 
    {$MAIL} 

    {$SCOPE}
    {$NAME}
    {$APPLY}
    fusiondirectory-1.0.19/include/select/groupSelect/group-filter.xml000066400000000000000000000031141304016502700253660ustar00rootroot00000000000000 group true LDAPBlacklist (&(objectClass=posixGroup)$NAME(|$PRIMARY$MAIL$SAMBA)) dn objectClass cn description auto checkbox PRIMARY true (objectClass=posixGroup) checkbox MAIL true (objectClass=gosaMailAccount) checkbox SAMBA true (objectClass=sambaGroupMapping) textfield NAME 20 60 (|(cn=*$*)(description=*$*)) true LDAPBlacklist (&(objectClass=posixGroup)(|(cn=*$NAME*)(description=*$NAME*))) cn description 0.5 3 fusiondirectory-1.0.19/include/select/objectSelect/000077500000000000000000000000001304016502700223405ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/objectSelect/class_objectSelect.inc000066400000000000000000000022211304016502700266230ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/select/systemSelect/000077500000000000000000000000001304016502700224165ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/systemSelect/class_systemSelect.inc000066400000000000000000000020321304016502700267570ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/select/userGroupSelect/000077500000000000000000000000001304016502700230655ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/userGroupSelect/class_userGroupSelect.inc000066400000000000000000000021511304016502700300770ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/select/userSelect/000077500000000000000000000000001304016502700220505ustar00rootroot00000000000000fusiondirectory-1.0.19/include/select/userSelect/class_userSelect.inc000066400000000000000000000030441304016502700260470ustar00rootroot00000000000000 _('Login'), 'sortAttribute' => 'uid', 'sortType' => 'string', 'value' => '%{filter:selectLink(pid,row,dn,uid)}', 'export' => 'true', ), ); array_splice($data['list']['table']['column'], 2, 0, $columns); return $data; } } class singleUserSelect extends userSelect { protected $multiSelect = FALSE; } ?> fusiondirectory-1.0.19/include/simpleplugin/000077500000000000000000000000001304016502700211635ustar00rootroot00000000000000fusiondirectory-1.0.19/include/simpleplugin/attributes/000077500000000000000000000000001304016502700233515ustar00rootroot00000000000000fusiondirectory-1.0.19/include/simpleplugin/attributes/class_BaseSelectorAttribute.inc000066400000000000000000000123751304016502700315000ustar00rootroot00000000000000setInLdap(FALSE); $this->ou = $ou; } function setManagedAttributes ($dontcare) { trigger_error('method setManagedAttributes is not supported for BaseSelectorAttribute'); } function setParent (&$plugin) { parent::setParent($plugin); if (is_object($this->plugin)) { /* Do base conversation */ if ($this->plugin->is_template) { $this->ou = 'ou=templates,'.$this->ou; } if ($this->plugin->dn == "new") { $ui = get_userinfo(); $this->setValue(dn2base(session::global_is_set("CurrentMainBase")?"cn=dummy,".session::global_get("CurrentMainBase"):$ui->dn)); } else { $this->setValue(dn2base($this->plugin->dn, $this->ou)); } $this->orig_dn = $this->plugin->dn; /* Instanciate base selector */ $this->initialValue = $this->value; $this->baseSelector = new baseSelector($this->plugin->get_allowed_bases(), $this->value); $this->baseSelector->setSubmitButton(FALSE); $this->baseSelector->setHeight(300); $this->baseSelector->update(TRUE); } } function loadPostValue () { } function applyPostValue () { if (!$this->disabled && $this->isVisible()) { /* Refresh base */ if ($this->plugin->acl_is_moveable($this->value) || ($this->plugin->dn == 'new')) { if (!$this->baseSelector->update()) { if ($this->plugin->dn == 'new') { msg_dialog::display(_('Error'), msgPool::permCreate(), ERROR_DIALOG); } else { msg_dialog::display(_('Error'), msgPool::permMove($this->plugin->dn), ERROR_DIALOG); } } if ($this->value != $this->baseSelector->getBase()) { $this->setValue($this->baseSelector->getBase()); $this->plugin->is_modified = TRUE; } } } } function check () { $error = parent::check(); if (!empty($error)) { return $error; } else { /* Check if we are allowed to create/move this user */ if (($this->orig_dn == 'new') && !$this->plugin->acl_is_createable($this->value)) { return msgPool::permCreate(); } elseif ( ($this->orig_dn != 'new') && ($this->plugin->dn != $this->orig_dn) && !$this->plugin->acl_is_moveable($this->value)) { return msgPool::permMove($this->plugin->dn); } // Check if a wrong base was supplied if (!$this->baseSelector->checkLastBaseUpdate()) { return msgPool::check_base(); } } } function setValue ($value) { parent::setValue($value); if (is_object($this->plugin)) { /* Set the new acl base */ if ($this->plugin->dn == 'new') { $this->plugin->set_acl_base($this->value); $this->plugin->parent->set_acl_base(); } if (($this->baseSelector !== NULL) && ($this->baseSelector->getBase() !== $this->value)) { $this->baseSelector->setBase($this->value); } } } function getValue () { return $this->value; } function renderFormInput () { $smarty = get_smarty(); $smarty->assign('usePrototype', 'true'); if ($this->disabled) { $display = $this->renderInputField( 'text', '', array( 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' ) ); } else { $display = '{literal}'.$this->baseSelector->render().'{/literal}'; } return $this->renderAcl($display); } function getHtmlId() { if (isset($this->baseSelector)) { return $this->baseSelector->getInputHtmlId(); } else { return ''; } } function serializeAttribute(&$attributes, $form = TRUE) { if (!$form || $this->visible) { parent::serializeAttribute($attributes, $form); $attributes[$this->getLdapName()]['choices'] = $this->baseSelector->getBases(); } } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_BooleanAttribute.inc000066400000000000000000000135331304016502700305010ustar00rootroot00000000000000trueValue = $trueValue; $this->falseValue = $falseValue; } function inputValue ($value) { return ($value == $this->trueValue); } function loadPostValue () { if ($this->isVisible()) { $this->setPostValue(isset($_POST[$this->getHtmlId()])); } } function computeLdapValue () { return ($this->value?$this->trueValue:$this->falseValue); } function renderFormInput () { $id = $this->getHtmlId(); $attributes = ($this->value?array('checked' => 'checked'): array()); if ($this->submitForm) { $js = 'document.mainform.submit();'; $attributes['onChange'] = 'javascript:'.htmlentities($js, ENT_COMPAT, 'UTF-8'); } elseif (!empty($this->managedAttributes)) { $js = $this->managedAttributesJS(); $attributes['onChange'] = 'javascript:'.htmlentities($js, ENT_COMPAT, 'UTF-8'); } $display = $this->renderInputField('checkbox', $id, $attributes); return $this->renderAcl($display); } protected function managedAttributesJS () { $js = ''; $id = $this->getHtmlId(); foreach ($this->managedAttributes as $array) { foreach ($array as $value => $attributes) { if (isset($this->managedAttributesMultipleValues[$value])) { trigger_error('Multiple values are not available for boolean attributes'); } else { $js .= 'disableAttributes = (document.getElementById('.json_encode($id).').checked == '.($value?'true':'false').');'."\n"; } foreach ($attributes as $attribute) { foreach ($this->plugin->attributesAccess[$attribute]->htmlIds() as $htmlId) { $js .= 'if (document.getElementById('.json_encode($htmlId).')) { document.getElementById('.json_encode($htmlId).').disabled = disableAttributes; }'."\n"; } } } } return $js; } } /*! \brief This class allow to handle easily a Boolean LDAP attribute that triggers a set of objectclasses * */ class ObjectClassBooleanAttribute extends BooleanAttribute { private $objectclasses; /*! \brief The constructor of ObjectClassBooleanAttribute * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param mixed $objectclasses objectClass or array of objectClasses that this boolean should add/remove depending on its state * \param mixed $defaultValue The default value for this attribute * \param string $acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($label, $description, $ldapName, $required, $objectclasses, $defaultValue = FALSE, $acl = "") { if (is_array($objectclasses)) { $this->objectclasses = $objectclasses; } else { $this->objectclasses = array($objectclasses); } parent::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->setInLdap(FALSE); } function loadValue ($attrs) { if (isset($attrs['objectClass'])) { $missing_oc = array_udiff($this->objectclasses, $attrs['objectClass'], 'strcasecmp'); $this->setValue(empty($missing_oc)); } else { $this->resetToDefault(); } $this->initialValue = $this->value; } function fillLdapValue (&$attrs) { if ($this->getValue()) { $attrs['objectClass'] = array_merge_unique($this->objectclasses, $attrs['objectClass']); } else { $attrs['objectClass'] = array_remove_entries($this->objectclasses, $attrs['objectClass']); } } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_CompositeAttribute.inc000066400000000000000000000204231304016502700310600ustar00rootroot00000000000000readFormat = $readFormat; $this->writeFormat = $writeFormat; $this->setAttributes($attributes); } function setAttributes ($attributes) { $this->attributes = $attributes; foreach ($this->attributes as &$attribute) { $attribute->setAcl($this->getAcl()); } unset($attribute); } function setAcl ($acl) { parent::setAcl($acl); foreach ($this->attributes as &$attribute) { $attribute->setAcl($this->getAcl()); } unset($attribute); } function setParent (&$plugin) { parent::setParent($plugin); foreach ($this->attributes as &$attribute) { $attribute->setParent($plugin); } unset($attribute); } function setManagedAttributes ($dontcare) { trigger_error('method setManagedAttributes is not supported for CompositeAttribute'); } function setLinearRendering ($bool) { $this->linearRendering = $bool; } function readValues($value) { $res = preg_match($this->readFormat, $value, $m); if ($res === 1) { $m = array_slice($m, 1); $values = array(); foreach (array_keys($this->attributes) as $name) { if (isset($m[$name])) { $values[] = $m[$name]; } else { $values[] = ''; } } return $values; } elseif ($res === FALSE) { trigger_error('Error in preg_match : '.preg_last_error()); } elseif ($value !== "") { /* If an empty value does not match, we don't trigger an error */ trigger_error('String passed "'.$value.'"to Composite did not match format "'.$this->readFormat.'"'); } return array_fill(0, count($this->attributes), ''); } function writeValues($values) { if ($this->writeFormat === FALSE) { return $values; } else { return vsprintf($this->writeFormat, $values); } } function resetToDefault () { foreach ($this->attributes as &$attribute) { $attribute->resetToDefault(); } unset($attribute); } function inputValue ($value) { $values = $this->readValues($value); $i = 0; foreach ($this->attributes as &$attribute) { $values[$i] = $attribute->inputValue($values[$i]); $i++; } unset($attribute); return $values; } function loadPostValue () { foreach ($this->attributes as &$attribute) { $attribute->loadPostValue(); } unset($attribute); } function applyPostValue () { foreach ($this->attributes as &$attribute) { $attribute->applyPostValue(); } unset($attribute); } function setValue ($values) { if (!is_array($values)) { $values = $this->inputValue($values); } reset($values); foreach ($this->attributes as &$attribute) { $attribute->setValue(current($values)); next($values); } unset($attribute); reset($values); } /* We always return the LDAP value as the composite attribute has nothing else */ function getValue () { $values = array_map( function ($a) { return $a->computeLdapValue(); }, $this->attributes ); return $this->writeValues($values); } function getArrayValue () { $values = array_map( function ($a) { return $a->displayValue($a->getValue()); }, $this->attributes ); return $values; } function check () { $error = parent::check(); if (!empty($error)) { return $error; } foreach ($this->attributes as &$attribute) { $error = $attribute->check(); if (!empty($error)) { return $error; } } unset($attribute); } function renderAttribute(&$attributes, $readOnly) { if ($this->visible) { if ($this->linearRendering) { parent::renderAttribute($attributes, $readOnly); } else { foreach ($this->attributes as &$attribute) { $attribute->setDisabled($this->disabled); $attribute->renderAttribute($attributes, $readOnly); } unset($attribute); } } } function getForHtmlId() { // Label (if any) should point to the first attribute if (isset($this->attributes[0])) { return $this->attributes[0]->getForHtmlId(); } else { return ''; } } function serializeAttribute(&$attributes, $form = TRUE) { if ($form) { if ($this->visible) { foreach ($this->attributes as &$attribute) { $attribute->setDisabled($this->disabled); $attribute->serializeAttribute($attributes, $form); } unset($attribute); } } else { parent::serializeAttribute($attributes, $form); $subattributes = array(); foreach ($this->attributes as &$attribute) { $attribute->setDisabled($this->disabled); $attribute->serializeAttribute($subattributes, $form); } unset($attribute); $attributes[$this->getLdapName()]['attributes'] = $subattributes; $attributes[$this->getLdapName()]['attributes_order'] = array_keys($subattributes); } } function deserializeValue($values) { if ($this->visible) { foreach ($this->attributes as &$attribute) { $attribute->setDisabled($this->disabled); $attribute->deserializeValue($values); } unset($attribute); } } function renderFormInput() { $display = ""; foreach ($this->attributes as &$attribute) { $attribute->setDisabled($this->disabled); if ($attribute->isVisible()) { $display .= ''." ".$attribute->renderFormInput()." "; } } unset($attribute); return $display; } public function htmlIds() { $ret = array(); foreach ($this->attributes as &$attribute) { $ret = array_merge($ret, $attribute->htmlIds()); } unset($attribute); return $ret; } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_DateAttribute.inc000066400000000000000000000134711304016502700300000ustar00rootroot00000000000000format = $format; } function inputValue ($value) { if ($value === "" && !$this->isRequired()) { return $value; } elseif (is_object($this->plugin) && $this->plugin->is_template && preg_match('/%/', $value)) { return $value; } else { return $this->ldapToDate($value); } } function getValue () { if ($this->value === "" && !$this->isRequired()) { return $this->value; } else { try { return $this->getDateValue()->format('d.m.Y'); } catch (Exception $e) { if (is_object($this->plugin) && $this->plugin->is_template && preg_match('/%/', $this->value)) { return $this->value; } else { return ''; } } } } protected function ldapToDate($ldapValue) { $date = DateTime::createFromFormat($this->format, $ldapValue, new DateTimeZone('UTC')); if ($date !== FALSE) { return $date; } else { trigger_error('LDAP value for '.$this->getLdapName().' was not in the right date format.'); return new DateTime($ldapValue, new DateTimeZone('UTC')); } } protected function dateToLdap($dateValue) { return $dateValue->format($this->format); } function getDateValue() { $value = $this->value; if (!($value instanceof DateTime)) { $value = new DateTime($value, new DateTimeZone('UTC')); } return $value; } function computeLdapValue () { if ($this->value === "" && !$this->isRequired()) { return $this->value; } elseif (!($this->value instanceof DateTime)) { try { $this->setValue($this->getDateValue()); } catch (Exception $e) { if (is_object($this->plugin) && $this->plugin->is_template && preg_match('/%/', $this->value)) { return $this->value; } else { throw $e; } } } return $this->dateToLdap($this->value); } function check () { $error = parent::check(); if (!empty($error)) { return $error; } else { if ($this->value instanceof DateTime) { return; } else { try { $this->getDateValue(); } catch (Exception $e) { if (is_object($this->plugin) && $this->plugin->is_template && preg_match('/%/', $this->value)) { return; } else { return sprintf(_('Error, incorrect date: %s'), $e->getMessage()); } } } } } function renderFormInput () { $smarty = get_smarty(); $smarty->assign('usePrototype', 'true'); $id = $this->getHtmlId(); $display = $this->renderInputField( 'text', $id, array( 'value' => '{literal}'.$this->getValue().'{/literal}', 'class' => 'date' ) ); $display .= '{if $'.$this->getAcl().'ACL|regex_replace:"/[cdmr]/":"" == "w"}'. ' {/if}'; return $this->renderAcl($display); } } class GeneralizedTimeDateAttribute extends DateAttribute { function __construct ($label, $description, $ldapName, $required, $defaultValue = 'now', $acl = "") { parent::__construct($label, $description, $ldapName, $required, '', $defaultValue, $acl); } protected function ldapToDate($ldapValue) { try { return LdapGeneralizedTime::fromString($ldapValue); } catch (LdapGeneralizedTimeBadFormatException $e) { trigger_error('LDAP value "'.$ldapValue.'" for '.$this->getLdapName().' is not in the right date format.'); return new DateTime($ldapValue, timezone::utc()); } } protected function dateToLdap($dateValue) { return LdapGeneralizedTime::toString($dateValue); } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_FileAttribute.inc000066400000000000000000000250551304016502700300030ustar00rootroot00000000000000postValue = $this->value; if (!empty($_FILES[$this->getHtmlId()]['name']) && $this->isVisible()) { if ($_FILES[$this->getHtmlId()]['size'] <= 0) { msg_dialog::display(_("Error"), sprintf(_("Cannot read uploaded file: %s"), _("file is empty")), ERROR_DIALOG); } elseif (!file_exists($_FILES[$this->getHtmlId()]['tmp_name'])) { // Is there a tmp file, which we can use ? msg_dialog::display(_("Error"), sprintf(_("Cannot read uploaded file: %s"), _("file not found")), ERROR_DIALOG); } elseif (!$handle = @fopen($_FILES[$this->getHtmlId()]['tmp_name'], "r")) { // Can we open the tmp file, for reading msg_dialog::display(_("Error"), sprintf(_("Cannot read uploaded file: %s"), _("file not readable")), ERROR_DIALOG); } else { // Everything just fine :) // Reading content $this->readFile($handle); } /* so that we only handle the file once */ $_FILES[$this->getHtmlId()]['name'] = ""; } } /*! \brief This function read the file from the given handle and then closes it * * \param filehandle $handle The handle on the opened uploaded file */ function readFile($handle) { $postValue = fread($handle, 1024); while (!feof($handle)) { $postValue .= fread($handle, 1024); } $this->setPostValue($postValue); @fclose($handle); } function renderFormInput () { $id = $this->getHtmlId(); $display = $this->renderInputField('file', $id); return $this->renderAcl($display); } function displayValue($value) { return sprintf(_('%s (%d bytes)'), $this->getLabel(), mb_strlen($value, '8bit')); } } /* FileAttribue with download button */ class FileDownloadAttribute extends FileAttribute { protected $extension; protected $upload; function __construct ($label, $description, $ldapName, $required = FALSE, $extension = '', $upload = FALSE, $defaultValue = "", $acl = "") { parent::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->extension = $extension; $this->upload = $upload; } function computeFilename() { return $this->getLdapName().$this->extension; } function loadPostValue () { if ($this->isVisible()) { $this->postValue = $this->value; foreach (array_keys($_POST) as $name) { if (preg_match('/^download'.$this->getHtmlId().'/', $name)) { session::set('binary', $this->value); session::set('binarytype', 'octet-stream'); session::set('binaryfile', $this->computeFilename()); header('location: getbin.php'); exit(); } } if ($this->upload && isset($_POST['upload'.$this->getHtmlId()])) { parent::loadPostValue(); } } } function renderFormInput () { $id = $this->getHtmlId(); $display = ''; if ($this->upload) { $display .= $this->renderInputField('file', $id); $display .= $this->renderInputField('submit', 'upload'.$id, array('value' => _('Upload'))); } $display .= $this->renderInputField( 'image', 'download'.$id, array( 'title' => _('Download'), 'alt' => _('Download'), 'class' => 'center', 'src' => 'geticon.php?context=actions&icon=document-save&size=16', ) ); return $this->renderAcl($display); } public function htmlIds() { $id = $this->getHtmlId(); $ids = array('download'.$id); if ($this->upload) { $ids[] = $id; $ids[] = 'upload'.$id; } return $ids; } function renderAttribute(&$attributes, $readOnly) { if ($this->upload == FALSE) { parent::renderAttribute($attributes, FALSE); } else { parent::renderAttribute($attributes, $readOnly); } } } class FileTextAreaAttribute extends FileDownloadAttribute { function __construct ($label, $description, $ldapName, $required = FALSE, $extension = '.txt', $upload = TRUE, $defaultValue = "", $acl = "") { parent::__construct( $label, $description, $ldapName, $required, $extension, $upload, $defaultValue, $acl ); } /*! \brief Update this attributes postValue depending of the $_POST values */ function loadPostValue () { if ($this->isVisible()) { $this->postValue = $this->value; foreach (array_keys($_POST) as $name) { if (preg_match('/^download'.$this->getHtmlId().'/', $name)) { session::set('binary', $this->value); session::set('binarytype', 'octet-stream'); session::set('binaryfile', $this->computeFilename()); header('location: getbin.php'); exit(); } } if ($this->upload) { if (isset($_POST['upload'.$this->getHtmlId()])) { parent::loadPostValue(); } else { $id = $this->getHtmlId().'_text'; if (isset($_POST[$id])) { $this->setPostValue($_POST[$id]); } } } } } function renderFormInput () { $id = $this->getHtmlId(); $display = '
    '; return $this->renderAcl($display).parent::renderFormInput(); } function fixPostValue ($value) { /* Replace CRLF by LF, to avoid non-ASCII chars */ return str_replace(array("\r\n", "\r"), "\n", $value); } public function htmlIds() { $ids = parent::htmlIds(); $ids[] = $id.'_text'; return $ids; } } class ImageAttribute extends FileAttribute { protected $width; protected $height; protected $format; protected $forceSize; protected $placeholder; function __construct ($label, $description, $ldapName, $required = FALSE, $width = 48, $height = 48, $format = 'png', $forceSize = FALSE, $defaultValue = "", $acl = "") { parent::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->width = $width; $this->height = $height; $this->format = $format; $this->forceSize = $forceSize; } function setPlaceholder($placeholder) { $this->placeholder = $placeholder; } /*! \brief Update this attributes postValue depending of the $_POST values */ function loadPostValue () { $this->postValue = $this->value; $id = $this->getHtmlId(); if (!$this->disabled && $this->isVisible()) { foreach (array_keys($_POST) as $name) { if (!$this->isRequired()) { if (preg_match('/^'.$id.'_remove_/', $name)) { $this->setPostValue(''); break; } } if (preg_match('/^'.$id.'_upload_/', $name)) { parent::loadPostValue(); break; } } } } function setValue ($value) { if ($value == "") { $this->value = ""; return; } if (class_exists('Imagick')) { $im = new Imagick(); $modify = FALSE; $im->readImageBlob($value); $size = $im->getImageGeometry(); if ( ($size['width'] > 0 && $size['height'] > 0) && ( ($size['width'] < $this->width && $size['height'] < $this->height) || ($size['width'] > $this->width) || ($size['height'] > $this->height) ) ) { $modify = TRUE; $im->resizeImage($this->width, $this->height, Imagick::FILTER_GAUSSIAN, 1, !$this->forceSize); } if ($modify || !preg_match('/^'.$this->format.'$/i', $im->getImageFormat())) { if ($this->format == 'jpeg') { $im->setImageCompression(Imagick::COMPRESSION_JPEG); $im->setImageCompressionQuality(90); } $im->setImageFormat($this->format); /* Save attribute */ $this->value = $im->getImageBlob(); } else { $this->value = $value; } } else { msg_dialog::display( _('Error'), _('Cannot save user picture, FusionDirectory requires the PHP module "imagick" to be installed!'), ERROR_DIALOG ); } } function renderFormInput () { $this->setValue($this->inputValue($this->getValue())); $id = $this->getHtmlId(); /* Just to be sure the image is not cached */ srand((double)microtime() * 1000000); $display = 'disabled? 'disabled="disabled"':''). ' src="getbin.php?rand='.rand(0, 10000).'"'. ' style="border:1px solid black;"'. ' alt="'.$this->getDescription().'"'. ' title="'.$this->getDescription().'"'. ' />
    '; $display .= $this->renderInputField('file', $id); $display .= $this->renderInputField( 'image', $id.'_upload', array( 'class' => 'center', 'src' => 'geticon.php?context=actions&icon=upload&size=16', 'title' => _('Upload'), 'alt' => _('Upload') ) ); if (!$this->isRequired()) { $display .= $this->renderInputField( 'image', $id.'_remove', array( 'class' => 'center', 'src' => 'geticon.php?context=actions&icon=remove&size=16', 'title' => _('Remove'), 'alt' => _('Remove') ) ); } if (($this->getValue() == '') && ($this->placeholder != '')) { session::set('binary', $this->placeholder); } else { session::set('binary', $this->getValue()); } session::set('binarytype', 'image/'.$this->format); return $this->renderAcl($display); } public function htmlIds() { $id = $this->getHtmlId(); return array($id.'_img',$id,'upload'.$id); } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_FlagsAttribute.inc000066400000000000000000000045541304016502700301610ustar00rootroot00000000000000setVisible(FALSE); $this->flags = $flags; } function setParent (&$plugin) { parent::setParent($plugin); if (is_object($this->plugin)) { foreach ($this->flags as $attr) { $this->plugin->attributesAccess[$attr]->setInLdap(FALSE); } } } function setValue ($value) { parent::setValue($value); if (is_object($this->plugin)) { foreach ($this->flags as $attr) { $trueValue = $this->plugin->attributesAccess[$attr]->trueValue; $this->plugin->attributesAccess[$attr]->setValue(preg_match("/$trueValue/", $this->value)); } } } function getValue() { $value = '['; if (is_object($this->plugin)) { foreach ($this->flags as $attr) { $value .= $this->plugin->attributesAccess[$attr]->computeLdapValue(); } } $value .= ']'; return $value; } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_IntAttribute.inc000066400000000000000000000142331304016502700276520ustar00rootroot00000000000000min = ($min === FALSE ? FALSE : $this->inputValue($min)); $this->max = ($max === FALSE ? FALSE : $this->inputValue($max)); $this->example = ""; if (($min !== FALSE) && ($max !== FALSE)) { $this->example = sprintf(_("An integer between %d and %d"), $min, $max); } elseif ($min !== FALSE) { $this->example = sprintf(_("An integer larger than %d"), $min); } elseif ($max !== FALSE) { $this->example = sprintf(_("An integer smaller than %d"), $max); } } function setStep ($step) { $this->step = $step; } function inputValue ($value) { if (!$this->isRequired() && empty($value) && !is_numeric($value)) { // value is "" or array() return ""; } if (is_object($this->plugin) && $this->plugin->is_template) { return $value; } else { return intval($value); } } function check () { $error = parent::check(); if (!empty($error)) { return $error; } else { if (!is_numeric($this->value) && (!empty($this->value) || $this->isRequired())) { return msgPool::invalid($this->getLabel(), $this->value, "/./", $this->example); } if ((($this->min !== FALSE) && ($this->value < $this->min)) || (($this->max !== FALSE) && ($this->value > $this->max))) { return msgPool::invalid($this->getLabel(), $this->value, "/./", $this->example); } } } function renderFormInput () { $id = $this->getHtmlId(); $attributes = array( 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' ); if ($this->min !== FALSE) { $attributes['min'] = $this->min; } if ($this->max !== FALSE) { $attributes['max'] = $this->max; } if ($this->step !== FALSE) { $attributes['step'] = $this->step; } if (!empty($this->managedAttributes)) { $js = $this->managedAttributesJS(); $attributes['onChange'] = 'javascript:'.htmlentities($js, ENT_COMPAT, 'UTF-8'); } $display = $this->renderInputField('number', $id, $attributes); return $this->renderAcl($display); } function renderTemplateInput () { $id = $this->getHtmlId(); $display = $this->renderInputField( 'text', $id, array( 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' ) ); return $this->renderAcl($display); } } /*! \brief This class allow to handle easily an Float LDAP attribute * */ class FloatAttribute extends IntAttribute { /*! \brief The constructor of FloatAttribute * * By default a FloatAttribute will have a step of 0.1, use setStep in order to change it. * You can use setStep(FALSE) to disable it. * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param float $min The minimum value it can take * \param float $max The maximum value it can take * \param mixed $defaultValue The default value for this attribute * \param string $acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($label, $description, $ldapName, $required, $min, $max, $defaultValue = 0.0, $acl = "") { parent::__construct($label, $description, $ldapName, $required, $min, $max, $defaultValue, $acl); $this->step = 0.01; $this->example = ""; if (($min !== FALSE) && ($max !== FALSE)) { $this->example = sprintf(_("A float between %f and %f"), $min, $max); } elseif ($min !== FALSE) { $this->example = sprintf(_("A float larger than %f"), $min); } elseif ($max !== FALSE) { $this->example = sprintf(_("A float smaller than %f"), $max); } } function inputValue ($value) { if (!$this->isRequired() && empty($value) && !is_numeric($value)) { // value is "" or array() return ""; } if (is_object($this->plugin) && $this->plugin->is_template) { return $value; } else { return floatval($value); } } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_SelectAttribute.inc000066400000000000000000000167601304016502700303460ustar00rootroot00000000000000setChoices($choices, $outputs); } /*! \brief Set the options of the select attribute * * \param array $choices The choices this select should offer * \param array $outputs The labels corresponding to the choices, leave to NULL if you want to display the choices themselves */ function setChoices ($choices, $outputs = NULL) { $this->outputs = NULL; if (!$this->isRequired() && !in_array('', $choices, TRUE)) { array_unshift($choices, ''); if (is_array($outputs)) { array_unshift($outputs, _('None')); } } $this->choices = $choices; if (!in_array($this->defaultValue, $this->choices, TRUE) && isset($this->choices[0])) { $this->defaultValue = $this->choices[0]; } if (is_array($outputs)) { $this->setDisplayChoices($outputs); } if (!in_array($this->value, $this->choices)) { $this->resetToDefault(); } } /*! \brief Set the display options of the select attribute * * \param array $outputs The labels corresponding to the choices, in the same order as the choices */ function setDisplayChoices ($values) { $this->outputs = array(); $i = 0; foreach ($this->choices as $choice) { $this->outputs[$choice] = $values[$i++]; } } /*! \brief Get the choices */ function getChoices () { return $this->choices; } function setRequired ($bool) { parent::setRequired($bool); $key = array_search("", $this->choices, TRUE); if ($this->isRequired() && ($key !== FALSE)) { unset($this->choices[$key]); unset($this->outputs[""]); } elseif (!$this->isRequired() && !in_array("", $this->choices, TRUE)) { $this->choices[] = ""; if (!isset($this->output[""])) { $this->output[""] = _("None"); } } } function displayValue ($value) { if ($this->outputs !== NULL) { if (isset($this->outputs[$value])) { return $this->outputs[$value]; } else { trigger_error("No display value set for '$value' in ".$this->getLabel()); return $value; } } else { return $value; } } function check () { $error = parent::check(); if (!empty($error)) { return $error; } else { if (!$this->disabled && !in_array($this->value, $this->choices)) { return sprintf(_('The value "%s" for field "%s" is not in the list of possible choices'), $this->value, $this->getLabel()); } } } function renderFormInput () { $smarty = get_smarty(); $id = $this->getHtmlId(); $smarty->assign($id."_choices", $this->choices); if ($this->outputs !== NULL) { $outputs = array_values($this->outputs); } else { $outputs = $this->choices; } $key = array_search('', $outputs, TRUE); if ($key !== FALSE) { $outputs[$key] = ' '; } $smarty->assign($id."_outputs", $outputs); $smarty->assign($id."_selected", $this->getValue()); $display = ''; return $this->renderAcl($display); } function serializeAttribute(&$attributes, $form = TRUE) { if (!$form || $this->visible) { parent::serializeAttribute($attributes, $form); if ($this->outputs !== NULL) { $outputs = array_values($this->outputs); } else { $outputs = $this->choices; } $attributes[$this->getLdapName()]['choices'] = array_combine($this->choices, $outputs); } } /*! \brief Set the size of the HTML input tag, useful to display several options on the screen instead of just one */ function setSize($size) { $this->size = $size; } } /*! \brief This class allows to handle a select attribute which allow to choose an object * */ class ObjectSelectAttribute extends SelectAttribute { protected $objectType; protected $objectAttrs = NULL; protected $objectFilter = ''; function __construct ($label, $description, $ldapName, $required, $objectType, $objectAttrs = NULL, $objectFilter = '', $acl = "") { parent::__construct($label, $description, $ldapName, $required, array(), "", NULL, $acl); $this->objectType = $objectType; $this->objectAttrs = $objectAttrs; $this->objectFilter = $objectFilter; } function setParent (&$plugin) { parent::setParent($plugin); if (is_object($this->plugin)) { $this->updateChoices(); } } function updateChoices() { $objects = objects::ls($this->objectType, $this->objectAttrs, NULL, $this->objectFilter); $this->setChoices(array_keys($objects), array_values($objects)); } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_SetAttribute.inc000066400000000000000000000507401304016502700276560ustar00rootroot00000000000000getLabel(), $attribute->getDescription(), $attribute->getLdapName(), $attribute->isRequired(), $values ); $this->attribute = $attribute; $this->attribute->setRequired(TRUE); $this->valueUnicity = $valueUnicity; } function setManagedAttributes ($dontcare) { trigger_error('method setManagedAttributes is not supported for SetAttributes'); } function setLinearRendering ($bool) { $this->linearRendering = $bool; } protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()]["count"])) { $this->value = array(); for ($i = 0; $i < $attrs[$this->getLdapName()]["count"]; $i++) { $this->value[] = $attrs[$this->getLdapName()][$i]; } } else { $this->resetToDefault(); } } function getAcl () { if ($this->attribute === FALSE) { return parent::getAcl(); } return $this->attribute->getAcl(); } function setAcl ($acl) { if ($this->attribute === FALSE) { return parent::setAcl($acl); } $this->attribute->setAcl($acl); } function addPostValue ($value) { if ($value === '') { return FALSE; } if ($this->valueUnicity && in_array($value, $this->postValue, TRUE)) { return FALSE; } $this->postValue[] = $value; return TRUE; } function delPostValue ($key) { unset($this->postValue[$key]); } function loadPostValue () { $this->editingValue = FALSE; $id = $this->getHtmlId(); if ($this->isVisible()) { $this->postValue = $this->value; if (isset($_POST["add".$id])) { if ($this->attribute !== FALSE) { $this->attribute->loadPostValue(); $this->attribute->applyPostValue(); $this->addPostValue($this->attribute->getValue()); } } elseif (isset($_POST["del".$id]) && isset($_POST["row".$id])) { foreach ($_POST["row".$id] as $key) { $this->delPostValue($key); } } elseif ($this->attribute !== FALSE) { $this->attribute->loadPostValue(); $this->attribute->applyPostValue(); $this->editingValue = $this->attribute->getValue(); } } } function check () { $error = parent::check(); if (!empty($error) || ($this->attribute === FALSE)) { return $error; } else { if (!is_array($this->value)) { return sprintf(_('The value for multivaluated field "%s" is not an array'), $this->getLabel()); } foreach ($this->value as $value) { $this->attribute->setValue($value); $error = $this->attribute->check(); if (!empty($error)) { return $error; } } } } function renderFormInput () { $display = $this->renderOnlyFormInput(); $attr_display = $this->renderAttributeInput(FALSE); $buttons = $this->renderButtons(); return $this->renderAcl($display).$attr_display.$this->renderAcl($buttons); } function renderTemplateInput () { $display = $this->renderOnlyFormInput(); $attr_display = $this->renderAttributeInput(TRUE); $buttons = $this->renderButtons(); return $this->renderAcl($display).$attr_display.$this->renderAcl($buttons); } function renderOnlyFormInput() { if (($this->size < 15) && ($this->size < count($this->value))) { $this->size = min(15, count($this->value)); } $id = $this->getHtmlId(); $smarty = get_smarty(); $smarty->assign($id.'_values', $this->getDisplayValues()); $display = '
    '."\n"; return $display; } function getDisplayValues () { if ($this->attribute === FALSE) { return $this->value; } $attribute = $this->attribute; return array_map( function ($value) use($attribute) { return $attribute->displayValue($value); }, $this->value ); } function handleEditingValue() { if ($this->editingValue === FALSE) { $this->attribute->resetToDefault(); } else { $this->attribute->setValue($this->editingValue); } } function renderAttributeInput ($template = FALSE) { if ($this->attribute === FALSE) { return; } $this->handleEditingValue(); if ($template) { return $this->attribute->renderTemplateInput(); } else { return $this->attribute->renderFormInput(); } } function renderAttribute(&$attributes, $readOnly) { if ($this->attribute === FALSE) { return parent::renderAttribute($attributes, $readOnly); } if ($this->visible) { $this->attribute->setDisabled($this->disabled); if ($this->linearRendering || $readOnly) { parent::renderAttribute($attributes, $readOnly); } else { $attributes[$this->getLdapName()] = array( 'htmlid' => $this->getForHtmlId(), 'label' => '{literal}'.$this->getLabel().'{/literal}'.($this->isRequired()?'{$must}':''), 'description' => ($this->isRequired()?sprintf(_("%s (required)"), $this->getDescription()):$this->getDescription()), 'input' => $this->renderOnlyFormInput(), ); $this->handleEditingValue(); $this->attribute->renderAttribute($attributes, $readOnly); $attributes[$this->getLdapName().'_buttons'] = array( 'htmlid' => 'add'.$this->getHtmlId(), 'label' => '{literal}'.$this->getLabel().'{/literal}'.($this->isRequired()?'{$must}':''), 'description' => '', 'input' => $this->renderButtons(), ); } } } function serializeAttribute(&$attributes, $form = TRUE) { parent::serializeAttribute($attributes, $form); if ($this->attribute === FALSE) { return; } if ($form) { return; } else { $subattributes = array(); $this->attribute->setDisabled($this->disabled); $this->attribute->serializeAttribute($subattributes, $form); $attributes[$this->getLdapName()]['attributes'] = $subattributes; $attributes[$this->getLdapName()]['attributes_order'] = array_keys($subattributes); } } function getForHtmlId() { // Label should point to the attribute if (is_object($this->attribute)) { return $this->attribute->getForHtmlId(); } else { return ''; } } function renderButtons () { $id = $this->getHtmlId(); $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}')); $buttons .= $this->renderInputField('submit', 'del'.$id, array('value' => '{msgPool type=delButton}')); return $buttons; } function computeLdapValue () { return array_values($this->value); } public function htmlIds() { $id = $this->getHtmlId(); return array_merge(array('add'.$id,'del'.$id,'row'.$id), $this->attribute->htmlIds()); } /*! \brief Set the parent plugin for this attribute * * \param simplePlugin &$plugin The parent plugin */ function setParent (&$plugin) { parent::setParent($plugin); if ($this->attribute !== FALSE) { $this->attribute->setParent($plugin); } } function getArrayValues() { $result = array(); foreach ($this->value as $value) { $this->attribute->setValue($value); $row = array(); foreach ($this->attribute->getArrayValue() as $val) { $row[] = $val; } $result[] = $row; } return $result; } function foreignKeyUpdate($oldvalue, $newvalue, $source) { foreach ($this->value as $key => &$value) { if ($value == $oldvalue) { if ($newvalue === NULL) { unset($this->value[$key]); } elseif ($source['MODE'] == 'copy') { $this->value[] = $newvalue; } elseif ($source['MODE'] == 'move') { $value = $newvalue; } } } unset($value); } function foreignKeyCheck($value, $source) { return in_array($value, $this->value); } function setSize($size) { $this->size = $size; } } class OrderedArrayAttribute extends SetAttribute { protected $order; protected $edit_enabled; protected $height = 90; protected $headers = FALSE; /*! \brief The constructor of OrderedArrayAttribute * * \param Attribute $attribute The composite attribute you want to see multi-valuated * \param array $values The default values */ function __construct ($attribute, $order = TRUE, $values = array(), $edit_enabled = FALSE) { parent::__construct($attribute, $values); $this->order = $order; $this->edit_enabled = $edit_enabled; } function setHeight($h) { $this->height = $h; } function setHeaders($h) { $this->headers = $h; } function readValue($value) { if ($this->order) { return preg_split('/:/', $value, 2); } else { return $value; } } function writeValue($key, $value) { if ($this->order) { return $key.":".$value; } else { return $value; } } function computeLdapValue () { $ldapValue = array(); foreach ($this->value as $key => $value) { $ldapValue[] = $this->writeValue($key, $value); } return $ldapValue; } protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()]["count"])) { $this->value = array(); for ($i = 0; $i < $attrs[$this->getLdapName()]["count"]; $i++) { $value = $this->readValue($attrs[$this->getLdapName()][$i]); if (is_array($value)) { $this->value[$value[0]] = $value[1]; } else { $this->value[] = $value; } } } else { $this->resetToDefault(); } if ($this->order) { $this->reIndexValues(); } } function renderOnlyFormInput () { $id = $this->getHtmlId(); $div = new divSelectBox('rows'.$id); $smarty = get_smarty(); $div->SetHeight($this->height); $div->SetHeaders($this->headers); foreach ($this->value as $key => $value) { $fields = array(); foreach ($this->getAttributeArrayValue($key, $value) as $field) { if (is_array($field)) { $fields[] = $field; } else { $fields[] = array('string' => $field); } } if (empty($fields)) { continue; } list ($img, $nbicons) = $this->genRowIcons($key, $value); $fields[] = array("html" => $img, "attach" => 'style="border:0px;width:'.($nbicons * 20).'px;"'); $div->AddEntry($fields); } $smarty->assign("div_$id", $div->DrawList()); return '{$div_'.$id.'}'."\n"; } protected function genRowIcons($key, $value) { $id = $this->getHtmlId(); $img = ''; $nbicons = 1; if ($this->order) { $nbicons += 2; if ($key != 0) { $img .= $this->renderInputField( 'image', $id.'_up_'.$key, array( 'src' => 'geticon.php?context=actions&icon=view-sort-descending&size=16', 'title' => _('Sort up'), 'alt' => _('Sort up'), 'class' => 'center' ) ); } else { $img .= ''; } if (($key + 1) < count($this->value)) { $img .= $this->renderInputField( 'image', $id.'_down_'.$key, array( 'src' => 'geticon.php?context=actions&icon=view-sort-ascending&size=16', 'title' => _('Sort down'), 'alt' => _('Sort down'), 'class' => 'center' ) ); } else { $img .= ''; } } if ($this->edit_enabled) { $nbicons++; $img .= $this->renderInputField( 'image', $id.'_edit_'.$key, array( 'src' => 'geticon.php?context=actions&icon=document-edit&size=16', 'title' => _('Edit'), 'alt' => _('Edit'), 'class' => 'center' ) ); } $img .= $this->renderInputField( 'image', $id.'_del_'.$key, array( 'src' => 'geticon.php?context=actions&icon=edit-delete&size=16', 'title' => _('Delete'), 'alt' => _('Delete'), 'class' => 'center' ) ); return array ($img, $nbicons); } protected function getAttributeArrayValue($key, $value) { $this->attribute->setValue($value); return $this->attribute->getArrayValue(); } protected function reIndexValues () { $this->value = array_values($this->value); } function loadPostValue () { $this->editingValue = FALSE; if ($this->isVisible()) { $this->postValue = $this->value; $id = $this->getHtmlId(); foreach (array_keys($_POST) as $name) { if ($this->handlePostValueActions($id, $name)) { break; } } $this->handleAddAndEditValue(); } } protected function handlePostValueActions($id, $postValue) { if ($this->order) { if (preg_match('/^'.$id.'_up_/', $postValue)) { $key = preg_replace('/^'.$id.'_up_/', '', $postValue); $key = preg_replace('/_[xy]$/', '', $key); $tmp = $this->postValue[$key]; $this->postValue[$key] = $this->postValue[$key - 1]; $this->postValue[$key - 1] = $tmp; return TRUE; } if (preg_match('/^'.$id.'_down_/', $postValue)) { $key = preg_replace('/^'.$id.'_down_/', '', $postValue); $key = preg_replace('/_[xy]$/', '', $key); $tmp = $this->postValue[$key]; $this->postValue[$key] = $this->postValue[$key + 1]; $this->postValue[$key + 1] = $tmp; return TRUE; } } if ($this->edit_enabled) { if (preg_match('/^'.$id.'_edit_/', $postValue)) { $key = preg_replace('/^'.$id.'_edit_/', '', $postValue); $key = preg_replace('/_[xy]$/', '', $key); $this->handleEdit($key); return TRUE; } } if (preg_match('/^'.$id.'_del_/', $postValue)) { $key = preg_replace('/^'.$id.'_del_/', '', $postValue); $key = preg_replace('/_[xy]$/', '', $key); $this->delPostValue($key); return TRUE; } return FALSE; } protected function handleAddAndEditValue() { $id = $this->getHtmlId(); if ($this->attribute === FALSE) { return; } if (isset($_POST["add$id"])) { $this->attribute->loadPostValue(); $this->attribute->applyPostValue(); if ($error = $this->attribute->check()) { msg_dialog::display(sprintf(_('Invalid value for %s'), $this->getLabel()), $error); } else { $this->addPostValue($this->attribute->getValue()); } } elseif ($this->editingValue === FALSE) { $this->attribute->loadPostValue(); $this->attribute->applyPostValue(); $this->editingValue = $this->attribute->getValue(); } } protected function handleEdit($key) { $this->editingValue = $this->value[$key]; $this->delPostValue($key); $this->plugin->focusedField = $this->getHtmlId(); } function applyPostValue () { parent::applyPostValue(); if ($this->order) { $this->reIndexValues(); } } public function htmlIds() { $id = $this->getHtmlId(); $ids = array('add'.$id); if ($this->attribute !== FALSE) { $ids = array_merge($ids, $this->attribute->htmlIds()); } $nb_values = count($this->value); for ($i = 0; $i < $nb_values; ++$i) { if ($this->order) { if ($i > 0) { $ids[] = $id.'_up_'.$i; } if (($i + 1) < $nb_values) { $ids[] = $id.'_down_'.$i; } } $ids[] = $id.'_del_'.$i; } return $ids; } function renderButtons () { $id = $this->getHtmlId(); $buttons = $this->renderInputField('submit', 'add'.$id, array('value' => '{msgPool type=addButton}')); return $buttons; } } class SubNodesAttribute extends OrderedArrayAttribute { protected $objectClass; protected $objectClasses; function __construct ($label, $description, $ldapName, $objectClass, $attributes, $order = FALSE, $values = array(), $edit_enabled = FALSE, $acl = "") { $attributes_keys = array(); foreach ($attributes as $attribute) { $attributes_keys[$attribute->getLdapName()] = $attribute; $attributes_keys[$attribute->getLdapName()]->htmlid_prefix = $ldapName.'_'; } $composite = new CompositeAttribute( $description, $ldapName, $attributes_keys, FALSE, FALSE, $acl, $label ); parent::__construct($composite, $order, $values, $edit_enabled); if (is_array($objectClass)) { $this->objectClass = $objectClass[0]; $this->objectClasses = $objectClass; } else { $this->objectClass = $objectClass; $this->objectClasses = array($objectClass); } } protected function loadAttrValue ($attrs) { global $config; /* Should we take dn from attrs or plugin? */ if (isset($attrs['dn'])) { $ldap = $config->get_ldap_link(); $ldap->ls('objectClass='.$this->objectClass, $attrs['dn']); $this->value = array(); while ($subattrs = $ldap->fetch()) { $this->attribute->resetToDefault(); foreach ($this->attribute->attributes as &$attribute) { $attribute->loadAttrValue($subattrs); } unset($attribute); $this->value[] = $this->attribute->getValue(); } } else { $this->resetToDefault(); } } /* Not saving anything into base node */ function fillLdapValue (&$attrs) { /* Remove crap made by plugin */ unset ($attrs[$this->getLdapName()]); } /* Special LDAP treatment that this attribute does after plugin ldap save */ function postLdapSave ($ldap) { /* First delete all old nodes */ $ldap->ls('objectClass='.$this->objectClass, $this->plugin->dn, array('dn')); $delete = array(); while ($attrs = $ldap->fetch()) { $delete[] = $attrs['dn']; } foreach ($delete as $dn) { $ldap->rmdir($dn); } /* Then add our values */ foreach ($this->value as $val) { $attrs = array('objectClass' => $this->objectClasses); $this->attribute->setValue($val); foreach ($this->attribute->attributes as &$attribute) { $attribute->fillLdapValue($attrs); } unset($attribute); $dn = $this->compute_attribute_dn(); $ldap->cd($dn); foreach (array_keys($attrs) as $index) { if (is_array($attrs[$index]) && (count($attrs[$index]) == 0)) { unset($attrs[$index]); } } $ldap->add($attrs); if (!$ldap->success()) { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $dn, LDAP_ADD, get_class()), LDAP_ERROR); } } } function compute_attribute_dn () { /* Later we might want to be able to choose which attribute to use in the dn */ reset($this->attribute->attributes); $attribute = key($this->attribute->attributes); return $attribute.'='.$this->attribute->attributes[$attribute]->computeLdapValue().','.$this->plugin->dn; } } fusiondirectory-1.0.19/include/simpleplugin/attributes/class_StringAttribute.inc000066400000000000000000000116411304016502700303660ustar00rootroot00000000000000pattern = $regexp; $this->example = ($example === NULL?$defaultValue:$example); } function setExample ($example) { $this->example = $example; } function setPattern ($pattern) { $this->pattern = $pattern; } function renderFormInput () { $id = $this->getHtmlId(); $attributes = array( 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}' ); if (!empty($this->managedAttributes)) { $js = $this->managedAttributesJS(); $attributes['onChange'] = 'javascript:'.htmlentities($js, ENT_COMPAT, 'UTF-8'); } if ($this->autocomplete !== NULL) { $attributes['autocomplete'] = ($this->autocomplete ? 'on' : 'off' ); } $display = $this->renderInputField('text', $id, $attributes); return $this->renderAcl($display); } function fixPostValue ($value) { /* Replace CRLF by LF, to avoid non-ASCII chars in multiline values (mainly useful for textarea) */ return str_replace(array("\r\n", "\r"), "\n", $value); } function check () { $error = parent::check(); if (!empty($error)) { return $error; } else { if ($this->value !== "") { return $this->validate(); } } } function validate () { if (($this->pattern !== "") && !preg_match($this->pattern, $this->value)) { return msgPool::invalid($this->getLabel(), $this->value, $this->pattern, htmlentities($this->example)); } } function setAutocomplete ($bool) { $this->autocomplete = $bool; } function getAutocomplete () { return $this->autocomplete; } } /*! \brief This class allow to handle easily a String LDAP attribute that appears as a text area * */ class TextAreaAttribute extends StringAttribute { function renderFormInput () { $id = $this->getHtmlId(); $display = ''; return $this->renderAcl($display); } } /*! \brief This class allow to handle easily a String LDAP attribute that contains a password * */ class PasswordAttribute extends StringAttribute { protected $autocomplete = FALSE; function renderFormInput () { $id = $this->getHtmlId(); $display = $this->renderInputField( 'password', $id, array( 'value' => '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}', 'autocomplete' => ($this->autocomplete?'on':'off'), ) ); if ($this->autocomplete === FALSE) { $display = '{literal}{/literal}'.$display; } return $this->renderAcl($display); } function renderTemplateInput () { return parent::renderFormInput(); } } fusiondirectory-1.0.19/include/simpleplugin/class_Attribute.inc000066400000000000000000000553541304016502700250220ustar00rootroot00000000000000 no unicity check * one -> unicity check in the same base -> broken right now because of object ous * sub -> unicity check in the same subtree * \__> this should not be used as it’s breaking reciprocity * whole -> unicity check in the whole LDAP */ private $unique = FALSE; /* \brief Prefix for the html id */ protected $htmlid_prefix = ''; /* \brief Should this attribute be shown */ protected $visible = TRUE; /* \brief Name of the ACL to use, empty if we need our own */ protected $acl; /* \brief Is this attribute disabled */ protected $disabled = FALSE; /* \brief Should this attribute submit formular when changing value * If this is not a boolean it is a string containing a method name to call on the plugin when changing value */ protected $submitForm = FALSE; /* \brief Value of this attribute */ protected $value; /* \brief Value we read from POST */ protected $postValue; /* \brief Default value of this attribute */ protected $defaultValue; /* \brief Initial value of this attribute */ protected $initialValue; /* \brief Reference to the plugin */ protected $plugin; /* \brief Array of attributes to manage (prefix => value => attribute) * Prefix should be 'erase' or 'disable' */ protected $managedAttributes = array(); /* \brief Array of multiple values groups for managed attributes */ protected $managedAttributesMultipleValues = array(); /* \bried Array of booleans telling for each managing attributes if he's disabling us */ protected $managingAttributesOrders = array(); /*! \brief The constructor of Attribute * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param mixed defaultValue The default value for this attribute * \param string acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = "", $acl = "") { $this->label = $label; $this->description = $description; $this->ldapName = $ldapName; $this->required = $required; $this->defaultValue = $defaultValue; $this->value = $defaultValue; $this->postValue = $this->value; $this->acl = $acl; $this->plugin = NULL; } /*! \brief Set the parent plugin for this attribute * * \param simplePlugin &$plugin The parent plugin */ function setParent (&$plugin) { $this->plugin = $plugin; $this->manageAttributes($this->getValue()); } function setInLdap ($inLdap) { $this->inLdap = $inLdap; } function setVisible ($visible) { $this->visible = $visible; } function isVisible () { return $this->visible; } function setUnique ($unique) { if ($unique === TRUE) { $this->unique = 'one'; } else { $this->unique = $unique; } } function getUnique () { return $this->unique; } function isInLdap () { return $this->inLdap; } function setValue ($value) { $old_value = $this->value; $this->value = $value; if (($this->submitForm != FALSE) && ($this->submitForm !== TRUE) && ($old_value != $value) && is_object($this->plugin)) { $func = $this->submitForm; $this->plugin->$func(); } $this->manageAttributes($this->value); } /*! \brief Set the postValue */ function setPostValue ($value) { if ($this->isVisible()) { $this->postValue = $this->fixPostValue($value); $this->manageAttributes($this->postValue); } } /*! \brief In case a treatment is needed on POST content */ function fixPostValue ($value) { return $value; } /*! \brief Reset this attribute to its default value */ function resetToDefault () { $this->setValue($this->defaultValue); } function getValue () { return $this->value; } /* Return the value as an array of values to be displayed in a table columns */ function getArrayValue () { return array($this->displayValue($this->getValue())); } function getLdapName () { return $this->ldapName; } function getHtmlId () { return $this->htmlid_prefix.preg_replace('/[\/\-,.#:;]/', '_', $this->getLdapName()); } /* html id to put in the "for" attribute of our "label" tag */ function getForHtmlId () { return $this->getHtmlId(); } function getLabel () { return $this->label; } function getDescription () { return $this->description; } function getAcl () { if (empty($this->acl)) { return $this->getHtmlId(); } else { return $this->acl; } } function setAcl ($acl) { $this->acl = $acl; } function isRequired () { return $this->required; } function setRequired ($bool) { $this->required = $bool; } protected function setLabel ($label) { $this->label = $label; } protected function setDescription ($description) { $this->description = $description; } function setDisabled ($disabled) { $this->disabled = $disabled; } function isDisabled () { return $this->disabled; } function setManagingDisabled ($sender, $value) { $this->managingAttributesOrders[$sender] = $value; $this->setDisabled(array_reduce($this->managingAttributesOrders, function ($a, $b) { return $a || $b; } )); } function setSubmitForm ($submitForm) { $this->submitForm = $submitForm; } /*! \brief If in LDAP, loads this attribute value from the attrs array */ function loadValue ($attrs) { if ($this->inLdap) { $this->loadAttrValue($attrs); } $this->initialValue = $this->getValue(); } /*! \brief Loads this attribute value from the attrs array */ protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()])) { $this->setValue($this->inputValue($attrs[$this->getLdapName()][0])); } } function getInitialValue () { return $this->initialValue; } function setInitialValue ($value) { $this->initialValue = $value; } function hasChanged () { return ($this->getValue() !== $this->initialValue); } function displayValue ($value) { return $value; } /*! \brief Return the ldap value in the correct intern format value * * \param $ldapValue The value as found in the LDAP */ function inputValue ($ldapValue) { return $ldapValue; } function setDefaultValue ($value) { $this->defaultValue = $value; } /*! \brief Set a list of attributes that are managed by this attributes. * See FusionDirectory wiki for detailed documentation */ function setManagedAttributes ($mAttributes) { if (isset($mAttributes['multiplevalues'])) { $this->managedAttributesMultipleValues = $mAttributes['multiplevalues']; unset($mAttributes['multiplevalues']); } else { $this->managedAttributesMultipleValues = array(); } $this->managedAttributes = $mAttributes; $this->manageAttributes($this->getValue()); } protected function isValueManagingValue ($myvalue, $mavalue) { if (isset($this->managedAttributesMultipleValues[$mavalue])) { return in_array($myvalue, $this->managedAttributesMultipleValues[$mavalue]); } else { return ($myvalue == $mavalue); } } function manageAttributes ($myvalue) { if ($this->plugin === NULL) { return FALSE; } foreach ($this->managedAttributes as $array) { foreach ($array as $value => $attributes) { foreach ($attributes as $attribute) { $disabled = $this->isValueManagingValue($myvalue, $value); $this->plugin->attributesAccess[$attribute]->setManagingDisabled($this->getLdapName(), $disabled); } } } return TRUE; } /*! \brief Update this attributes postValue depending of the $_POST values */ function loadPostValue () { if ($this->isVisible()) { $this->postValue = $this->value; if (isset($_POST[$this->getHtmlId()])) { $this->setPostValue($_POST[$this->getHtmlId()]); } } } /*! \brief Apply this attribute postValue in value if this attribute is enabled */ function applyPostValue () { if (!$this->disabled && $this->isVisible()) { $this->setValue($this->postValue); } } /*! \brief Computes LDAP value */ function computeLdapValue () { return $this->getValue(); } /*! \brief Fill LDAP value in the attrs array */ function fillLdapValue (&$attrs) { if ($this->inLdap) { $value = $this->computeLdapValue(); if ($value !== '') { $attrs[$this->getLdapName()] = $value; } else { $attrs[$this->getLdapName()] = array(); } } } /*! \brief Post-modify the attrs array if needed (used for erasing managed attributes) */ function fillLdapValueHook (&$attrs) { foreach ($this->managedAttributes as $prefix => $array) { if ($prefix != 'erase') { continue; } foreach ($array as $value => $attributes) { $myvalue = $this->getValue(); $erase = $this->isValueManagingValue($myvalue, $value); if (!$erase) { continue; } foreach ($attributes as $attribute) { $attrs[$attribute] = array(); } } } } /*! \brief Check the correctness of this attribute */ function check () { global $config; $value = $this->getValue(); if ($this->isRequired() && !$this->disabled && (($value === "") || ($value === array()))) { return msgPool::required($this->getLabel()); } elseif (($this->unique !== FALSE) && !$this->disabled) { $value = $this->computeLdapValue(); if (($value === "") || ($value === array())) { return; } $ldap = $config->get_ldap_link(); $base = $config->current['BASE']; if ($this->unique !== 'whole') { if (isset($this->plugin->base) && !empty($this->plugin->base)) { $base = $this->plugin->base; } elseif (isset($this->plugin->dn) && !empty($this->plugin->dn) && ($this->plugin->dn != 'new')) { $base = dn2base($this->plugin->dn); } } $ldap->cd($base); if (is_array($value)) { $filter = '(|('.$this->getLdapName().'='.join(')('.$this->getLdapName().'=', array_map('ldap_escape_f', $value)).'))'; } else { $filter = '('.$this->getLdapName().'='.ldap_escape_f($value).')'; } $infos = pluglist::pluginInfos(get_class($this->plugin)); $filters = array_map( function ($key, $ot) { if (!is_numeric($key)) { $ot = $key; } try { $oinfos = objects::infos($ot); return $oinfos['filter']; } catch (NonExistingObjectTypeException $e) { return ''; } }, array_keys($infos['plObjectType']), array_values($infos['plObjectType']) ); $pluginFilter = $this->plugin->getObjectClassFilter(); if (!empty($pluginFilter)) { $filters[] = $pluginFilter; } $filter = '(&'.$filter.implode($filters).')'; $ldap->search($filter, array($this->getLdapName())); $branches = array_filter( array_map( function ($key, $ot) { if (!is_numeric($key)) { $ot = $key; } try { $oinfos = objects::infos($ot); return $oinfos['ou']; } catch (NonExistingObjectTypeException $e) { return FALSE; } }, array_keys($infos['plObjectType']), array_values($infos['plObjectType']) ), function ($ou) { return ($ou !== FALSE); } ); while ($attrs = $ldap->fetch()) { if ($attrs['dn'] != $this->plugin->dn) { $dn_base = preg_replace('/^[^,]+,/', '', $attrs['dn']); $found = FALSE; if ($this->unique === 'one') { /* Check that this entry is in a concerned branch */ foreach ($branches as $branch) { if ($branch.$base == $dn_base) { $dn_base = preg_replace('/^'.preg_quote($branch, '/').'/', '', $dn_base); $found = TRUE; break; } } } else { /* whole (or sub) */ /* Check that this entry is in a concerned branch */ foreach ($branches as $branch) { if (preg_match('/^'.preg_quote($branch, '/').'/', $dn_base)) { $dn_base = preg_replace('/^'.preg_quote($branch, '/').'/', '', $dn_base); $found = TRUE; break; } } if (!in_array($dn_base, $config->departments)) { continue; } } if (!$found) { continue; } return msgPool::duplicated($this->getLabel(), $attrs['dn']); } } } } /*! \brief Render this attribute form input(s) * * \param array& attributes the attributes array * * \param bool readOnly should we show text or input */ function renderAttribute(&$attributes, $readOnly) { if ($this->visible) { if ($readOnly) { $input = '{literal}'.htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8').'{/literal}'; } elseif (is_object($this->plugin) && $this->plugin->is_template) { $input = $this->renderTemplateInput(); } else { $input = $this->renderFormInput(); } $attributes[$this->getLdapName()] = array( 'htmlid' => $this->getForHtmlId(), 'label' => '{literal}'.$this->getLabel().'{/literal}'.($this->isRequired()?'{$must}':''), 'description' => ($this->isRequired()?sprintf(_("%s (required)"), $this->getDescription()):$this->getDescription()), 'input' => $input, ); } } /*! \brief Serialize this attribute for RPC requests * * \param array& attributes the attributes array */ function serializeAttribute(&$attributes, $form = TRUE) { if (!$form || $this->visible) { $class = get_class($this); while ($class != 'Attribute') { $type[] = $class; $class = get_parent_class($class); } /* To avoid empty array */ $type[] = 'Attribute'; $infos = array( 'htmlid' => $this->getHtmlId(), 'label' => $this->getLabel(), 'required' => $this->isRequired(), 'disabled' => $this->disabled, 'description' => $this->getDescription(), 'value' => $this->getValue(), 'default' => $this->defaultValue, 'type' => $type, ); if (!$form) { $infos['inldap'] = $this->isInLdap(); $infos['visible'] = $this->visible; $infos['htmlids'] = $this->htmlIds(); } $attributes[$this->getLdapName()] = $infos; } } /*! \brief Apply value from RPC requests * * \param array values the values array */ function deserializeValue($values) { if (isset($values[$this->getLdapName()])) { $this->setValue($values[$this->getLdapName()]); } } /*! \brief Add ACL information around display * * \param string $display the display information to pass through ACL */ function renderAcl($display) { return '{render acl=$'.$this->getAcl()."ACL}\n$display\n{/render}"; } /*! \brief Get ACL information about the ACL we need to create */ function getAclInfo () { /* If acl is not empty, we use an acl that is not ours, we have no acl to create */ if (empty($this->acl)) { return array( 'name' => $this->getHtmlId(), 'desc' => $this->getDescription() ); } else { return FALSE; } } protected function changeStateJS () { return join(array_map( function ($id) { return 'changeState('.json_encode($id).');'; }, $this->htmlIds() )); } public function htmlIds() { return array($this->getHtmlId()); } protected function managedAttributesJS () { $js = ''; $id = $this->getHtmlId(); foreach ($this->managedAttributes as $array) { foreach ($array as $value => $attributes) { if (isset($this->managedAttributesMultipleValues[$value])) { $js .= 'disableAttributes = inArray(document.getElementById('.json_encode($id).').value,'.json_encode($this->managedAttributesMultipleValues[$value]).');'; } else { $js .= 'disableAttributes = (document.getElementById('.json_encode($id).').value == '.json_encode($value).');'."\n"; } foreach ($attributes as $attribute) { foreach ($this->plugin->attributesAccess[$attribute]->htmlIds() as $htmlId) { $js .= 'if (document.getElementById('.json_encode($htmlId).')) { document.getElementById('.json_encode($htmlId).').disabled = disableAttributes; }'."\n"; } } } } return $js; } function renderTemplateInput () { return $this->renderFormInput(); } function foreignKeyUpdate($oldvalue, $newvalue, $source) { if ($source['MODE'] == 'move') { if ($this->getValue() == $oldvalue) { $this->setValue($newvalue); } } } function foreignKeyCheck($value, $source) { return ($this->getValue() == $value); } protected function renderInputField($type, $name, $attributes = array()) { $input = 'disabled? ' disabled="disabled"':''); foreach ($attributes as $label => $value) { $input .= ' '.$label.'="'.$value.'"'; } $input .= '/>'; return $input; } } class HiddenAttribute extends Attribute { /*! \brief The constructor of HiddenAttribute * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param mixed $defaultValue The default value for this attribute * \param string $acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($ldapName, $required = FALSE, $defaultValue = "", $acl = "", $label = NULL, $description = "hidden") { if ($label === NULL) { $label = $ldapName; } parent::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->setVisible(FALSE); } } class HiddenArrayAttribute extends HiddenAttribute { protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()]['count'])) { $this->value = array(); for ($i = 0; $i < $attrs[$this->getLdapName()]['count']; $i++) { $this->value[] = $attrs[$this->getLdapName()][$i]; } } else { $this->resetToDefault(); } } } /* Dummy attribute class in order to give stats information to the template */ class FakeAttribute extends Attribute { function __construct ($ldapName) { parent::__construct("Fake one", "", $ldapName, FALSE, "", "noacl"); $this->setInLdap(FALSE); } function renderAttribute(&$attributes, $readOnly) { $attributes[$this->getLdapName()] = $this->getValue(); } } /*! \brief This class allow to display an attribute. * * It can be used to display an attribute value the user is never allowed to modify. * (But FD might edit it) */ class DisplayLDAPAttribute extends Attribute { protected $allowHTML = FALSE; function renderFormInput () { if ($this->allowHTML) { return $this->getValue(); } else { return htmlentities($this->getValue(), ENT_COMPAT, 'UTF-8'); } } function setAllowHTML ($allowHTML) { $this->allowHTML = $allowHTML; } } /*! \brief This class allow to display an attribute. * * It can be used to display an attribute value the user and FD are never allowed to modify. */ class ReadOnlyLDAPAttribute extends DisplayLDAPAttribute { function fillLdapValue (&$attrs) { /* Remove crap made by plugin */ unset($attrs[$this->getLdapName()]); } } /*! \brief This class allow to display an attribute. * * It can be used to display an attribute value the user is never allowed to modify. */ class DisplayLDAPArrayAttribute extends Attribute { protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()]['count'])) { $this->value = array(); for ($i = 0; $i < $attrs[$this->getLdapName()]['count']; $i++) { $this->value[] = $attrs[$this->getLdapName()][$i]; } } else { $this->resetToDefault(); } } function renderFormInput () { $value = $this->getValue(); if (is_array($value)) { $value = join(', ', $value); } return htmlentities($value, ENT_COMPAT, 'UTF-8'); } } /*! \brief This class allow to display a text in front of an attribute. * * For instance, it can be used to display a link. */ class DisplayAttribute extends DisplayLDAPAttribute { function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = "", $acl = "") { parent::__construct ($label, $description, $ldapName, $required, $defaultValue, $acl); $this->setInLdap(FALSE); } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_dialogAttributes.inc000066400000000000000000000507161304016502700263620ustar00rootroot00000000000000attribute = $attribute; $this->dialog = new $this->dialogClass(); } function execute () { if (isset($_POST[$this->post_cancel])) { return $this->handle_cancel(); } if (isset($_POST[$this->post_finish]) || isset($_GET[$this->post_finish])) { return $this->handle_finish(); } return $this->dialog_execute(); } function dialog_execute () { return $this->dialog->execute(); } function handle_finish () { trigger_error('empty function'); return FALSE; } function handle_cancel () { return FALSE; } } class GenericSelectDialog extends GenericDialog { function dialog_execute () { session::set('filterBlacklist', $this->attribute->getFilterBlackList()); session::set('filterWhitelist', $this->attribute->getFilterWhiteList()); return parent::dialog_execute(); } function handle_finish () { $result = $this->dialog->detectPostActions(); if (isset($result['targets'])) { $headpage = $this->dialog->getHeadpage(); foreach ($result['targets'] as $dn) { $attrs = $headpage->getEntry($dn); $this->attribute->addValue($dn, $attrs); } } return FALSE; } } class UserSelectDialog extends GenericSelectDialog { protected $dialogClass = 'userSelect'; } class SingleUserSelectDialog extends GenericDialog { protected $dialogClass = 'singleUserSelect'; function handle_finish () { $result = $this->dialog->detectPostActions(); if (isset($result['targets']) && count($result['targets'])) { $headpage = $this->dialog->getHeadpage(); $dn = $result['targets'][0]; $attrs = $headpage->getEntry($dn); $this->attribute->handleDialogResult($dn, $attrs); } return FALSE; } } class SystemSelectDialog extends GenericSelectDialog { protected $dialogClass = 'systemSelect'; } class UserGroupSelectDialog extends GenericSelectDialog { protected $dialogClass = 'userGroupSelect'; } class UserGroupRoleSelectDialog extends GenericSelectDialog { protected $dialogClass = 'userGroupRoleSelect'; } class GroupSelectDialog extends GenericSelectDialog { protected $dialogClass = 'groupSelect'; } class MailSelectDialog extends GenericSelectDialog { protected $dialogClass = 'mailAddressSelect'; } /*! \brief This class allows to handle an attribute with a popup for selection * * It looks like a SetAttribute, but clicking "Add" will open a dialog that allow to select one or more items. * It stores their dn as values, but displays the cn. * */ class DialogAttribute extends SetAttribute { protected $dialogClass = NULL; /*! \brief The constructor of DialogAttribute * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param array $defaultValue The default value for this attribute * \param string $acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $acl = "") { Attribute::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->attribute = FALSE; } function addPostValue ($value) { $this->addValue($value, NULL); } function delPostValue ($key) { $this->removeValue($key); } function addValue ($value, $attrs) { trigger_error("abstract method"); } function searchAndRemove ($value) { $row = array_search($value, $this->value); if ($row !== FALSE) { $this->removeValue($row); } } protected function removeValue ($row) { unset($this->value[$row]); } function getFilterBlackList () { trigger_error("abstract method"); } function getFilterWhiteList () { return array(); } function loadPostValue () { parent::loadPostValue(); if ($this->isVisible()) { if (isset($_POST['add'.$this->getHtmlId().'_dialog'])) { $this->plugin->openDialog(new $this->dialogClass($this->plugin, $this)); } } } function applyPostValue () { } function renderButtons () { $id = $this->getHtmlId(); $buttons = $this->renderInputField( 'submit', 'add'.$id.'_dialog', array('value' => '{msgPool type=addButton}') ); $buttons .= $this->renderInputField( 'submit', 'del'.$id, array('value' => '{msgPool type=delButton}') ); return $buttons; } public function htmlIds() { $id = $this->getHtmlId(); return array('add'.$id.'_dialog','del'.$id,'row'.$id); } } class DialogOrderedArrayAttribute extends OrderedArrayAttribute { protected $dialogClass; function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $acl = "") { Attribute::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); $this->edit_enabled = TRUE; $this->attribute = FALSE; } function getFilterBlackList () { trigger_error("abstract method"); } function getFilterWhiteList () { return array(); } function loadPostValue () { if ($this->isVisible()) { parent::loadPostValue(); parent::applyPostValue(); if (isset($_POST['add'.$this->getHtmlId().'_dialog'])) { $this->plugin->openDialog(new $this->dialogClass($this->plugin, $this)); } } } protected function handleEdit($key) { $this->editingValue = $this->value[$key]; $this->delPostValue($key); $this->plugin->openDialog(new $this->dialogClass($this->plugin, $this, $this->editingValue)); } function applyPostValue () { } function addValue($value) { $this->value[] = $value; $this->reIndexValues(); } function renderButtons () { $id = $this->getHtmlId(); return $this->renderInputField( 'submit', 'add'.$id.'_dialog', array('value' => '{msgPool type=addButton}') ); } public function htmlIds() { $ids = parent::htmlIds(); $ids[0] .= '_dialog'; return $ids; } protected function getAttributeArrayValue($key, $value) { /* Convert text value to displayable array value */ die('Pure virtual method'); } } class GenericDialogAttribute extends DialogAttribute { protected $displays = array(); protected $store_attr = 'dn'; protected $display_attr = 'cn'; function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $store_attr = 'dn', $display_attr = 'cn', $acl = '') { $this->store_attr = $store_attr; $this->display_attr = $display_attr; parent::__construct($label, $description, $ldapName, $required, $defaultValue, $acl); } function getFilterBlackList () { return array($this->store_attr => $this->getValue()); } function addValue ($dn, $attrs) { if ($this->store_attr == 'dn') { $value = $dn; } else { $value = $attrs[$this->store_attr][0]; } if (!in_array($value, $this->value)) { end($this->value); $new_key = key($this->value) + 1; $this->value[$new_key] = $value; $this->fillDisplayValueFrom($new_key, $attrs); } } protected function removeValue ($row) { unset($this->displays[$row]); unset($this->value[$row]); } function getDisplayValues () { foreach (array_keys($this->value) as $i) { if (!isset($this->displays[$i])) { $this->fillDisplayValue($i); } } return $this->displays; } function setDisplayValues ($array) { $this->displays = $array; } protected function fillDisplayValue ($i) { global $config; $ldap = $config->get_ldap_link(); $value = $this->value[$i]; if ($this->store_attr == 'dn') { $ldap->cat($value, $this->ldapAttributesToGet()); } else { $ldap->cd($config->current['BASE']); $ldap->search('('.$this->store_attr.'='.ldap_escape_f($value).')', $this->ldapAttributesToGet()); } $this->fillDisplayValueFrom($i, $ldap->fetch()); } protected function ldapAttributesToGet () { return array($this->display_attr); } protected function fillDisplayValueFrom ($i, $attrs) { if (!isset($attrs[$this->display_attr])) { unset($this->value[$i]); } else { if ($this->display_attr == 'dn') { $this->displays[$i] = $attrs['dn']; } else { $this->displays[$i] = $attrs[$this->display_attr][0]; } } } } /*! \brief This class allows to handle an attribute for selecting user * * It looks like a SetAttribute, but clicking "Add" will open a dialog that allow to select one or more users. * It stores their dn as values, but displays the cn. * */ class UsersAttribute extends GenericDialogAttribute { protected $dialogClass = 'UserSelectDialog'; } /*! \brief This class allows to handle an attribute for selecting user or groups * * It looks like a SetAttribute, but clicking "Add" will open a dialog that allow to select one or more users or groups. * It stores their dn as values, but displays the cn. */ class UsersGroupsAttribute extends GenericDialogAttribute { protected $dialogClass = 'UserGroupSelectDialog'; protected function ldapAttributesToGet () { return array('cn', 'uid', 'objectClass'); } protected function fillDisplayValueFrom ($i, $attrs) { if (!isset($attrs[$this->display_attr])) { unset($this->value[$i]); } else { if ($this->display_attr == 'dn') { $this->displays[$i] = $attrs['dn']; } elseif (in_array('posixGroup', $attrs['objectClass'])) { $this->displays[$i] = sprintf(_('POSIX group %s'), trim($attrs['cn'][0])); } elseif (in_array('organizationalRole', $attrs['objectClass'])) { $this->displays[$i] = sprintf(_('Role %s'), trim($attrs['cn'][0])); } elseif (in_array('groupOfNames', $attrs['objectClass'])) { $this->displays[$i] = sprintf(_('Group %s'), trim($attrs['cn'][0])); } elseif (isset($attrs['uid'][0])) { $this->displays[$i] = trim($attrs['uid'][0]); } else { $this->displays[$i] = $attrs[$this->display_attr][0]; } } } } class UsersGroupsRolesAttribute extends UsersGroupsAttribute { protected $dialogClass = 'UserGroupRoleSelectDialog'; } /*! \brief This class allows to handle an attribute for selecting groups * * It looks like a SetAttribute, but clicking "Add" will open a dialog that allow to select one or more groups. * It stores their dn as values, but displays the cn. * */ class GroupsAttribute extends GenericDialogAttribute { protected $dialogClass = 'GroupSelectDialog'; function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $acl = '') { parent::__construct ($label, $description, $ldapName, $required, $defaultValue, 'dn', 'cn', $acl); } function addValue ($dn, $entry) { if (!in_array($dn, $this->value)) { $display = $entry['cn'][0]; if (isset($entry['description'][0]) && !empty($entry['description'][0])) { $display .= ' ['.preg_replace ('/^Group of user/', _('Group of user'), $entry['description'][0]).']'; } $this->value[] = $dn; $this->displays[] = $display; } } } /*! \brief This class allows to handle an attribute for selecting an mail address * * It looks like a SetAttribute, but clicking "Add" will open a dialog that allow to select one or more users. * */ class MailsAttribute extends DialogAttribute { protected $dialogClass = 'MailSelectDialog'; /*! \brief The constructor of MailsAttribute * * \param string $label The label to show for this attribute * \param string $description A more detailed description for the attribute * \param string $ldapName The name of the attribute in the LDAP (If it's not in the ldap, still provide a unique name) * \param boolean $required Is this attribute mandatory or not * \param array $defaultValue The default value for this attribute * \param string $acl The name of the acl for this attribute if he does not use its own. (Leave empty if he should use its own like most attributes do) */ function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = array(), $acl = "") { SetAttribute::__construct(new MailAttribute($label, $description, $ldapName, $required, "", $acl), $defaultValue); } function getFilterBlackList () { return array('mail' => $this->getValue()); } function addValue ($dn, $attrs) { $value = ($attrs != NULL?$attrs['mail'][0]:$dn); if (!in_array($value, $this->value)) { $this->value[] = $value; } } function renderButtons () { $id = $this->getHtmlId(); $buttons = $this->renderInputField( 'submit', 'add'.$id, array('value' => '{msgPool type=addButton}') ); $buttons .= $this->renderInputField( 'submit', 'add'.$id.'_dialog', array('value' => '{msgPool type=addButton} (from list)') ); $buttons .= $this->renderInputField( 'submit', 'del'.$id, array('value' => '{msgPool type=delButton}') ); return $buttons; } public function htmlIds() { $id = $this->getHtmlId(); return array('add'.$id,'add'.$id.'_dialog','del'.$id,'row'.$id); } } class SystemsAttribute extends DialogAttribute { protected $dialogClass = 'SystemSelectDialog'; function addValue ($dn, $entry) { $value = $entry['cn'][0]; if (!in_array($value, $this->value)) { $this->value[] = $value; } } function getFilterBlackList () { return array('cn' => $this->getValue()); } } class ButtonAttribute extends Attribute { protected $buttonText = NULL; protected $action; function __construct ($label, $description, $ldapName, $buttonText, $action = NULL, $defaultValue = "", $acl = "") { parent::__construct($label, $description, $ldapName, FALSE, $defaultValue, $acl); $this->buttonText = $buttonText; if ($action === NULL) { $action = 'handle_'.$ldapName; } $this->action = $action; } function renderFormInput () { $id = $this->getHtmlId(); $display = $this->renderInputField( 'submit', $id, array('value' => '{literal}'.htmlentities($this->buttonText, ENT_COMPAT, 'UTF-8').'{/literal}') ); return $this->renderAcl($display); } function loadPostValue () { $this->postValue = FALSE; if ($this->isVisible()) { if (isset($_POST[$this->getHtmlId()])) { $this->setPostValue(TRUE); } } } function applyPostValue () { if (!$this->disabled && $this->isVisible() && $this->postValue) { $func = $this->action; $this->plugin->$func(); } } } class DialogButtonAttribute extends ButtonAttribute { protected $dialogClass = NULL; function __construct ($label, $description, $ldapName, $buttonText, $dialogClass, $defaultValue = '', $acl = '') { parent::__construct($label, $description, $ldapName, $buttonText, NULL, $defaultValue, $acl); $this->dialogClass = $dialogClass; } function applyPostValue () { if (!$this->disabled && $this->isVisible() && $this->postValue) { $this->plugin->openDialog(new $this->dialogClass($this->plugin, $this)); } } } class UserAttribute extends DialogButtonAttribute { function __construct ($label, $description, $ldapName, $required = FALSE, $defaultValue = "", $acl = "") { parent::__construct($label, $description, $ldapName, '', 'SingleUserSelectDialog', $defaultValue, $acl); $this->setRequired($required); } function handleDialogResult ($dn, $attrs) { $this->setValue($dn); $this->buttonText = $attrs['cn'][0]; } function renderFormInput () { $id = $this->getHtmlId(); $display = 'user icon'; if ($this->getValue() == '') { $display .= ''._('None').''; } elseif ($this->buttonText === NULL) { $display .= ''._('Unknown').''; } else { $display .= ''.$this->buttonText.''; } $display .= $this->renderInputField( 'image', $id, array( 'class' => 'center', 'src' => 'geticon.php?context=actions&icon=document-edit&size=16', 'title' => _('Edit'), 'alt' => _('Edit') ) ); if (!$this->isRequired()) { $display .= $this->renderInputField( 'image', $id.'_remove', array( 'class' => 'center', 'src' => 'geticon.php?context=actions&icon=remove&size=16', 'title' => _('Remove'), 'alt' => _('Remove') ) ); } return $this->renderAcl($display); } function loadPostValue () { $id = $this->getHtmlId(); if (!$this->disabled && $this->isVisible()) { foreach (array_keys($_POST) as $name) { if (!$this->isRequired()) { if (preg_match('/^'.$id.'_remove_/', $name)) { $this->setValue(''); $this->buttonText = NULL; break; } } if (preg_match('/^'.$id.'_/', $name)) { $this->plugin->openDialog(new $this->dialogClass($this->plugin, $this)); break; } } } } protected function loadAttrValue ($attrs) { global $config; parent::loadAttrValue($attrs); $dn = $this->getValue(); if ($dn != '') { $ldap = $config->get_ldap_link(); $ldap->cat($dn); if ($attrs = $ldap->fetch()) { $this->handleDialogResult($dn, $attrs); } else { $this->buttonText = NULL; } } } public function htmlIds() { $ids = array($this->getHtmlId()); if (!$this->isRequired()) { $ids[] = $ids[0].'_remove'; } return $ids; } } class GenericSimplePluginDialog extends GenericDialog { protected $initialDialogValue = NULL; function __construct($simplePlugin, $attribute, $value = array()) { $this->attribute = $attribute; $this->dialog = new $this->dialogClass('new'); $base = $simplePlugin->dn; if ($base == 'new') { $base = $simplePlugin->base; } $this->dialog->set_acl_base($base); $this->dialog->set_acl_category($simplePlugin->acl_category); if (!empty($value)) { $this->initialDialogValue = $value; foreach ($this->dialog->attributes as $attr) { if (isset($value[$attr])) { $this->dialog->$attr = $value[$attr]; } } } } function buttons () { return '
    '. '  '. ' '. '
    '; } function dialog_execute () { $this->dialog->save_object(); return $this->dialog->execute().$this->buttons(); } function handle_finish () { $this->dialog->save_object(); $msgs = $this->dialog->check(); if (count($msgs)) { msg_dialog::displayChecks($msgs); return $this->dialog->execute().$this->buttons(); } $value = array(); foreach ($this->dialog->attributes as $attr) { $value[$attr] = $this->dialog->$attr; } $this->attribute->addValue($value); return FALSE; } function handle_cancel () { if ($this->initialDialogValue !== NULL) { $this->attribute->addValue($this->initialDialogValue); } return FALSE; } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_helpersAttribute.inc000066400000000000000000000176241304016502700264030ustar00rootroot00000000000000template = $template; } function validate () { if (!tests::is_email($this->value, $this->template)) { return msgPool::invalid($this->getLabel(), $this->value); } } } /*! \brief This class allow to handle easily a String LDAP attribute that needs to be validated by a test from class tests * */ class TestValidateAttribute extends StringAttribute { protected $testFunc = ''; function validate () { $testFunc = $this->testFunc; if (!tests::$testFunc($this->value)) { return msgPool::invalid($this->getLabel(), $this->value); } } } /*! \brief This class allow to handle easily a String LDAP attribute that contains a host name * */ class HostNameAttribute extends TestValidateAttribute { protected $testFunc = 'is_valid_hostname'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains an uid * */ class UidAttribute extends TestValidateAttribute { protected $testFunc = 'is_uid'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains a path * */ class PathAttribute extends TestValidateAttribute { protected $testFunc = 'is_path'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains an URL * */ class URLAttribute extends TestValidateAttribute { protected $testFunc = 'is_url'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains a path * */ class PhoneNumberAttribute extends TestValidateAttribute { protected $testFunc = 'is_phone_nr'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains an IP (v4 or v6) * */ class IPAttribute extends TestValidateAttribute { protected $testFunc = 'is_ip'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains an IPv4 * */ class IPv4Attribute extends TestValidateAttribute { protected $testFunc = 'is_ipv4'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains a IPv6 * */ class IPv6Attribute extends TestValidateAttribute { protected $testFunc = 'is_ipv6'; } /*! \brief This class allow to handle easily a String LDAP attribute that contains a mac address * */ class MacAddressAttribute extends StringAttribute { function setValue ($value) { return parent::setValue(strtolower($value)); } function validate () { if (!tests::is_mac($this->value)) { return msgPool::invalid($this->getLabel(), $this->value); } } } class CharSeparatedCompositeAttribute extends CompositeAttribute { private $sep; function __construct($description, $ldapName, $attributes, $sep, $acl = "", $label = "Composite attribute") { parent::__construct($description, $ldapName, $attributes, '', '', $acl, $label); $this->sep = $sep; } function readValues($value) { return explode($this->sep, $value); } function writeValues($values) { return join($this->sep, $values); } } class PipeSeparatedCompositeAttribute extends CharSeparatedCompositeAttribute { function __construct($description, $ldapName, $attributes, $acl = "", $label = "Composite attribute") { parent::__construct($description, $ldapName, $attributes, '|', $acl, $label); } } class CommaListAttribute extends CompositeAttribute { private $sep = ','; function __construct($ldapName, $attribute, $sep = ',') { parent::__construct( $attribute->getDescription(), $ldapName, array( $attribute ), '', '' ); $this->sep = $sep; } function readValues($value) { if ($value == '') { return array(array()); } else { return array(explode($this->sep, $value)); } } function writeValues($values) { return join($this->sep, $values[0]); } } class UnitIntAttribute extends CompositeAttribute { /* $units should contains 1 in its keys as a fallback unit */ function __construct ($label, $description, $ldapName, $required, $units, $min = FALSE, $max = FALSE, $defaultValue = "", $acl = "") { parent::__construct($description, $ldapName, array( new IntAttribute('', '', $ldapName.'_int', $required, $min, $max, $defaultValue), new SelectAttribute('', '', $ldapName.'_select', TRUE, array_keys($units), '', array_values($units)), ), '', '', $acl, $label ); $this->setLinearRendering(TRUE); $this->setRequired($required); /* As we use linear rendering we want the asterisk in the label if required */ } function readValues($value) { if ($value === '') { return array('', 0); } $choices = $this->attributes[1]->getChoices(); sort($choices); if ($value == 0) { return array($value, $choices[0]); } /* Find the appropriate unit */ for ( $i = (count($choices) - 1); ($value % $choices[$i] != 0) && ($i > 0); $i-- ) return array($value / $choices[$i], $choices[$i]); } function writeValues($values) { if ($values[0] === '') { return ''; } return $values[0] * $values[1]; } function displayValue($value) { $values = $this->readValues($value); return $values[0].$this->attributes[1]->displayValue($values[1]); } } class BytesSizeAttribute extends UnitIntAttribute { function __construct ($label, $description, $ldapName, $required, $min = FALSE, $max = FALSE, $defaultValue = "", $acl = "") { $units = array( 1 => _('B'), pow(1024, 1) => _('KiB'), pow(1024, 2) => _('MiB'), pow(1024, 3) => _('GiB'), pow(1024, 4) => _('TiB'), ); parent::__construct ($label, $description, $ldapName, $required, $units, $min, $max, $defaultValue, $acl); } } class TimeAttribute extends UnitIntAttribute { function __construct ($label, $description, $ldapName, $required, $min = FALSE, $max = FALSE, $defaultValue = "", $acl = "") { $units = array( 1 => _('seconds'), 60 => _('minutes'), 3600 => _('hours'), 86400 => _('days'), ); parent::__construct ($label, $description, $ldapName, $required, $units, $min, $max, $defaultValue, $acl); } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_multiPlugin.inc000066400000000000000000000117351304016502700253630ustar00rootroot00000000000000data['TABS'][$this->tabClass] as $plug) { if (!plugin_available($plug['CLASS'])) { continue; } $name = $plug['CLASS']; $this->plugin[$name] = new $name($dn, $object, $parent); /* Acl base && category configuration, these settings will be overloaded in main.inc, if we are editing ourself */ $this->plugin[$name]->set_acl_category($plInfos['plCategory'][0]); $this->plugin[$name]->set_acl_base($this->dn); } } function execute() { $display = ""; /* Do we represent a valid account? */ if ($this->parent === NULL) { $enabled = FALSE; foreach ($this->plugin as &$plug) { if ($plug->is_account) { $enabled = TRUE; break; } } unset($plug); if (!$enabled) { $display = ' '. msgPool::noValidExtension().""; $display .= back_to_main(); return $display; } } /* Execude objects */ $is_first = TRUE; $ReadOnly = (!isset($this->parent) || !$this->parent) && !session::is_set('edit'); foreach ($this->plugin as &$plug) { $plug->read_only = $ReadOnly; if (!$is_first) { $display .= '

     

    '; } else { $is_first = FALSE; } $display .= $plug->execute(); } unset($plug); return $display; } /* Save data to object */ function save_object() { foreach ($this->plugin as &$plug) { $plug->save_object(); } unset($plug); } function check() { $message = parent::check(); foreach ($this->plugin as &$plug) { if ($plug->is_account || $plug->ignore_account) { $tmp = $plug->check(); $message = array_merge($message, $tmp); } } unset($plug); return $message; } function set_acl_category($cat) { parent::set_acl_category($cat); foreach ($this->plugin as &$plug) { $plug->set_acl_category($cat); } unset($plug); } function set_acl_base($base) { parent::set_acl_base($base); foreach ($this->plugin as &$plug) { $plug->set_acl_base($base); } unset($plug); } public function setNeedEditMode ($bool) { parent::setNeedEditMode($bool); foreach ($this->plugin as &$plug) { $plug->setNeedEditMode($bool); } unset($plug); } /* Save to LDAP */ function save() { /* Save objects */ foreach ($this->plugin as &$plug) { $plug->dn = $this->dn; if ($plug->is_account || $plug->ignore_account) { $plug->save(); } else { $plug->remove_from_parent(); } } unset($plug); } function remove_from_parent() { /* Remove objects */ foreach ($this->plugin as &$plug) { $plug->dn = $this->dn; $plug->remove_from_parent(); } unset($plug); } function adapt_from_template($attrs, $skip = array()) { /* Adapt objects */ foreach ($this->plugin as &$plug) { $plug->dn = $this->dn; $plug->adapt_from_template($attrs, $skip); } unset($plug); } /* Prepare the connectivity obj */ function resetCopyInfos() { $this->dn = 'new'; foreach ($this->plugin as &$plug) { $plug->resetCopyInfos(); } unset($plug); } /* Prepare the connectivity obj */ function postCopyHook() { foreach ($this->plugin as &$plug) { $plug->postCopyHook(); } } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_simpleManagement.inc000066400000000000000000000714221304016502700263370ustar00rootroot00000000000000simpleManagement = $simpleManagement; $this->type = $type; $this->templates = objects::getTemplates($this->type); if ($dn !== NULL) { if (isset($this->templates[$dn])) { $this->template = new template($this->type, $dn); } else { trigger_error('Unknown template "'.$dn.'"'); } } $this->target = $target; } function save_object () { if ($this->target === NULL) { if (isset($_POST[$this->post_cancel])) { return $this->handle_cancel(); } if ((isset($_POST[$this->post_finish]) || isset($_GET[$this->post_finish])) && is_object($this->template)) { $this->template->save_object(); return $this->handle_finish(); } } if ( isset($_POST['template']) && isset($this->templates[$_POST['template']]) ) { if (is_object($this->template)) { trigger_error('redefining template object'); } $this->template = new template($this->type, $_POST['template']); /* This method can loop if there are several targets */ unset($_POST['template']); } if (is_object($this->template)) { if ($this->target !== NULL) { $this->simpleManagement->openTabObject($this->template->apply($this->target), $this->template->getBase()); $this->simpleManagement->handleTemplateApply(); return FALSE; } else { $this->template->save_object(); } } return TRUE; } function setNextTarget ($target) { $this->target = $target; } function execute () { $smarty = get_smarty(); if (is_object($this->template)) { $smarty->assign('template_dialog', $this->template->execute()); } else { $smarty->assign('templates', $this->templates); } $display = $smarty->fetch(get_template_path('template.tpl')); return $display; } function handle_finish () { $this->simpleManagement->closeDialogs(); $this->simpleManagement->openTabObject($this->template->apply(), $this->template->getBase()); return FALSE; } function handle_cancel () { $this->simpleManagement->closeDialogs(); return FALSE; } } class simpleManagement extends management { /* Management attributes we override */ protected $tabClass = 'simpleTabs'; protected $tabType = ''; protected $aclCategory = ''; protected $aclPlugin = ''; /* Attributes that child classes should override */ protected $objectTypes = array(); /* Attributes that child classes can override */ protected $departmentBrowser = TRUE; protected $departmentRootVisible = TRUE; protected $baseMode = TRUE; protected $multiSelect = TRUE; protected $filterXMLPath = NULL; protected $listXMLPath = NULL; protected $autoFilter = TRUE; protected $autoActions = TRUE; protected $autoFilterAttributes = array('dn', 'cn', 'description'); protected $headpageClass = "listing"; protected $skipTemplates = TRUE; function __construct() { global $config; if ($this->filterXMLPath === NULL) { $this->filterXMLPath = get_template_path('simple-filter.xml', TRUE, dirname(__FILE__)); } if ($this->listXMLPath === NULL) { $this->listXMLPath = get_template_path('simple-list.xml', TRUE, dirname(__FILE__)); } foreach ($this->objectTypes as &$object) { $object = strtoupper($object); } unset($object); $this->storagePoints = array(); foreach ($this->objectTypes as $key => $object) { try { $i = objects::infos($object); } catch (NonExistingObjectTypeException $e) { /* Remove objectTypes which are not existing */ unset($this->objectTypes[$key]); continue; } if ($i['ou'] !== NULL) { $this->storagePoints[] = $i['ou']; } } $this->storagePoints = array_unique($this->storagePoints); if (count($this->storagePoints) == 0) { $this->storagePoints[] = ""; } // Build filter if (session::global_is_set(get_class($this).'_filter')) { $filter = session::global_get(get_class($this).'_filter'); } else { $filter = new filter($this->filterXMLPath); $filter->setObjectStorage($this->storagePoints); } $this->setFilter($filter); // Build headpage $headpage = new $this->headpageClass($this->parseXML($this->listXMLPath)); $headpage->setFilter($filter); parent::__construct('unused', $headpage); $this->configureHeadpage(); $this->configureFilter(); if ($this->baseMode === FALSE) { $this->headpage->setBase($config->current['BASE']); } } /* Build the action menu, fill the object definition, etc, based on objectTypes info */ function configureHeadpage () { if ($this->autoActions) { if ($this->skipTemplates) { $this->headpage->xmlData['actionmenu']['action'][0]['action'] = array(); } else { $this->headpage->xmlData['actionmenu']['action'][0]['action'] = array( array( 'type' => 'sub', 'image' => 'geticon.php?context=actions&icon=document-new&size=16', 'label' => _('Template'), 'action' => array(), ), array( 'type' => 'sub', 'image' => 'geticon.php?context=actions&icon=document-new&size=16', 'label' => _('From template'), 'action' => array(), ), ); } } $this->configureHeadline(); foreach ($this->objectTypes as $object) { $i = objects::infos($object); if (!isset($i['icon'])) { trigger_error('Missing icon for type '.$object); $i['icon'] = ''; } $this->headpage->objectTypes[$object] = array( 'label' => $i['name'], 'category' => $i['aclCategory'], 'class' => $i['mainTab'], 'image' => $i['icon'], 'filter' => ldapFilter::parse($i['filter']), 'nameAttr' => $i['nameAttr'], ); if (!$this->skipTemplates) { $this->headpage->objectTypes['template_'.$object] = array( 'label' => sprintf(_('%s template'), $i['name']), 'category' => $i['aclCategory'], 'class' => 'template', 'image' => $i['icon'],//FIXME 'filter' => new ldapFilter( '&', array( new ldapFilterLeaf('objectClass', '=', 'fdTemplate'), fdTemplateFilter(ldapFilter::parse($i['filter'])), ) ), 'nameAttr' => $i['nameAttr'], ); } $this->headpage->categories[] = $i['aclCategory']; if ($this->autoActions) { $this->registerAction('new_'.$object, 'newEntry'); $icon = 'geticon.php?context=actions&icon=document-new&size=16'; if (isset($i['icon'])) { $icon = $i['icon']; } else { $infos = pluglist::pluginInfos($i['mainTab']); if (isset($infos['plIcon'])) { $icon = $infos['plIcon']; } } $this->headpage->xmlData['actionmenu']['action'][0]['action'][] = array( 'name' => 'new_'.$object, 'type' => 'entry', 'image' => $icon, 'label' => $i['name'], 'acl' => $i['aclCategory'].'/'.$i['mainTab'].'[c]', ); if (!$this->skipTemplates) { $this->registerAction('new_template_'.$object, 'newEntryTemplate'); $this->registerAction('template_apply_'.$object, 'newEntryFromTemplate'); $this->headpage->xmlData['actionmenu']['action'][0]['action'][0]['action'][] = array( 'name' => 'new_template_'.$object, 'type' => 'entry', 'image' => $icon, 'label' => $i['name'], 'acl' => $i['aclCategory'].'/'.$i['mainTab'].'[c]', ); $this->headpage->xmlData['actionmenu']['action'][0]['action'][1]['action'][] = array( 'name' => 'template_apply_'.$object, 'type' => 'entry', 'image' => $icon, 'label' => $i['name'], 'acl' => $i['aclCategory'].'/'.$i['mainTab'].'[c]', ); } } } $this->headpage->refreshBasesList(); } function configureHeadline () { $pInfos = pluglist::pluginInfos(get_class($this)); $this->headpage->headline = $pInfos['plShortName']; } function configureFilterCategory () { $pInfos = pluglist::pluginInfos(get_class($this)); $cat = NULL; if (isset($pInfos['plCategory'])) { $cat = key($pInfos['plCategory']); if (is_numeric($cat)) { $cat = $pInfos['plCategory'][$cat]; } } elseif (isset($pInfos['plObjectType'])) { $ot = key($pInfos['plObjectType']); if (is_numeric($ot)) { $ot = $pInfos['plObjectType'][$ot]; } $infos = objects::infos($ot); $cat = $infos['aclCategory']; } if ($cat === NULL) { trigger_error('Could not find a category for '.get_class($this)); } $this->filter->category = $cat; } /* Build the filter(s) based on objectTypes info */ function configureFilter () { if ($this->autoFilter) { $this->configureFilterCategory(); $attributes = $this->autoFilterAttributes; $filter = '(|'; foreach ($this->objectTypes as $object) { $tag = 'FILTER'.$object; $filter .= '$'.$tag; $i = objects::infos($object); $this->filter->elements[$tag] = array( 'type' => 'checkbox', 'tag' => $tag, 'default' => TRUE, 'unset' => array(), 'set' => preg_replace('/\$/', '\\\$', $i['filter']) ); $this->filter->elementValues[$tag] = TRUE; $attributes[] = $i['mainAttr']; $attributes[] = $i['nameAttr']; } if (!$this->skipTemplates) { $tag = 'FILTERTEMPLATE'; $filter .= '$'.$tag; $this->filter->elements[$tag] = array( 'type' => 'checkbox', 'tag' => $tag, 'default' => TRUE, 'unset' => array(), 'set' => '(objectClass=fdTemplate)' ); $this->filter->elementValues[$tag] = TRUE; $attributes[] = 'fdTemplateField'; } $filter .= ')'; $attributes = array_values(array_unique($attributes)); $this->filter->query[0]['filter'] = '(&'.$filter.'$NAME)'; $this->filter->query[0]['attribute'] = $attributes; $this->filter->elements['NAME']['set'] = '(|('.join('=*$*)(', $attributes).'=*$*))'; $this->filter->elements['NAME']['autocomplete']['filter'] = '(&'.$filter.'(|('.join('=*$NAME*)(', $attributes).'=*$NAME*))'.')'; $this->filter->elements['NAME']['autocomplete']['attribute'] = $attributes; uasort($this->filter->elements, 'strlenSort'); $this->filter->elements = array_reverse($this->filter->elements); } } function parseXML ($file) { $contents = file_get_contents($file); $data = xml::xml2array($contents, 1); foreach (array('departmentBrowser','departmentRootVisible','baseMode','multiSelect') as $var) { $data['list']['definition']["$var"] = ($this->$var ? 'true' : 'false'); } return $data; } function getType($dn) { return $this->getHeadpage()->getType($dn); } function renderList() { global $config; $smarty = get_smarty(); $filters = array(); foreach ($this->objectTypes as $object) { $filters[] = array( 'id' => 'FILTER'.$object, 'label' => sprintf(_('Show %s'), $config->data['OBJECTS'][$object]['name']) ); } if (!$this->skipTemplates) { $filters[] = array( 'id' => 'FILTERTEMPLATE', 'label' => sprintf(_('Show %s'), _('Template')) ); } $smarty->assign('objectFilters', $filters); return parent::renderList(); } /*! * \brief This method intiates the object creation. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param String $altTabType Empty string. * * \param String $altAclCategory Empty string. */ function newEntry($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { $type = strtoupper(preg_replace('/^new_/', '', $action)); $this->displayApplyBtn = FALSE; $this->dn = 'new'; $this->is_single_edit = FALSE; set_object_info($this->dn); // Open object $this->openTabObject(objects::open($this->dn, $type), $this->headpage->getBase()); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "Create new entry initiated!"); } function newEntryTemplate($action = "", $target = array(), $all = array()) { if ($this->skipTemplates) { return; } $action = preg_replace('/^new_template_/', 'new_', $action); $this->newEntry($action, $target, $all); $this->tabObject->setTemplateMode('template_cn'); } function newEntryFromTemplate($action, $target = array()) { if ($this->skipTemplates) { return; } if (isset ($target[0])) { $dn = $target[0]; } else { $dn = NULL; } $type = preg_replace('/^template_apply_/', '', $action); $this->dialogObject = new templateDialog($this, $type, $dn); } function applyTemplateToEntry($action, $target = array()) { global $ui; if ($this->skipTemplates) { return; } if (empty($target)) { return; } $type = preg_replace('/^template_apply_to_/', '', $action); $this->dns = $target; // check locks if ($locks = get_locks($this->dns)) { return gen_locked_message($locks, $this->dns); } // Add locks add_lock ($this->dns, $ui->dn); $this->dn = array_shift($this->dns); $this->dialogObject = new templateDialog($this, $type, NULL, $this->dn); } function handleTemplateApply ($cancel = FALSE) { if ($this->skipTemplates) { return; } if ($cancel) { $msgs = array(); } else { $msgs = $this->tabObject->check(); } if (count($msgs)) { msg_dialog::displayChecks($msgs); return; } else { if (!$cancel) { $this->tabObject->save(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "Template applied!"); } del_lock($this->dn); if (empty($this->dns)) { $this->closeDialogs(); } else { $this->last_tabObject = $this->tabObject; $this->tabObject = NULL; $this->dn = array_shift($this->dns); $this->dialogObject->setNextTarget($this->dn); $this->dialogObject->save_object(); } } } /*! * \brief Save object modifications and closes dialogs (returns to object listing). * - Calls 'tab::check' to validate the given input. * - Calls 'tab::save' to save back object modifications (e.g. to ldap). * - Calls 'management::remove_locks' to remove eventually created locks. * - Calls 'management::closeDialogs' to return to the object listing. */ protected function saveChanges() { if (($this->tabObject instanceOf simpleTabs) && ($this->dialogObject instanceOf templateDialog)) { $this->tabObject->save_object(); $this->handleTemplateApply(); return; } parent::saveChanges(); } /*! * \brief Editing an object was caneled. * Close dialogs/tabs and remove locks. */ protected function cancelEdit() { if (($this->tabObject instanceOf simpleTabs) && ($this->dialogObject instanceOf templateDialog)) { $this->handleTemplateApply(TRUE); return; } parent::cancelEdit(); } /*! * \brief This method opens an existing object or a list of existing objects to be edited. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. * * \param String $altTabClass Empty string. * * \param String $altTabType Empty string. * * \param String $altAclCategory Empty string. */ function editEntry($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { global $ui; // Do not create a new tabObject while there is already one opened, // the user may have just pressed F5 to reload the page. if (is_object($this->tabObject)) { return; } $this->displayApplyBtn = (count($target) == 1); // Single edit - we only got one object dn. if (count($target) == 1) { $type = $this->getType($target[0]); if (preg_match('/^template_/', $type) && !$this->skipTemplates) { $type = preg_replace('/^template_/', '', $type); } $this->is_single_edit = TRUE; // Get the dn of the object and creates lock $this->dn = array_pop($target); set_object_info($this->dn); if ($locks = get_locks($this->dn)) { return gen_locked_message($locks, $this->dn, TRUE); } add_lock ($this->dn, $ui->dn); // Open object $this->openTabObject(objects::open($this->dn, $type), $this->dn); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "Edit entry initiated!"); if (isset($all['subaction'])) { if ($this->handleSubAction($all) == FALSE) { trigger_error('Was not able to handle subaction: '.$all['subaction']); } } } } function handleSubAction($all) { if (preg_match('/^tab_/', $all['subaction'])) { $tab = preg_replace('/^tab_/', '', $all['subaction']); if (isset($this->tabObject->by_object[$tab])) { $this->tabObject->current = $tab; } else { trigger_error('Unknown tab: '.$tab); } return TRUE; } return FALSE; } /*! \brief Queue selected objects to be removed. * Checks ACLs, Locks and ask for confirmation. */ protected function removeEntryRequested($action = "", $target = array(), $all = array()) { global $ui; $disallowed = array(); $this->dns = array(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, "Entry removal requested!"); // Check permissons for each target foreach ($target as $dn) { $type = $this->getType($dn); if (preg_match('/^template_/', $type) && !$this->skipTemplates) { $type = preg_replace('/^template_/', '', $type); } try { $info = objects::infos($type); $acl = $ui->get_permissions($dn, $info['aclCategory'].'/'.$info['mainTab']); if (preg_match('/d/', $acl)) { $this->dns[] = $dn; } else { $disallowed[] = $dn; } } catch (NonExistingObjectTypeException $e) { trigger_error("Unknown object type received :".$e->getMessage()); } } if (count($disallowed)) { msg_dialog::display(_('Permission'), msgPool::permDelete($disallowed), INFO_DIALOG); } // We've at least one entry to delete. if (count($this->dns)) { // check locks if ($locks = get_locks($this->dns)) { return gen_locked_message($locks, $this->dns); } // Add locks $objects = array(); foreach ($this->dns as $dn) { $type = $this->getType($dn); if (preg_match('/^template_/', $type) && !$this->skipTemplates) { $type = preg_replace('/^template_/', '', $type); $info = objects::infos($type); $info['mainAttr'] = 'cn'; } else { $info = objects::infos($type); } $entry = $this->getHeadpage()->getEntry($dn); $objects[] = array( 'name' => $entry[$info['mainAttr']][0], 'dn' => LDAP::fix($dn), 'icon' => $info['icon'], 'type' => $info['name'] ); } add_lock ($this->dns, $ui->dn); // Display confirmation dialog. $smarty = get_smarty(); $smarty->assign('objects', $objects); $smarty->assign('multiple', TRUE); return $smarty->fetch(get_template_path('simple-remove.tpl')); } } function removeEntryConfirmed($action = '', $target = array(), $all = array(), $altTabClass = '', $altTabType = '', $altAclCategory = '') { global $ui; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, "Entry removal confirmed!"); foreach ($this->dns as $dn) { $type = $this->getType($dn); if (empty($type)) { continue; } if (preg_match('/^template_/', $type) && !$this->skipTemplates) { $type = preg_replace('/^template_/', '', $type); } $infos = objects::infos($type); // Check permissions, are we allowed to remove this object? $acl = $ui->get_permissions($dn, $infos['aclCategory']."/".$infos['mainTab']); if (preg_match("/d/", $acl)) { // Delete the object $this->dn = $dn; $this->openTabObject(objects::open($this->dn, $type), $this->dn); $this->tabObject->delete(); // Remove the lock for the current object. del_lock($this->dn); } else { msg_dialog::display(_('Permission error'), msgPool::permDelete(), ERROR_DIALOG); logging::log('security', 'simpleManagement/'.get_class($this), $dn, array(), 'Tried to trick deletion.'); } } // Cleanup $this->remove_lock(); $this->closeDialogs(); } /*! * \brief Opens the snapshot creation dialog for the given target. * * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all A combination of both 'action' and 'target'. */ function createSnapshotDialog($action = '', $target = array(), $all = array()) { global $config, $ui; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $target, 'Snaptshot creation initiated!'); if (count($target) == 1) { $this->dn = array_pop($target); if (empty($this->dn)) { return; } $aclCategory = $config->data['OBJECTS'][$this->getType($this->dn)]['aclCategory']; if ($ui->allow_snapshot_create($this->dn, $aclCategory)) { $this->dialogObject = new SnapshotCreateDialog($this->dn, $this, $aclCategory); $this->dialogObject->set_acl_base($this->dn); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to create a snapshot for %s.'), $this->dn), ERROR_DIALOG); } } } /*! * \brief Displays the "Restore snapshot dialog" for a given target. * If no target is specified, open the restore removed object * dialog. * \param String $action The name of the action which was the used as trigger. * * \param Array $target A list of object dns, which should be affected by this method. * * \param Array $all' A combination of both 'action' and 'target'. */ function restoreSnapshotDialog($action = '', $target = array(), $all = array()) { global $config, $ui; // Set current restore base for snapshot handling. if (is_object($this->snapHandler)) { $bases = array(); foreach ($this->storagePoints as $sp) { $bases[] = $sp.$this->headpage->getBase(); } } // No bases specified? Try base if (!count($bases)) { $bases[] = $this->headpage->getBase(); } if (!count($target)) { // No target, open the restore removed object dialog. $this->dn = $this->headpage->getBase(); $aclCategory = $this->headpage->categories; } else { // Display the restore points for a given object. $this->dn = $target[0]; if (empty($this->dn)) { return; } $aclCategory = $config->data['OBJECTS'][$this->getType($this->dn)]['aclCategory']; } if ($ui->allow_snapshot_restore($this->dn, $aclCategory)) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, 'Snaptshot restoring initiated!'); $this->snapHandler->setSnapshotBases($bases); $this->dialogObject = new SnapshotRestoreDialog($this->dn, $this, !count($target), $aclCategory); $this->dialogObject->set_acl_base($this->dn); } else { msg_dialog::display(_('Permission'), sprintf(_('You are not allowed to restore a snapshot for %s.'), $this->dn), ERROR_DIALOG); } } /*! \brief This method is used to queue and process copy&paste actions. * Allows to copy, cut and paste mutliple entries at once. * @param String 'action' The name of the action which was the used as trigger. * @param Array 'target' A list of object dns, which should be affected by this method. * @param Array 'all' A combination of both 'action' and 'target'. */ function copyPasteHandler($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "", $altAclPlugin = "") { global $ui; // Return without any actions while copy&paste handler is disabled. if (!is_object($this->cpHandler)) { return FALSE; } // Save user input $this->cpHandler->save_object(); // Add entries to queue if (($action == 'copy') || ($action == 'cut')) { $this->cpHandler->cleanup_queue(); foreach ($target as $dn) { $type = $this->getType($dn); if (preg_match('/^template_/', $type) && !$this->skipTemplates) { $type = preg_replace('/^template_/', '', $type); } $infos = objects::infos($type); if (($action == 'copy') && $ui->is_copyable($dn, $infos['aclCategory'], $infos['mainTab'])) { $this->cpHandler->add_to_queue($dn, 'copy', $type); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Entry copied!'); } if (($action == 'cut') && $ui->is_cutable($dn, $infos['aclCategory'], $infos['mainTab'])) { $this->cpHandler->add_to_queue($dn, 'cut', $type); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $dn, 'Entry cut!'); } } } // Initiate pasting if ($action == "paste") { $this->cpPastingStarted = TRUE; } // Display any c&p dialogs, eg. object modifications required before pasting. if ($this->cpPastingStarted && $this->cpHandler->entries_queued()) { $data = $this->cpHandler->execute($this->headpage->getBase()); if (!empty($data)) { return $data; } } // Automatically disable pasting process since there is no entry left to paste. if (!$this->cpHandler->entries_queued()) { $this->cpPastingStarted = FALSE; } return ""; } static function mainInc ($classname) { global $remove_lock, $cleanup, $display; /* Remove locks */ if ($remove_lock) { if (session::is_set($classname)) { $macl = session::get($classname); $macl->remove_lock(); } } if ($cleanup) { /* Clean up */ session::un_set($classname); } else { if (!session::is_set($classname) || (isset($_GET['reset']) && $_GET['reset'] == 1)) { /* Create the object if missing or reset requested */ $managementObject = new $classname(); } else { /* Retrieve the object from session */ $managementObject = session::get($classname); } /* Execute and display */ $display = $managementObject->execute(); /* Store the object in the session */ session::set($classname, $managementObject); } } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_simplePlugin.inc000066400000000000000000001020631304016502700255150ustar00rootroot00000000000000 reference on object */ var $attributesAccess = array(); /*! \brief Do we want a header allowing to able/disable this plugin * */ protected $displayHeader = FALSE; /*! \brief Is this plugin the main tab, the one that handle the object itseld * */ protected $mainTab = FALSE; protected $header = ""; public $orig_dn = ""; protected $templatePath; /*! \brief Are we executed in a edit-mode environment? (this is FALSE if we're called from management, TRUE if we're called from a main.inc) */ protected $needEditMode = FALSE; /*! \brief ldap error cache * */ protected $ldap_error; /*! \brief Attributes that needs to be initialized before the others. * */ protected $preInitAttributes = array(); /*! \brief FALSE to disable inheritance. Array like array ('objectClass' => 'attribute') to specify oc of the groups it might be inherited from * */ protected $inheritance = FALSE; protected $member_of_group = FALSE; protected $editing_group = NULL; protected $group_attrs = array(); /*! \brief constructor * * \param string $dn The dn of this instance * \param Object $object An object to copy values from * \param array $attributesInfo An attributesInfo array, if NULL, getAttributesInfo will be used. * */ function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE, $attributesInfo = NULL) { global $config; $this->parent = $parent; $this->mainTab = $mainTab; if ($attributesInfo === NULL) { $attributesInfo = $this->getAttributesInfo(); } if (!$this->displayHeader) { // If we don't display the header to activate/deactive the plugin, that means it's always activated $this->ignore_account = TRUE; } $this->attributesInfo = array(); foreach ($attributesInfo as $section => $sectionInfo) { $attrs = array(); foreach ($sectionInfo['attrs'] as $attr) { $name = $attr->getLdapName(); if (isset($attrs[$name])) { // We check that there is no duplicated attribute name trigger_error("Duplicated attribute LDAP name '$name' in a simplePlugin subclass"); } // We make so that attribute have their LDAP name as key // That allow the plugin to use $this->attributesInfo[$sectionName]['attrs'][$myLdapName] to retreive the attribute info. $attrs[$name] = $attr; } $sectionInfo['attrs'] = $attrs; $this->attributesInfo[$section] = $sectionInfo; foreach ($this->attributesInfo[$section]['attrs'] as $name => $attr) { if (isset($this->attributesAccess[$name])) { // We check that there is no duplicated attribute name trigger_error("Duplicated attribute LDAP name '$name' in a simplePlugin subclass"); } $this->attributesAccess[$name] =& $this->attributesInfo[$section]['attrs'][$name]; unset($this->$name); } } // We call plugin constructor parent::__construct($dn, $object); $this->setTemplate($this->is_template); $this->orig_dn = $dn; if ($this->mainTab) { $this->is_account = TRUE; /* TODO: When merging plugin and simplePlugin we should find a way to avoid doing a separate LDAP fetch for this */ $this->entryCSN = getEntryCSN($this->dn); } if (!isset($this->templatePath)) { $this->templatePath = get_template_path('simpleplugin.tpl'); } if (is_array($this->inheritance)) { /* Check group membership */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); foreach ($this->inheritance as $oc => $at) { if ($this->mainTab) { $filter = '(&(objectClass='.$oc.')('.$at.'='.ldap_escape_f($this->dn).'))'; } else { $filter = '(&(objectClass='.$oc.')'.$this->getObjectClassFilter().'('.$at.'='.ldap_escape_f($this->dn).'))'; } $ldap->search($filter, $this->attributes); if ($ldap->count() == 1) { $this->member_of_group = TRUE; $attrs = $ldap->fetch(); $this->group_attrs = $attrs; break; } } } } function setTemplate ($bool) { parent::setTemplate($bool); if ($this->is_template && $this->mainTab) { /* Unshift special section for template infos */ $this->attributesInfo = array_merge( array( '_template' => array( 'class' => array('fullwidth'), 'name' => _('Template settings'), 'attrs' => array( '_template_cn' => new StringAttribute( _('Template name'), _('This is the name of the template'), '_template_cn', TRUE, '', 'template_cn' ) ) ), '_template_dummy' => array( 'class' => array('invisible'), 'name' => '_template_dummy', 'attrs' => array() ) ), $this->attributesInfo ); $this->attributesAccess['_template_cn'] =& $this->attributesInfo['_template']['attrs']['_template_cn']; $this->attributesAccess['_template_cn']->setInLdap(FALSE); $this->attributesAccess['_template_cn']->setValue($this->_template_cn); $this->attributesAccess['_template_cn']->setParent($this); unset($this->_template_cn); } } protected function loadAttributes() { // We load attributes values // First the one flagged as preInit foreach ($this->preInitAttributes as $attr) { $this->attributesAccess[$attr]->setParent($this); $this->attributesAccess[$attr]->loadValue($this->attrs); } // Then the others foreach ($this->attributesInfo as &$sectionInfo) { foreach ($sectionInfo['attrs'] as $name => &$attr) { if (in_array($name, $this->preInitAttributes)) { /* skip the preInit ones */ continue; } $attr->setParent($this); $attr->loadValue($this->attrs); } unset($attr); } unset($sectionInfo); $this->updateAttributesValues(); } /*! \brief This function allows to use the syntax $plugin->attributeName to get attributes values * It calls the getValue method on the concerned attribute * It also adds the $plugin->attribtues syntax to get attributes list */ public function __get($name) { if ($name == 'attributes') { $plugin = $this; return array_filter(array_keys($this->attributesAccess), function ($a) use ($plugin) { return $plugin->attributesAccess[$a]->isInLdap(); } ); } elseif (isset($this->attributesAccess[$name])) { return $this->attributesAccess[$name]->getValue(); } else { /* Calling default behaviour */ return $this->$name; } } /*! \brief This function allows to use the syntax $plugin->attributeName to set attributes values It calls the setValue method on the concerned attribute */ public function __set($name, $value) { if (isset($this->attributesAccess[$name])) { $this->attributesAccess[$name]->setValue($value); } else { /* Calling default behaviour */ $this->$name = $value; } } /*! \brief This function allows to use the syntax isset($plugin->attributeName) It returns FALSE if the attribute has an empty value. */ public function __isset($name) { if ($name == 'attributes') { return TRUE; } return isset($this->attributesAccess[$name]); } /*! \brief This function returns the dn this object should have */ public function compute_dn() { global $config; if (!$this->mainTab) { msg_dialog::display(_('Fatal error'), _('Only main tab can compute dn'), FATAL_ERROR_DIALOG); exit; } if (!isset($this->parent) || !($this->parent instanceof simpleTabs)) { msg_dialog::display( _('Fatal error'), sprintf( _('Could not compute dn: no parent tab class for "%s"'), get_class($this) ), FATAL_ERROR_DIALOG ); exit; } $infos = $this->parent->objectInfos(); if ($infos === FALSE) { msg_dialog::display( _('Fatal error'), sprintf( _('Could not compute dn: could not find objectType infos from tab class "%s"'), get_class($this->parent) ), FATAL_ERROR_DIALOG ); exit; } $attr = $infos['mainAttr']; $ou = $infos['ou']; if (isset($this->base)) { $base = $this->base; } else { $base = $config->current['BASE']; } if ($this->is_template) { $dn = 'cn='.ldap_escape_dn($this->_template_cn).',ou=templates,'.$ou.$base; return $dn; } return $attr.'='.ldap_escape_dn($this->attributesAccess[$attr]->computeLdapValue()).','.$ou.$base; } function getRequiredAttributes() { $tmp = array(); foreach ($this->attributesAccess as $attr) { if ($attr->isRequired()) { $tmp[] = $attr->getLdapName(); } } return $tmp; } /*! \brief This function update the values of LDAP attributes as class attribute, so that plugin code works correctly This should be removed once plugin class is not used anymore */ function updateAttributesValues () { unset($this->attributes); /* This will call __get with attributes, which will create the array */ $this->attributes = $this->attributes; } function editing_group () { if ($this->editing_group == NULL) { if (isset($this->parent)) { $this->editing_group = (get_class($this->parent->getBaseObject()) == 'ogroup'); } else { return NULL; } } return $this->editing_group; } /*! \brief This function display the plugin and return the html code */ function execute () { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "execute"); parent::execute(); $this->displayPlugin = TRUE; $this->header = ""; if (is_object($this->dialog)) { $dialogResult = $this->dialog->execute(); if ($dialogResult === FALSE) { $this->closeDialog(); } else { $this->header = $dialogResult; $this->displayPlugin = FALSE; return $this->header; } } if ($this->displayHeader) { /* Show tab dialog headers */ $plInfo = pluglist::pluginInfos(get_class($this)); if ($this->parent !== NULL) { if ($this->is_account) { $disabled = $this->acl_skip_write(); $depends = array(); if (isset($plInfo['plDepending'])) { foreach ($plInfo['plDepending'] as $plugin) { if (isset($this->parent->by_object[$plugin]) && $this->parent->by_object[$plugin]->is_account) { $disabled = TRUE; $dependPlInfos = pluglist::pluginInfos($plugin); $depends[] = $dependPlInfos['plShortName']; } } } $this->header = $this->show_disable_header( msgPool::removeFeaturesButton($plInfo['plShortName']), msgPool::featuresEnabled($plInfo['plShortName'], $depends), $disabled, get_class($this).'_modify_state' ); } else { $disabled = $this->acl_skip_write(); $depends = array(); if (isset($plInfo['plDepends'])) { foreach ($plInfo['plDepends'] as $plugin) { if (!isset($this->parent->by_object[$plugin]) || !$this->parent->by_object[$plugin]->is_account) { $disabled = TRUE; $dependPlInfos = pluglist::pluginInfos($plugin); $depends[] = $dependPlInfos['plShortName']; } } } $this->header = $this->show_enable_header( msgPool::addFeaturesButton($plInfo['plShortName']), msgPool::featuresDisabled($plInfo['plShortName'], $depends), $disabled, get_class($this).'_modify_state' ); $this->displayPlugin = FALSE; return $this->header.$this->inheritanceDisplay(); } } elseif (!$this->is_account) { $this->header = ' '. msgPool::noValidExtension($plInfo['plShortName']).""; $this->header .= back_to_main(); $this->displayPlugin = FALSE; return $this->header.$this->inheritanceDisplay(); } } $smarty = get_smarty(); $this->renderAttributes(FALSE); $smarty->assign("hiddenPostedInput", get_class($this)."_posted"); if (isset($this->focusedField)) { $smarty->assign("focusedField", $this->focusedField); unset($this->focusedField); } else { $smarty->assign("focusedField", key($this->attributesAccess)); } return $this->header.$smarty->fetch($this->templatePath); } /*! \brief Check if logged in user have enough right to write this attribute value * * \param mixed $attr Attribute object or name (in this case it will be fetched from attributesAccess) */ function attrIsWriteable($attr) { if (!is_object($attr)) { $attr = $this->attributesAccess[$attr]; } if ($attr->getLdapName() == 'base') { if (!$this->acl_skip_write() && (!$this->initially_was_account || $this->acl_is_moveable() || $this->acl_is_removeable())) { return TRUE; } else { return FALSE; } } return $this->acl_is_writeable($attr->getAcl(), $this->acl_skip_write()); } function renderAttributes($readOnly = FALSE) { global $ui; $smarty = get_smarty(); if ($this->is_template) { $smarty->assign('template_cnACL', $ui->get_permissions($this->acl_base, $this->acl_category.'template', 'template_cn', $this->acl_skip_write())); } /* Handle rights to modify the base */ if (isset($this->attributesAccess['base'])) { if ($this->attrIsWriteable('base')) { $smarty->assign('baseACL', 'rw'); } else { $smarty->assign('baseACL', 'r'); } } $sections = array(); foreach ($this->attributesInfo as $section => $sectionInfo) { $legend = $sectionInfo['name']; if (isset($sectionInfo['icon'])) { $legend = ''.$legend; } $smarty->assign("section", $legend); $smarty->assign("sectionId", $section); if (isset($sectionInfo['class'])) { $smarty->assign("sectionClasses", ' '.join(' ', $sectionInfo['class'])); } else { $smarty->assign("sectionClasses", ''); } $attributes = array(); foreach ($sectionInfo['attrs'] as $attr) { if ($attr->getAclInfo() !== FALSE) { // We assign ACLs so that attributes can use them in their template code $smarty->assign($attr->getAcl()."ACL", $this->getacl($attr->getAcl(), $this->acl_skip_write())); } $attr->renderAttribute($attributes, $readOnly); } $smarty->assign("attributes", $attributes); // We fetch each section with the section template if (isset($sectionInfo['template'])) { $displaySection = $smarty->fetch($sectionInfo['template']); } else { $displaySection = $smarty->fetch(get_template_path('simpleplugin_section.tpl')); } $sections[$section] = $displaySection; } $smarty->assign("sections", $sections); } function inheritanceDisplay() { if (!$this->member_of_group) { return ""; } $class = get_class($this); $attrsWrapper = new stdClass(); $attrsWrapper->attrs = $this->group_attrs; $group = new $class($this->group_attrs['dn'], $attrsWrapper, $this->parent, $this->mainTab); $smarty = get_smarty(); $group->renderAttributes(TRUE); $smarty->assign("hiddenPostedInput", get_class($this)."_posted"); return "

    Inherited information:

    \n".$smarty->fetch($this->templatePath); } /*! \brief This function allows you to open a dialog * * \param mixed $dialog The dialog object */ function openDialog ($dialog) { $this->dialog = $dialog; } /*! \brief This function closes the dialog */ function closeDialog () { $this->dialog = NULL; } public function setNeedEditMode ($bool) { $this->needEditMode = $bool; } protected function acl_skip_write () { return ($this->needEditMode && !session::is_set('edit')); } /*! \brief This function removes the object from LDAP */ function remove_from_parent() { if (!$this->initially_was_account || !$this->acl_is_removeable()) { return; } $this->prepare_remove(); if ($this->is_template && (!defined('_OLD_TEMPLATES_') || !_OLD_TEMPLATES_)) { $this->attrs = $this->templateSaveAttrs(); $this->saved_attributes = array(); } if ($this->ldap_remove()) { $this->post_remove(); } } protected function prepare_remove () { /* Remove FusionDirectory attributes */ plugin::remove_from_parent(); } protected function ldap_remove () { global $config; $ldap = $config->get_ldap_link(); if ($this->mainTab) { $ldap->rmdir_recursive($this->dn); } else { $this->cleanup(); $ldap->cd($this->dn); $ldap->modify($this->attrs); } $this->ldap_error = $ldap->get_error(); if ($ldap->success()) { return TRUE; } else { msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()), LDAP_ERROR); return FALSE; } } protected function post_remove () { logging::log('remove', 'plugin/'.get_class($this), $this->dn, array_keys($this->attrs), $this->ldap_error); /* Optionally execute a command after we're done */ $this->handle_post_events('remove'); } /*! \brief This function handle $_POST informations */ function save_object () { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "save_object"); if ($this->displayHeader && isset($_POST[get_class($this).'_modify_state'])) { if ($this->is_account && $this->acl_is_removeable()) { $this->is_account = FALSE; } elseif (!$this->is_account && $this->acl_is_createable()) { $this->is_account = TRUE; } } if (isset($_POST[get_class($this)."_posted"])) { // If our form has been posted // A first pass that loads the post values foreach ($this->attributesInfo as $section => &$sectionInfo) { foreach ($sectionInfo['attrs'] as &$attr) { if ($this->attrIsWriteable($attr)) { // Each attribute know how to read its value from POST $attr->loadPostValue(); } } unset ($attrs); } unset($sectionInfo); // A second one that applies them. That allow complex stuff such as attribute disabling foreach ($this->attributesInfo as $section => &$sectionInfo) { foreach ($sectionInfo['attrs'] as &$attr) { if ($this->attrIsWriteable($attr)) { // Each attribute know how to read its value from POST $attr->applyPostValue(); } } unset ($attrs); } unset($sectionInfo); $this->updateAttributesValues(); } } /*! \brief This function saves the object in the LDAP */ function save () { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, "save"); $this->prepare_save(); if ($this->is_template && (!defined('_OLD_TEMPLATES_') || !_OLD_TEMPLATES_)) { $this->attrs = $this->templateSaveAttrs(); $this->saved_attributes = array(); } $this->ldap_save(); $this->post_save(); } protected function prepare_save () { /* Call parents save to prepare $this->attrs */ parent::save(); /* Fill attributes LDAP values into the attrs array */ foreach ($this->attributesInfo as $section => $sectionInfo) { foreach ($sectionInfo['attrs'] as $attr) { $attr->fillLdapValue($this->attrs); } } /* Some of them have post-filling hook */ foreach ($this->attributesInfo as $section => $sectionInfo) { foreach ($sectionInfo['attrs'] as $attr) { $attr->fillLdapValueHook($this->attrs); } } } protected function ldap_save ($cleanup = TRUE) { global $config; /* Check if this is a new entry ... add/modify */ $ldap = $config->get_ldap_link(); $ldap->cat($this->dn, array("objectClass")); if ($this->mainTab && !$this->initially_was_account) { if ($ldap->count()) { msg_dialog::display(_("Error when saving"), sprintf(_('There is already an entry with the same dn : %s'), $this->dn), ERROR_DIALOG); return; } $ldap->cd($config->current['BASE']); $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $this->dn)); $action = "add"; } else { if (!$ldap->count()) { msg_dialog::display(_("Error when saving"), sprintf(_('The entry %s is not existing'), $this->dn), ERROR_DIALOG); return; } $action = "modify"; } if ($cleanup) { $this->cleanup(); } $ldap->cd($this->dn); $ldap->$action($this->attrs); $this->ldap_error = $ldap->get_error(); /* Check for errors */ if (!$ldap->success()) { msg_dialog::display(_("LDAP error while $action"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()), LDAP_ERROR); } } /*! \brief This function is called after LDAP save to do some post operations and logging * * This function calls hooks, update foreign keys and log modification */ protected function post_save() { /* Propagate and log the event */ if ($this->initially_was_account) { $this->handle_post_events('modify'); logging::log('modify', 'plugin/'.get_class($this), $this->dn, array_keys($this->attrs), $this->ldap_error); } else { $this->handle_post_events('add'); logging::log('create', 'plugin/'.get_class($this), $this->dn, array_keys($this->attrs), $this->ldap_error); } } /*! \brief This function checks the attributes values and yell if something is wrong */ function check () { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, 'check'); $message = array(); foreach ($this->attributesInfo as $sectionInfo) { foreach ($sectionInfo['attrs'] as $attr) { $error = $attr->check(); if (!empty($error)) { if (is_array($error)) { $message = array_merge($message, $error); } else { $message[] = $error; } } } } $this->callHook('CHECK', array('nbCheckErrors' => count($message)), $returnOutput); if (!empty($returnOutput)) { $message[] = join("\n", $returnOutput); } /* Check entryCSN */ if (!empty($this->entryCSN)) { $current_csn = getEntryCSN($this->dn); if (($current_csn != $this->entryCSN) && !empty($current_csn)) { $this->entryCSN = $current_csn; $message[] = _('The object has changed since opened in FusionDirectory. All changes that may be done by others will get lost if you save this entry!'); } } return $message; } /*! \brief This function generate the needed ACLs for a given attribtues array * * \param array $attributesInfo the attribute array */ static function generatePlProvidedAcls ($attributesInfo) { $plProvidedAcls = array(); foreach ($attributesInfo as $sectionInfo) { foreach ($sectionInfo['attrs'] as $attr) { $aclInfo = $attr->getAclInfo(); if ($aclInfo !== FALSE) { $plProvidedAcls[$aclInfo['name']] = $aclInfo['desc']; } } } return $plProvidedAcls; } /*! \brief This function is the needed main.inc for users tab * * \param array $classname the plugin class name */ static function userMainInc ($classname) { global $ui; trigger_error("userMainInc is deprecated"); return static::mainInc($classname, $ui->dn); } /*! \brief This function is the needed main.inc for plugins that are not used inside a management class * * \param array $classname the class name to read plInfo from. (plIcon, plShortname and plCategory are gonna be used) * * \param string $entry_dn the dn of the object to show/edit * * \param boolean $tabs TRUE to use tabs, FALSE to show directly the plugin class * * \param boolean $edit_mode wether or not this plugin can be edited * * \param string $objectType The objectType to use (will be taken in the plInfo if FALSE) * */ static function mainInc ($classname, $entry_dn, $tabs = FALSE, $edit_mode = TRUE, $objectType = FALSE) { global $remove_lock, $cleanup, $display, $config, $plug, $ui; $plInfo = pluglist::pluginInfos($classname); $plIcon = (isset($plInfo['plIcon'])?$plInfo['plIcon']:'plugin.png'); $plHeadline = $plInfo['plTitle']; if ($objectType === FALSE) { $key = key($plInfo['plObjectType']); if (is_numeric($key)) { $key = $plInfo['plObjectType'][$key]; } $objectType = $key; } $plCategory = (isset($plInfo['plCategory'])?$plInfo['plCategory']:array('user')); $key = key($plCategory); if (is_numeric($key)) { $plCategory = $plCategory[$key]; } else { $plCategory = $key; } $lock_msg = ""; if ($edit_mode) { /* Remove locks created by this plugin */ if ($remove_lock || (isset($_POST['edit_cancel']) && session::is_set('edit'))) { if (session::is_set($classname)) { del_lock($entry_dn); } } } /* Remove this plugin from session */ if ($cleanup) { session::un_set($classname); session::un_set('edit'); } else { /* Reset requested? */ if ($edit_mode && isset($_POST['edit_cancel'])) { session::un_set($classname); session::un_set('edit'); } /* Create tab object on demand */ if (!session::is_set($classname) || (isset($_GET['reset']) && $_GET['reset'] == 1)) { try { $tabObject = objects::open($entry_dn, $objectType); } catch (NonExistingLdapNodeException $e) { $tabObject = objects::open('new', $objectType); } if ($edit_mode) { $tabObject->setNeedEditMode(TRUE); } if (!$tabs) { $tabObject->current = $classname; } if (($entry_dn != '') && ($entry_dn != 'new')) { $tabObject->set_acl_base($entry_dn); } else { $tabObject->set_acl_base($config->current['BASE']); } session::set($classname, $tabObject); } $tabObject = session::get($classname); /* save changes back to object */ if (!$edit_mode || session::is_set('edit')) { $tabObject->save_object(); } if ($edit_mode) { /* Enter edit mode? */ if ((isset($_POST['edit'])) && (!session::is_set('edit'))) { /* Check locking */ if ($locks = get_locks($entry_dn)) { session::set('back_plugin', $plug); session::set('LOCK_VARS_TO_USE', array("/^edit$/", "/^plug$/")); $lock_msg = gen_locked_message($locks, $entry_dn); } else { /* Lock the current entry */ add_lock($entry_dn, $ui->dn); session::set('edit', TRUE); } } /* save changes to LDAP and disable edit mode */ $info = ""; if (isset($_POST['edit_finish'])) { /* Perform checks */ $message = $tabObject->check(); /* No errors, save object */ if (count($message) == 0) { $tabObject->save(); del_lock($entry_dn); session::un_set('edit'); /* Remove from session */ session::un_set($classname); } else { /* Errors found, show message */ msg_dialog::displayChecks($message); } } } else { $info = ""; } /* Execute formular */ if ($edit_mode && $lock_msg) { $display = $lock_msg; } else { if ($tabs) { $display .= $tabObject->execute(); } else { $display .= $tabObject->by_object[$classname]->execute(); } } /* Store changes in session */ if (!$edit_mode || session::is_set('edit')) { session::set($classname, $tabObject); } /* Show page footer depending on the mode */ $info = $entry_dn.' '; if ($edit_mode && (!$tabObject->dialogOpened()) && empty($lock_msg)) { $display .= '

    '; /* Are we in edit mode? */ if (session::is_set('edit')) { $display .= ''."\n"; $display .= ' '; $display .= ''."\n"; } else { /* Only display edit button if there is at least one attribute editable */ if (preg_match('/r/', $ui->get_permissions($entry_dn, $plCategory.'/'.$tabObject->current))) { $info .= '

    information '. msgPool::clickEditToChange().'
    '; $display .= ''."\n"; } $display .= ''."\n"; } $display .= "

    \n"; } /* Page header */ if (!preg_match('/^geticon/', $plIcon)) { $plIcon = get_template_path($plIcon); } $display = print_header($plIcon, $plHeadline, $info).$display; } } /* * \brief Adapt from template, using 'dn' * * \param string $dn The DN * * \param array $skip A new array */ function adapt_from_template($attrs, $skip = array()) { $this->attrs = $attrs; /* Walk through attributes */ foreach ($this->attributesAccess as $ldapName => &$attr) { /* Skip the ones in skip list */ if (in_array($ldapName, $skip)) { continue; } /* Load values */ $attr->loadValue($this->attrs); } unset($attr); /* Is Account? */ $this->is_account = $this->is_this_account($this->attrs); } protected function attributeHaveChanged($field) { return $this->attributesAccess[$field]->hasChanged(); } protected function attributeValue($field) { return $this->attributesAccess[$field]->getValue(); } protected function attributeInitialValue($field) { return $this->attributesAccess[$field]->getInitialValue(); } function foreignKeyUpdate ($field, $oldvalue, $newvalue, $source) { if (!isset($source['MODE'])) { $source['MODE'] = 'move'; } $this->attributesAccess[$field]->foreignKeyUpdate($oldvalue, $newvalue, $source); } /* * Source is an array like this: * array( * 'CLASS' => class, * 'FIELD' => field, * 'DN' => dn, * 'MODE' => mode * ) * mode being either 'copy' or 'move', defaults to 'move' */ function foreignKeyCheck ($field, $value, $source) { return $this->attributesAccess[$field]->foreignKeyCheck($value, $source); } function deserializeValues($values, $checkAcl = TRUE) { foreach ($values as $name => $value) { if (isset($this->attributesAccess[$name])) { if (!$checkAcl || $this->acl_is_writeable($this->attributesAccess[$name]->getAcl())) { $this->attributesAccess[$name]->setValue($value); } else { return msgPool::permModify($this->dn, $name); } } else { return sprintf(_('Unknown field "%s"'), $name); } } return TRUE; } /* Returns TRUE if this attribute should be asked in the creation by template dialog */ function showInTemplate($attr, $templateAttrs) { if (isset($templateAttrs[$attr])) { return FALSE; } return TRUE; } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_simpleSelectManagement.inc000066400000000000000000000050341304016502700274730ustar00rootroot00000000000000listXMLPath === NULL) { $this->listXMLPath = get_template_path('simple-select-list.xml', TRUE, dirname(__FILE__)); } parent::__construct(); } /* Build the action menu, fill the object definition, etc, based on objectTypes info */ function configureHeadpage () { parent::configureHeadpage(); $this->headpage->registerElementFilter("selectLink", "simpleSelectManagement::filterSelectLink"); } function configureFilter () { parent::configureFilter(); if ($this->autoFilter) { $this->filter->query['0']['backend'] = 'LDAPBlacklist'; } } function configureHeadline () { } function configureFilterCategory () { $infos = objects::infos($this->objectTypes[0]); $this->filter->category = $infos['aclCategory']; } static function filterSelectLink() { // TODO : replace this with javascript that select the line when multiSelect is TRUE if (func_num_args() < 4) { return ' '; } $pid = func_get_arg(0); $row = func_get_arg(1); $dn = func_get_arg(2); $trans = func_get_arg(3); if (is_array($trans)) { $trans = $trans[0]; } if ($trans != '') { return ''.htmlentities($trans, ENT_COMPAT, 'UTF-8').''; } return ''; } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_simpleService.inc000066400000000000000000000076341304016502700256670ustar00rootroot00000000000000DisplayName = $plInfos['plShortName']; } /*! \brief This function display the service and return the html code */ function execute() { if ($this->is_account && !$this->view_logged) { $this->view_logged = TRUE; logging::log('view', 'server/'.get_class($this), $this->dn); } $str = parent::execute(); if (!$this->dialog) { $str .= '
    '. '  '. ' '. '
    '; } return $str; } protected function acl_skip_write() { return FALSE; } /*! \brief Get service information for serverService plugin */ function getListEntry() { /* Assign status flag */ $fields['Status'] = $this->status; /* Name displayed in service overview */ $fields['Message'] = $this->DisplayName; if ($this->showActions && is_object($this->parent->parent) && isset($this->parent->parent->by_object['argonautClient']) && $this->parent->parent->by_object['argonautClient']->is_account) { /* Allow/disallow some functions */ $fields['AllowStatus'] = ($this->status == "") && $this->acl_is_writeable("start"); $fields['AllowStart'] = ($this->status == "stopped") && $this->acl_is_writeable("start"); $fields['AllowStop'] = ($this->status == "running") && $this->acl_is_writeable("stop"); $fields['AllowRestart'] = ($this->status == "running") && $this->acl_is_writeable("restart"); } else { /* Disable some functions */ $fields['AllowStatus'] = FALSE; $fields['AllowStart'] = FALSE; $fields['AllowStop'] = FALSE; $fields['AllowRestart'] = FALSE; } $fields['AllowRemove'] = $this->acl_is_removeable(); $fields['AllowEdit'] = $this->acl_is_readable(""); return $fields; } /*! \brief This function save new status flag */ function setStatus($value) { /* Can't set status flag for new services (Object doesn't exists in ldap tree) */ if (!$this->initially_was_account) { return; } $this->status = $value; } } ?> fusiondirectory-1.0.19/include/simpleplugin/class_simpleTabs.inc000066400000000000000000000343741304016502700251610ustar00rootroot00000000000000data['TABS'][$infos['tabGroup']]; $acl_category = $infos['aclCategory']; if (func_num_args() >= 3) { $attrs_object = func_get_arg(2); } $this->objectType = $type; } else { //~ trigger_error('deprecated call to old tabclass constructor'); /* Deprecated, used by old management classes */ //$config_object = func_get_arg(0); // ignored $data = func_get_arg(1); $dn = func_get_arg(2); $acl_category = func_get_arg(3); if (func_num_args() >= 5) { $attrs_object = func_get_arg(4); } } /* Save dn */ $this->dn = $dn; if (!count($data)) { $data[] = array("CLASS" => 'plugin',"NAME" => 'Error'); msg_dialog::display(_("Error"), sprintf(_("No plugin definitions found to initialize '%s', please check your configuration file."), get_class($this)), ERROR_DIALOG); } $baseobject = NULL; $this->acl_category = $acl_category; foreach ($data as &$tab) { if (!plugin_available($tab['CLASS'])) { continue; } $this->by_name[$tab['CLASS']] = $tab['NAME']; if ($baseobject === NULL) { $baseobject = new $tab['CLASS']($this->dn, $attrs_object, $this, TRUE); $this->by_object[$tab['CLASS']] = $baseobject; $this->baseclass = $tab['CLASS']; } else { $this->by_object[$tab['CLASS']] = new $tab['CLASS']($this->dn, $baseobject, $this, FALSE); } $this->read_only |= $this->by_object[$tab['CLASS']]->read_only; $this->by_object[$tab['CLASS']]->set_acl_category($this->acl_category); } unset($tab); /* Initialize current */ $this->current = $this->baseclass; $infos = $this->objectInfos(); if ($infos && $infos['mainAttr']) { $baseobject = $this->getBaseObject(); if (($baseobject instanceof simplePlugin) && $baseobject->attributesAccess[$infos['mainAttr']]->getUnique() === FALSE) { $baseobject->attributesAccess[$infos['mainAttr']]->setUnique(TRUE); } } if ($this->specialTabs) { /* Add references/acls/snapshots */ $this->addSpecialTabs(); } } /*! * \brief Reinitializes the tab classes with fresh ldap values. * * This maybe usefull if for example the apply button was pressed. */ function re_init() { $baseobject = NULL; foreach ($this->by_object as $name => $object) { $class = get_class($object); if (in_array($class, array("reference","acl"))) { continue; } if ($baseobject === NULL) { $baseobject = new $class($this->dn, NULL, $this, TRUE); $this->by_object[$name] = $baseobject; } else { $this->by_object[$name] = new $class($this->dn, $baseobject, $this, FALSE); } $this->by_object[$name]->set_acl_category($this->acl_category); } } function resetCopyInfos() { $this->dn = 'new'; foreach ($this->by_object as &$obj) { $obj->resetCopyInfos(); } unset($obj); } function resetBase() { $baseobject = $this->getBaseObject(); if (isset($baseobject->base)) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $baseobject->base, 'Fixing base'); if (session::global_is_set('CurrentMainBase')) { $baseobject->base = dn2base('cn=dummy,'.session::global_get('CurrentMainBase')); } else { $baseobject->base = dn2base(get_userinfo()->dn); } /* For some plugins not yet migrated to simple plugin. */ if (!($baseobject instanceOf simplePlugin) && is_object($baseobject->baseSelector)) { $baseobject->baseSelector->setBase($baseobject->base); } @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $baseobject->base, 'Fixed base'); } else { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, '', 'no base'); } } function getBaseObject() { return $this->by_object[$this->baseclass]; } /*! * \brief Save the tab(s) contents */ function execute() { /* Look for pressed tab button first */ foreach ($this->by_object as $class => &$obj) { if (isset($_POST[$class]) || (isset($_POST['arg']) && $_POST['arg'] == "$class")) { $this->current = $class; break; } } unset($obj); /* Show object */ $display = '
    '."\n"; $display .= $this->by_object[$this->current]->execute(); /* Build tab line */ $tabs = $this->gen_tabs($this->dialogOpened()); /* Footer for tabbed dialog */ $display = $tabs.$display.'
    '; return $display; } /*! * \brief Save a tabs object * * \param boolean $save_current false */ function save_object() { /* Ensure that the currently selected tab is valid. */ if (!isset($this->by_name[$this->current])) { $this->current = key($this->by_name); } /* Rotate current to last */ $this->last = $this->current; /* Save last tab */ if ($this->last != "") { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->last, "Saving"); $this->by_object[$this->last]->save_object(); } } /*! * \brief Generate the tab classes * * \param boolean $disabled false */ function gen_tabs($disabled = FALSE) { $display = ""; if (!$disabled) { $display .= ''; } $display .= ''; $index = 0; $style = array('tab-left', 'tab-active', 'tab-right'); foreach ($this->by_name as $class => $name) { /* Activate right tabs with style "tab-right" */ if ($index == 1) { $index++; } elseif ($class == $this->current) { /* Activate current tab with style "tab-active " */ $index++; } /* Paint tab */ $display .= ''; } $display .= "
    '; /* Shorten string if its too long for the tab headers*/ $title = _($name); if (mb_strlen($title, 'UTF-8') > 28) { $title = mb_substr($title, 0, 25, 'UTF-8')."..."; } /* nobr causes w3c warnings so we use   to keep the tab name in one line */ $title = str_replace(' ', ' ', $title); $cssClasses = $style[$index]; /* Take care about notifications */ $obj = $this->by_object[$class]; if ($this->by_object[$class]->pl_notify && ($obj->is_account || $obj->ignore_account)) { $cssClasses .= ' tab-notify'; } if ($disabled) { $cssClasses .= ' tab-disabled'; } if (!$obj->is_account && !$obj->ignore_account) { $cssClasses .= ' tab-inactive'; } $display .= '\n"; $display .= '
     
    '; return $display; } /*! * \brief Remove object from parent */ function delete() { /* Check if all plugins will ACK for deletion */ foreach (array_reverse($this->by_object) as $key => $obj) { $reason = $obj->allow_remove(); if ($reason != "") { msg_dialog::display(_("Warning"), sprintf(_("Delete process has been canceled by plugin '%s': %s"), $key, $reason), WARNING_DIALOG); return; } } /* Delete for all plugins */ foreach (array_reverse($this->by_object) as $obj) { $obj->remove_from_parent(); } } /*! * \brief Check * * \param boolean $ignore_account false */ function check() { global $config; $messages = array(); if ($this->getBaseObject()->is_template) { $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $filter = '(&(objectClass=fdTemplate)(cn='.ldap_escape_f($this->getBaseObject()->_template_cn).'))'; $ldap->search($filter, array('dn')); while ($attrs = $ldap->fetch()) { if ($attrs['dn'] != $this->getBaseObject()->dn) { $messages[] = msgPool::duplicated($this->getBaseObject()->attributesAccess['_template_cn']->getLabel(), $attrs['dn']); } } return $messages; } $current_set = FALSE; /* Check all plugins */ foreach ($this->by_object as $key => &$obj) { if (($obj->is_account || $obj->ignore_account) && (!$obj->is_template)) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $key, "Checking"); $msg = $obj->check(); if (count($msg)) { $obj->pl_notify = TRUE; if (!$current_set) { $current_set = TRUE; $this->current = $key; $messages = $msg; } } else { $obj->pl_notify = FALSE; } } else { $obj->pl_notify = FALSE; } } unset($obj); return $messages; } /* * \brief Save object in the tab * * \param boolean $ignore_account false */ function save() { global $ui; $baseobject = $this->getBaseObject(); $new_dn = $baseobject->compute_dn(); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $new_dn, "Saving"); /* Move ? */ if ($this->dn != $new_dn) { /* Write entry on new 'dn' */ if ($this->dn != 'new') { if ($baseobject->move($this->dn, $new_dn)) { $this->dn = $new_dn; } else { msg_dialog::display(_('Error'), sprintf(_('Move from "%s" to "%s" failed'), $this->dn, $new_dn), ERROR_DIALOG); } } else { /* use the new one */ $this->dn = $new_dn; } } /* Save all plugins */ foreach ($this->by_object as $key => &$obj) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $key, "Saving"); $obj->dn = $this->dn; if (!$obj instanceof plugin && !$obj instanceOf management) { trigger_error("Something went wrong while saving ".$obj->dn.". Object class '".get_class($obj)."'."); } else { if ($obj->is_account || $obj->ignore_account) { if ($obj->save() == 1) { return 1; } } else { $obj->remove_from_parent(); } } } unset($obj); if ($this->dn == $ui->dn) { /* If the logged in user was edited, update his information */ $ui->loadLDAPInfo(); } return 0; } /*! * \brief Adapt from template * * \param string $dn The DN * * \param array $skip */ function adapt_from_template($attrs, $skip = array()) { foreach ($this->by_object as $key => &$obj) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $key, "Adapting"); $obj->parent = &$this; $obj->adapt_from_template($attrs, $skip); } unset($obj); } /*! * \brief Add special Tabs */ function addSpecialTabs() { global $config; $baseobject = $this->getBaseObject(); foreach ($config->data['TABS']['SPECIALTABS'] as $tab) { if (!plugin_available($tab['CLASS'])) { continue; } $this->by_name[$tab['CLASS']] = $tab['NAME']; $this->by_object[$tab['CLASS']] = new $tab['CLASS']($this->dn, $baseobject, $this, FALSE); $this->by_object[$tab['CLASS']]->set_acl_category($this->acl_category); } } /*! * \brief Set acl base * * \param string $base The new acl base */ function set_acl_base($base = "") { /* Update reference, transfer variables */ $first = ($base == ""); foreach ($this->by_object as &$obj) { if ($first) { $first = FALSE; $base = $obj->acl_base; } else { $obj->set_acl_base($base); } } unset($obj); } function setTemplateMode($cn) { $this->getBaseObject()->_template_cn = $cn; foreach ($this->by_object as &$obj) { $obj->setTemplate(TRUE); } unset($obj); } public function setNeedEditMode ($bool) { foreach ($this->by_object as &$obj) { $obj->setNeedEditMode($bool); } unset($obj); } public function dialogOpened () { return $this->by_object[$this->current]->is_modal_dialog(); } function objectInfos() { if ($this->objectType === FALSE) { return FALSE; } return objects::infos($this->objectType); } } class simpleTabs_noSpecial extends simpleTabs { protected $specialTabs = FALSE; } ?> fusiondirectory-1.0.19/include/simpleplugin/simple-filter.xml000066400000000000000000000015261304016502700244650ustar00rootroot00000000000000 noneyet true LDAP FILTER dn cn auto textfield NAME 20 60 FILTER true LDAP FILTER cn description 0.5 3 fusiondirectory-1.0.19/include/simpleplugin/simple-list.xml000066400000000000000000000054551304016502700241600ustar00rootroot00000000000000 true true true true simple 1 |20px;c|||150px;r| %{filter:departmentType(row,dn)} %{filter:departmentLink(row,dn,description)} 3 %{filter:objectType(row,dn)} cn string %{filter:nameLink(row,dn)} true description string %{filter:link(row,dn,"%s",description)} true %{filter:actions(dn,row,objectClass)}
    sub geticon.php?context=actions&icon=document-new&size=16 [c] edit entry geticon.php?context=actions&icon=document-edit&size=16 [r] remove entry geticon.php?context=actions&icon=edit-delete&size=16 [d] separator exporter separator copypaste snapshot cp copypaste edit entry geticon.php?context=actions&icon=document-edit&size=16 snapshot snapshot remove entry geticon.php?context=actions&icon=edit-delete&size=16 %acl[d]
    fusiondirectory-1.0.19/include/simpleplugin/simple-select-list.xml000066400000000000000000000024661304016502700254340ustar00rootroot00000000000000 true true true true simple 1 |20px;c||| %{filter:departmentType(row,dn)} %{filter:departmentLink(row,dn,description)} 2 %{filter:objectType(row,dn)} cn string %{filter:selectLink(pid,row,dn,cn)} true description string %{filter:selectLink(pid,row,dn,description)} true
    fusiondirectory-1.0.19/include/variables.inc000066400000000000000000000050751304016502700211250ustar00rootroot00000000000000 fusiondirectory-1.0.19/include/variables_common.inc000066400000000000000000000042001304016502700224620ustar00rootroot00000000000000 fusiondirectory-1.0.19/locale/000077500000000000000000000000001304016502700162675ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ar/000077500000000000000000000000001304016502700166715ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ar/fusiondirectory.po000066400000000000000000004012421304016502700224640ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Arabic (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "خطأ" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "تحذير" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "خطأ" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "خطأ داخلي" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "الرجوع" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "النوع" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "الإسم" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "الوصف" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "إزالة" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "تلقائي" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "الإسم العائلي" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "الإسم الأول" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "العنوان" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "الهاتف" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "الهاتف المحمول" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "الفاكس" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "رقم المنزل" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "القسم" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "الخواص" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "البلد" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "معلومات" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "رقم الفاكس" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "مجموعة" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/ca/000077500000000000000000000000001304016502700166525ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ca/fusiondirectory.po000066400000000000000000004036711304016502700224550ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Catalan (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Llengua preferida" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "D'acord" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Error" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Error d'LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Avís" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Error" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Finalitza" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Error fatal" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Error de la configuració" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Canceŀla-ho tot" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Entrada" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nom de la plantilla" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Error d'autenticació." #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "El meu compte" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Canceŀla" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplica" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Desa" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Edita…" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Edita %s…" #: include/class_msgPool.inc:540 msgid "Back" msgstr "Enrere" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Aquest compte no té extensions de %s vàlides!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Aquest compte té paràmetres de %s habilitats. Podeu inhabilitar-los fent clic a sota." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "gener" #: include/class_msgPool.inc:662 msgid "February" msgstr "febrer" #: include/class_msgPool.inc:662 msgid "March" msgstr "març" #: include/class_msgPool.inc:662 msgid "April" msgstr "abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "maig" #: include/class_msgPool.inc:663 msgid "June" msgstr "juny" #: include/class_msgPool.inc:663 msgid "July" msgstr "juliol" #: include/class_msgPool.inc:663 msgid "August" msgstr "agost" #: include/class_msgPool.inc:663 msgid "September" msgstr "setembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "octubre" #: include/class_msgPool.inc:664 msgid "November" msgstr "novembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "desembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "diumenge" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "dilluns" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "dimarts" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "dimecres" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "dijous" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "divendres" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "dissabte" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objecte" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Marca de temps" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nom" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grup de l'usuari" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "La vostra sessió del FusionDirectori ha caducat!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Especifiqueu un nom d'usuari vàlid." #: html/index.php:285 msgid "Please specify your password!" msgstr "Especifiqueu la vostra contrasenya." #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "El compte és blocat. Contacteu el vostre administrador de sistemes." #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "El vostre navegador té les galetes inhabilitades. Habiliteu les galetes i torneu a carregar aquesta pàgina abans d'entrar." #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "La configuració %s/%s del FusionDirectori no és llegible. S'està avortant." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Configuració del PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "Canvi de contrasenya" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "S'està exhaurint la memòria!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "S'han inhabilitat les comprovacions de les ACL dels usuaris" #: html/main.php:289 msgid "Plugin" msgstr "Connector" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Directori personal" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Intèrpret d'ordres" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Compte" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Mètode de contrasenya" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Contrasenya" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Informació personal" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Cognoms" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Nom" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Localització" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Província" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adreça" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Núm de sala" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Número de sala" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telèfon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mòbil" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Buscapersones" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Pàgina principal" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Adreça postal personal" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Telèfon privat" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Número de telèfon personal" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organització" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departament" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Núm de department" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Número de departament" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Núm d'empleat" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Número d'empleat" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Categoria professional" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Responsable" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Contrasenya nova" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "La contrasenya nova i l'actual són massa similars." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "La contrasenya nova és massa curta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Paràmetres de la contrasenya" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departaments" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categoria" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Estat" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localitat" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informació" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Número de telèfon" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Número de fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Directori" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Contrasenya nova repetida" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Qualitat de la contrasenya" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Canvia" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Feu clic aquí per canviar la vostra contrasenya" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Èxit" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "S'ha canviat la vostra contrasenya amb èxit." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Pantalla d'entrada" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nom d'usuari" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Entra" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Feu clic ací per entrar" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Principal" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Surt" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Identificat com a:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continua" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Només lectura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "S'ha completat l'operació" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "ACL nou" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Tipus d'ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Paràmetres de l'usuari" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Neteja la contrasenya" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Estableix una contrasenya nova" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Imatge personal" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Imatge de l'usuari" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Suprimeix la imatge" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/cs_CZ/000077500000000000000000000000001304016502700172705ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/cs_CZ/fusiondirectory.po000066400000000000000000005226301304016502700230700ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Upřednostňovaný jazyk" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Nastavení jazyka" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "V tomto kroku vyberete Vámi upřednostňovaný jazyk." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "V tomto okamžiku je možné zvolit výchozí jazyk pro celý systém. Volba samočinně použije jazyk požadovaný přistupujícím webovým prohlížečem. Toto nastavení může být přebito." #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Samočinné" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Kontroly PHP a rozšiřujících komponent" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "Nastavení PHP (zobrazit informace))" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Kontrola instalace" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Základní kontrola toho, zda je PHP a rozšířující moduly ve vyhovujících verzích" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Kontrola verze PHP…" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "Je třeba, aby PHP bylo ve verzi %s a vyšší." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Přejděte na verzi, která je podporována." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory potřebuje tento modul pro komunikaci s LDAP serverem." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory potřebuje tento modul pro přizpůsobení uživatelského rozhraní místním odlišnostem (formát data a času, měrné jednotky, atp.)." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory potřebuje tento modul pro komunikaci různými protokoly s různými typy serverů." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory potřebuje tento modul pro začlenění Samby." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "Aby bylo možné ve FusionDirectory využívat SSHA šifrování, musí být nainstalován jeden z těchto modulů: 'mhash', nebo 'sha1'." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory potřebuje tento modul pro komunikaci s IMAP serverem." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "vícebajtový řetězec (mbstring)" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory potřebuje tento modul pro práci se znaky v univerzálním kódování (unicode)." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "ImageMagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory jej potřebuje pro práci s obrázky." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "kompresní modul" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory toto rozšíření potřebuje pro práci se snímky." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "„register_globals“ je mechanizmus v PHP pro registraci všech globálních proměnných, které jsou tak dostupné ze skriptů aniž by bylo třeba měnit jejich rozsah. Jenže to může rizikové z hlediska zabezpečení." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Vyhledejte ve svém souboru php.ini parametr register_globals a nastavte jej na hodnotu off . " #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP tuto hodnotu používá pro „úklid“ (garbage collector) při odstraňování starých relací." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Nastavení této hodnoty na jeden den zabrání ztrátě relace a cookies dříve, než skutečně vyprší nastavený časový limit." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Vyhledejte ve svém php.ini parametr 'session.gc_maxlifetime' a nastavte jej na hodnotu '86400' a vyšší." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Vypnuto" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Abyste se vyhnuli potížím při používání FusionDirectory, vyhledejte ve svém php.ini parametr session.auto_start a nastavte jej na hodnotu off ." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Vyhledejte ve svém souboru php.ini parametr session.auto_start a nastavte jej na hodnotu off ." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "Pro svůj běh FusionDirectory potřebuje, aby mu bylo vyhrazeno alespoň 128MB operační paměti. Provozování pod touto hranicí může způsobovat nevyzpytatelné chyby! Pro rozsáhlá nasazení je třeba tuto hodnotu ještě dále navýšit." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "V souboru s nastaveními php.ini na svém serveru vyhledejte volbu memory_limit a nastavte ji na hodnotu 128M a vyšší." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Tato volba ovlivňuje to, jak PHP zachází s výstupem. Pro zvýšení výkonu nastavte na hodnotu off ." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Vyhledejte ve svém souboru php.ini parametr implicit_flush a nastavte jej na hodnotu off." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "PHP skripty by měly dostat čas alespoň 30 vteřin na to, aby proběhly." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Vyhledejte ve svém php.ini parametr 'max_execution_time' a nastavte jej na hodnotu '30' a vyšší." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Pro zlepšení zabezpečení nastavte PHP tak, aby neposkytovalo jakékoli informace o serveru, na kterém běží." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Vyhledejte ve svém php.ini parametr 'expose_php' a nastavte jej na 'off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Výkonnost serveru můžete zlepšit nastavením parametru magic_quotes_gpc na hodnotu off ." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Vyhledejte ve svém souboru php.ini parametr zend.ze1_compatibility_mode a nastavte jej na hodnotu off ." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Vítejte" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Vítejte v průvodci nastavením FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Uvítací zpráva" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "OK" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Přemístit" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Prohlídka LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Zjistit, zda je vaše stávající LDAP databáze slučitelná s FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "Udělit veškerá práva na uživatelích v dané větvi" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "Umožnit uživatelům upravovat své vlastní údaje (panely Hlavní a Posix použijte jen na základu)" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "Umožnit uživatelům upravovat jejich vlastní hesla (použijte pouze na základu)" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "kontrolují se třídy objektů v kořenovém objektu" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "kontrolují se oprávnění na LDAP databázi" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "kontroluje se, zda neexistují „neviditelní“ uživatelé" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "kontroluji, zda již existuje účet správce FusionDirectory/GOsa" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "Kontrola výchozích ACL úloh a skupin" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "kontroluje se, zda neexistují účty uživatelů mimo příslušný podstrom" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Kontroluje se, zda neexistují účty skupin mimo příslušný podstrom" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "kontroluje se, zda neexistují „neviditelná“ oddělení" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "kontroluje se, zda neexistují duplicity v číselných identifikátorech uživatelů (UID)" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "Dotaz do LDAP nebyl úspěšný" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "Možná chybí kořenový objekt." #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Nezdařilo se" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Chybí třída objektů FusionDirectory %s!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Zkontrolujte svou instalaci." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Nedaří se manipulace s typem struktury kořenového objektu. Prosím pokuste se přidat třídu objektů '%s' ručním zásahem." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Chyba LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "Zvolený uživatel %s nemá plný přístup do LDAP databáze." #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "Zvolený uživatel %s nemá plný přístup do LDAP databáze." #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Varování" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Nalezeno %s uživatelů, kteří nebudou dostupní z FusionDirectory nebo jsou jejich účty neúplné." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "Přemístění uživatele" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Chyba přemisťování" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "Položku %s nelze přemístit:" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "Nalezeny správcovské účty z F.D. 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "Nalezeny správcovské skupiny z F.D. 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "Na konci nastavení je možné spustit fusiondirectory-setup --migrate-acls a přemístit ho.
    " #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "Ve vaší LDAP databázi se nenachází žádný použitelný účet správce FusionDirectory 1.0.8." #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Vytvořit" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Uživatelé" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Skupiny" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Ve vaší LDAP databázi se nenachází žádný účet správce FusionDirectory." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "Uděluje veškerá práva na veškerých objektech" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Chyba" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "Výchozí ACL úlohy nebyly vloženy" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "Chybí některé výchozí ACL úlohy" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "Výchozí ACL úlohy byly vloženy" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "Nelze přidat ACL úlohu %s:" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "Nalezeno %s uživatelů, nacházejících se mimo nastavený strom %s." #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Přesunout uživatele do příslušného stromu" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "Položky nelze přesunout do požadovaného oddělení!" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "Položka bude přesunuta z" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "do" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Tyto odkazy budou aktualizovány" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Bylo nalezeno %s účtů skupin, nacházejících se mimo příslušný strom '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "Přesunout skupiny do příslušného stromu" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Bylo nalezeno %s oddělení, která nebudou viditelná z FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "Přemístění oddělení" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Název umístění" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "Název tohoto připojení, který bude zobrazován v seznamu serverů v LDAP" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "připojovací URI (adresa)" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "URI adresa, na které kontaktovat LDAP server. Obvykle začíná na ldap://" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "TLS (šifrované) spojení" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "Šifrovat komunikaci s LDAP serverem (pomocí TLS)?" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Základ" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "Základ LDAP adresáře" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Ověření" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "Rozlišený název účtu správce, použitého pro spojování do LDAP. Základ je připojen samočinně." #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "Rozlišený název účtu správce" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Heslo správce" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "Heslo k účtu správce, použitého pro spojování do LDAP" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Stav" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Stávající stav" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "Výsledek posledního pokusu kontroly LDAP spojení a základních schémat" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Nastavení LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Nastavení připojení k LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "V tomto dialogu budou provedena základní nastavení pro komunikaci FusionDirectory s LDAPem." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Anonymní spojení se serverem %s se nezdařilo!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Spojení jako uživatel %s se nezdařilo!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Znovu" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Anonymní spojení se serverem %s proběhlo úspěšně." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Znovunačíst" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Zadejte uživatelské jména a heslo!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Přihlášení se jako uživatel '%s' k serveru '%s' proběhlo úspěšně!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Dokončit" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Dokončit – zapsat nastavení do souboru" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Zapsat nastavení do souboru" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Váš soubor s nastaveními je v tuto chvíli čitelný úplně pro všechny. Upravte nastavení oprávnění pro přístup k němu!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Soubor s nastaveními není v tuto chvíli čitelný, nebo zcela chybí." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Po stažení a umístění souboru do %s se ujistěte, že %s je oprávněn číst pouze uživatelský účet, pod kterým běží webový server a nikdo jiný." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Chyba instalátoru" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Hotovo" #: setup/class_setup.inc:248 msgid "Next" msgstr "Další" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Vnitřní chyba" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Přihlášení se nezdařilo: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Jako objectType (typ objektu) buď nebylo zadáno nic, nebo nesprávná hodnota." #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "nenastavené" #: include/class_management.inc:165 msgid "Filter error" msgstr "Chyba filtru" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Filtr je neúplný!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Oprávnění" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Chyba oprávnění" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Nejste oprávněn(a) vytvořit snímek %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Nejste oprávněni obnovit zachycený stav %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Deklarace panelu pro %s není uvedena v souboru s nastaveními. Nelze proto vytvořit instanci zásuvného modulu!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Kořen" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Odeslat" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Nahoru" #: include/class_listing.inc:313 msgid "Down" msgstr "Dolů" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Seřadit vzestupně" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Seřadit sestupně" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Vybrat vše" #: include/class_listing.inc:592 msgid "created by" msgstr "vytvořili" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "přejít do kořene všech oddělení" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Přejít o oddělení výše" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "Přejít do oddělení uživatele" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "domovské" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Znovunačíst seznam" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Akce" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "zkopírovat" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Vyjmout" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Vložit" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Vyjmout tuto položku" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Zkopírovat tuto položku" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Obnovit zachycené stavy" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exportovat seznam" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Obnovit zachycený stav" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Pořídit zachycený stav" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "vytvořit nový snímek tohoto objektu" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Fatální chyba" #: include/class_xml.inc:66 msgid "in" msgstr "v" #: include/class_xml.inc:68 msgid "on line" msgstr "připojeno" #: include/class_xml.inc:69 msgid "XML error" msgstr "Chyba v XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Heslo nelze změnit, neznámý uživatel %s" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "Aby bylo možné používat SASL, je třeba vyplnit kolonky saslRealm nebo saslExop na obrazovce s nastaveními" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Chyba v nastavení" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Stránka" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Není možné exportovat do formátu PDF: není nainstalována potřebná softwarová knihovna." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Požadovaný kanál neexistuje! Prosím kontaktujte svého správce systémů." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Zrušit vše" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Nelze vložit" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Přihlašovací jméno" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Šablona" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Název šablony" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "fatální chyba: není určeno umístění třídy – pro nápravu prosím spusťe '%s'" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "fatální chyba: nelze vytvořit instanci třídy '%s' – pokuste se to napravit spuštěním '%s' --update-cache (na serveru) a restartujte svůj webový prohlížeč" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATÁLNÍ: chyba při připojování do LDAPu. Server ohlásil '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "Přihlašovací údaj (uid) není v rámci LDAP stromu jedinečný! Kontaktujte svého správce systémů." #: include/functions.inc:597 msgid "Authentication error" msgstr "Chyba ověření" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "Zdá se, že platnost vašeho hesla skončila. Změňte jej pomocí funkce obnovení hesla." #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Nastala chyba při pokusu o přidání zámku. Nahlaste to prosím vývojářům!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Nedaří se vytvořit informaci o zamykání ve stromu LDAP. Kontaktujte svého správce systémů!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "LDAP server odpověděl: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Při pokusu o vyhrazení přístupu k objektu bylo nalezeno několik již existujících zámků. To by se nemělo stávat – probíhá jejich odstraňování." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Limit velikosti položek %d je překročen!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "nastavit novou hodnotu limitu %s a v případě, že ani to nebude stačit, zobrazit toto hlášení znovu" #: include/functions.inc:1128 msgid "Configure" msgstr "Nastavit" #: include/functions.inc:1133 msgid "incomplete" msgstr "neúplné" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Přesto pokračovat" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Přesto upravit" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "chystáte se upravit položky LDAPu %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Položek na stránku" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Použít filtr" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiB" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiB" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiB" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiB" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiB" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sEiB" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiB" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiB" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Soubor %s nebylo možné smazat. Zkuste opravit přístupová práva spuštěním příkazu fusiondirectory-setup --check-directories" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Nelze zapsat do souboru s revizemi!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Nelze číst ze souboru s revizemi!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "nextIdHook není k dispozici. Bude použit výchozí základ!" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Varování LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Nedaří se získat informace o schématech ze serveru. Schémata proto nelze ověřit!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Dostupné třídy" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "Zásuvný modul smíšených skupin je nainstalován, ale vaše nastavení schématu ho nepodporuje." #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "Aby bylo možné použít smíšené skupiny v objectClass posixGroup, je třeba aby byly POMOCNÉ" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "Stávající schéma je nastaveno pro smíšené skupiny, ale není přítomen příslušný zásuvný modul." #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "Je třeba, aby ObjectClass posixGroup bylo STRUKTURÁLNÍ" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Není k dispozici volné ID:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "Neznámá metoda idAllocation (přiřazování ID)!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "Identifikátor sambaUnixIdPool není jedinečný!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "Není k dispozici ID!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "Překročen nejvyšší přijatelný počet neúspěšných pokusů!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Není k dispozici volné ID – není co přidělit!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Nelze nalézt soubor %s – opravte to spuštěním %s (na serveru)" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Všechny objekty v této kategorii" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Opravte výše uvedenou chybu a znovunačtěte tuto stránku." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "Nastavení časové zóny %s ve vašem nastavení není platné." #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Chyba XML ve fusiondirectory.conf: %s na řádku %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Nedaří se přihlášení do LDAPu. Kontaktujte prosím správce systémů." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "Pořizování zachycených stavů je sice zapnuté, ale není nastavena potřebná proměnná %s." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "Pořizování snímků je sice povolené, ale chybí modul pro jejich kompresi. Nainstalujte prosím '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Všechny kategorie" #: include/class_config.inc:1095 msgid "My account" msgstr "Můj účet" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Vyberte pro vypsání objektů typu %s." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Vyberte pro vypsání objektů obsahujících '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Vyberte pro vypsání objektů, které mají zapnuto '%s'." #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Zvolte pro vyhledávání i v podstromech" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Hledat v podstromech" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Tento objekt bude smazán!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Tento %s objekt bude smazán!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Tento objekt bude smazán: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Tento %s objekt bude smazán: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Tento objekt bude smazán:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Tento %s objekt bude smazán:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Tyto objekty budou smazány: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Tyto %s objekty budou smazány: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Nejste oprávněni ke smazání tohoto objektu!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Nejste oprávněni ke smazání objektu:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Nejste oprávněni ke smazání těchto objektů!" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Nejste oprávněni k vytvoření tohoto objektu!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Nejste oprávněni k vytvoření objektu:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Nejste oprávněni k vytvoření těchto objektů:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Nejste oprávněni k úpravám tohoto objektu!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Nejste oprávněni k zobrazení tohoto objektu!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Nejste oprávněni k zobrazení objektu:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Nejste oprávněni k zobrazení těchto objektů:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Nejste oprávněni k přesunutí tohoto objektu!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Nejste oprávněni k přesunutí tohoto objektu:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Nejste oprávněni k přesunutí těchto objektů:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Informace o spojení" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Nelze se připojit k databázi %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Nelze vybrat databázi %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Není určen server %s!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Nedaří se dotazovat do databáze %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Pole %s obsahuje vyhrazené klíčové slovo (použijte něco jiného)!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Příkaz určený jako háček %s pro zásuvný modul '%s' neexistuje!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "Příkaz %s není platný!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "%s příkaz pro zásuvný modul %s není platný!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "%s příkaz (%s) není platný!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "%s příkaz (%s) pro zásuvný modul %s není platný!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Nedaří se spustit příkaz %s!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Nedaří se spustit příkaz '%s' pro zásuvný modul %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Nedaří se spustit příkaz '%s' (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Nedaří se spustit příkaz '%s' (%s) pro zásuvný modul %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Hodnota %s je příliš vysoká!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "Je třeba, aby %s bylo menší než %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Hodnota %s je příliš nízká!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "Je třeba, aby %s bylo větší nebo rovno %d!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "%s závisí na %s – zadejte obě hodnoty!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "V systému již existuje položka s atributem %s!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "Položka %s již používá tento %s atribut!" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Pole %s nemůže být prázdné!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Ukázka:" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "Políčko %s obsahuje neplatné znaky" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "%s není dovoleno:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "%s nejsou dovolené!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Chybějící rozšíření PHP %s!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Zrušit" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Použít" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Uložit" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Přidat" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Přidat %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Smazat" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Smazat %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Upravit…" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Upravit %s…" #: include/class_msgPool.inc:540 msgid "Back" msgstr "Zpět" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Tento účet nemá platná rozšíření %s!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Tento účet má zapnuta nastavení %s. Vypnout je můžete kliknutím níže." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Tento účet má vytvořena nastavení pro %s. Pokud je chcete odebrat, musíte ale nejprve odebrat nastavení pro %s!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Tento účet má deaktivována nastavení pro %s. Zapnout je můžete kliknutím níže." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Tento účet má deaktivována nastavení pro %s. Zapnout je ale můžete teprve poté, co přidáte nastavení pro %s!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Přidat nastavení pro %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Odebrat nastavení pro %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "leden" #: include/class_msgPool.inc:662 msgid "February" msgstr "únor" #: include/class_msgPool.inc:662 msgid "March" msgstr "březen" #: include/class_msgPool.inc:662 msgid "April" msgstr "duben" #: include/class_msgPool.inc:663 msgid "May" msgstr "květen" #: include/class_msgPool.inc:663 msgid "June" msgstr "červen" #: include/class_msgPool.inc:663 msgid "July" msgstr "červenec" #: include/class_msgPool.inc:663 msgid "August" msgstr "srpen" #: include/class_msgPool.inc:663 msgid "September" msgstr "září" #: include/class_msgPool.inc:664 msgid "October" msgstr "říjen" #: include/class_msgPool.inc:664 msgid "November" msgstr "listopad" #: include/class_msgPool.inc:664 msgid "December" msgstr "prosinec" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "neděle" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "pondělí" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "úterý" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "středa" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "čtvrtek" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "pátek" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sobota" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Operace v databázi se nezdařila!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "Operace čtení" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "Operace přidání" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "Operace upravování" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "Operace mazání" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "Operace hledání" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "Ověření" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s se nezdařilo!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "Operace v LDAP databázi se nezdařila!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objekt" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Nahrání se nezdařilo!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Nahrání se nezdařilo: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Výpadek komunikace se službou infrastruktury!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Selhání komunikace se službou infrastruktury: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "Toto %s je stále používáno objektem: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Toto %s je stále používáno." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "Toto %s je stále používáno následujícími objekty: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Soubor %s neexistuje!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Soubor %s nelze číst!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Do souboru %s nelze zapisovat!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "Hodnota %s v tuto chvíli buď není nastavena, nebo je neplatná – překontrolujte svůj soubor s nastaveními!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Soubor %s nelze smazat!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Složku %s se nedaří vytvořit!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Složku %s nelze smazat!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Ověřování, zda je podporováno %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Nainstalovat a zapnout modul PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Nainstalovat a zapnout Pear modul %s" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Nelze připravit třídu '%s'! Možná ve Vaší instalaci FusionDirectory chybí příslušný zásuvný modul?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "Nově zadaná hodnota základu není platná a proto je stále používána předchozí!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "Pořizování zachyceného stavu objektu" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "DN objektu, ze kterého pořizujete zachycený stav" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Časová značka" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "Kdy byl tento zachycený stav pořízen" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "Důvod" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "Důvod pořízení tohoto zachyceného stavu" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "R-m-d, H:m:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Obnovit" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "Obnovení zachycených stavů" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Zachycené stavy" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "Zachycené stavy, které jsou pro tento objekt k dispozici" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Soubor" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Řádek" #: include/php_setup.inc:53 msgid "PHP error" msgstr "chyba v PHP" #: include/php_setup.inc:62 msgid "class" msgstr "třída" #: include/php_setup.inc:70 msgid "function" msgstr "funkce" #: include/php_setup.inc:76 msgid "static" msgstr "neměnné" #: include/php_setup.inc:80 msgid "method" msgstr "metoda" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "stopa" #: include/php_setup.inc:132 msgid "Type" msgstr "Typ" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumenty" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Během vytváření této stránky ohlásil interpret PHP několik chyb!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "zaslat hlášení o chybě vývojářům FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Zaslat hlášení o chybě" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "přepnout informace" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Varování ohledně výkonu" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "Výkonnost LDAPu je špatná: poslední dotaz trval celých %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "Podstromy s RDN %s se nedaří automaticky vytvářet: nebyla nalezena žádná třída objektu!" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "Nedaří se automaticky vytvořit podstromy s RDN %s: nepodporováno" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "při operaci na %s na LDAP serveru %s" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "při operaci na LDAP serveru %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "proc_open se nezdařilo vykonat ldapsearch" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Vyberte požadované položky" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Název" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Popis" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Role %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Skupina %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Skupina uživatele" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "žádné" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "neznámé" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Upravit" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Odstranit" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Nebylo nalezeno žádné určení zásuvného modulu pro inicializaci %s – zkontrolujte svůj soubor s nastaveními." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Průběh mazání byl přerušen zásuvným modulem %s: %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "sekundy" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minuty" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "hodiny" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "dny" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Ze šablony" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "%s šablona" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Zobrazit %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "BEZ POPISKU" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Nastavení šablony" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Toto je název šablony" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "Pouze hlavní panel může vypočítat rozlišený název" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "Nedaří se spočítat rozlišený název: žádná nadřazená třída panelu pro %s" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "Nedaří se spočítat dn: nedaří se nalézt objectType informace z panelu třídy %s" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Chyba při ukládání" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Položka s takovým rozlišeným názvem již existuje: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "Položka %s neexistuje" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (vyžadováno)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Základ objektu" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Nelze přečíst nahraný soubor: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "soubor je prázdný" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "soubor nebyl nenalezen" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "soubor není čitelný" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d bajtů)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Nahrát" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "stažení" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Neplatná hodnota pro %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Celé kladné číslo z rozmezí %d až %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Celé kladné číslo větší než %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Celé kladné číslo menší než %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Desetinné číslo z rozsahu %f až %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Desetinné číslo větší než %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Desetinné číslo menší než %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "Došlo k problému s rozbalováním dat zachyceného stavu" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Panel %s" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "přístupová práva (ACL)" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "správa seznamů pro řízení přístupu (ACL)" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "ACL role" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "Neznámý typ ACL %s!\nPro převod acl do nového formátu spusťte fusiondirectory-setup --migrate-acls." #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Neznámá položka %s!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Všichni uživatelé" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Složka %s, nastavená jako místo pro provedení sestavení, není přístupná!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "Nastavení FusionDirectory %s/%s není čitelné. Pro nápravu spusťte (na serveru) příkaz fusiondirectory-setup --check-config ." #: html/index.php:171 msgid "Smarty error" msgstr "Chyba ve Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "Složka %s, zadaná jako kompilační, není přístupná!" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Platnost vašeho sezení ve FusionDirectory skončila!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "Vaše IP adresa byla změněna!" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "Neplatný parametr %s pro zásuvný modul!" #: html/index.php:217 msgid "No session found!" msgstr "Nebyla nalezena žádná relace!" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "Chyby nahlášené při kontrole LDAP schématu:" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Zadejte platné uživatelské jméno!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Zadejte své heslo!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Zkontrolujte prosím správnost kombinace zadaného uživatelského jména a hesla." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Účet je uzamčen. Kontaktujte svého správce systémů!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Váš webový prohlížeč má zakázané cookies. Prosím povolte je a před dalším pokusem o přihlášení stránku nechejte tuto stránku načíst znovu!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Nastavení %s/%s FusionDirectory není čitelné. Akce byla zrušena." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "E-mailová adresa" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "Účet s uživatelským jménem %s nebyl nalezen" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "Bylo nalezeno hned několik účtů s uživatelským jménem %s" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Nastal problém s poštovním serverem – obraťte se na svého správce systémů." #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "tato poukázka (token) je neplatná" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Vyskytl se problém s poštovním serverem, potvrzovací e-mail proto nebyl odeslán" #: html/main.php:115 msgid "PHP configuration" msgstr "Nastavení PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Fatální chyba: v PHP je zapnuto 'register globals'. Dokud to Váš správce systémů neopraví, nebude možné se přihlásit do FusionDirectory." #: html/main.php:142 msgid "Password change" msgstr "Změna hesla" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Platnost vašeho hesla již brzy skončí – změňte ho prosím!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Dochází volná kapacita operační paměti!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "kontrola dle ACL je vypnuta" #: html/main.php:289 msgid "Plugin" msgstr "Zásuvný modul" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Fatální chyba: Nelze nalézt jakékoli definice zásuvného modulu pro modul %s (%s není soubor)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Chyba v nastavení" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Fatální chyba: ne všechny proměnné POST byly PHP přeneseny – sdělte to prosím svému správci systémů!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Vítejte, %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Odkazy" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "upravit POSIXová nastavení uživatele" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Domovská složka" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Umístění domovské složky tohoto uživatele" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Který shell by měl být použit, když se uživatel přihlásí" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Hlavní skupina" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Hlavní skupina tohoto uživatele" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Stav tohoto unixového uživatelského účtu" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Vynutit konkrétní identifikátor uživatele/skupiny" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Pro tohoto uživatele vynutit konkrétní identifikátory uživatele a jeho hlavní skupiny" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "Identifikátor uživatele" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Hodnota identifikátoru účtu tohoto uživatele" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "Idenifikátor skupiny" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Hodnota identifikátoru hlavní skupiny tohoto uživatele" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Členství ve skupinách" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Účet" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Uživatel musí při prvním přihlášení změnit heslo." #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "Při prvním přihlášení musí uživatel změnit heslo (vyžaduje nastavenou hodnotu u Prodleva před vynucením změny hesla)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Prodleva před vynucením změny hesla (dny)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "Po tomto počtu dnů bude uživatel přiměn ke změně hesla (nevyplnění funkce vypíná)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Datum skončení platnosti hesla" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Datum po kterém skončí platnost hesla uživatele (nevyplnění tuto funkci vypíná)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Délka nečinnosti uživatele, po které bude účet uživatele vypnut (dny)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Po skončení platnosti hesla, jak dlouho nanejvýš může být účet nepoužíván, než dojde k jeho vypnutí (zůstane ovšem zachován). Nevyplnění tuto funkci vypíná" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Prodleva varování uživatele před skončením platnosti hesla (dny)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "Uživatel bude varován nastavený počet dnů předem před skončením platnosti hesla (nevyplnění tuto funkci vypíná)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "důvěryhodnost systémů" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "režim důvěryhodnosti" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Typ ověřování pro tyto počítače" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "vypnuto" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "plný přístup" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "umožnit přístup k těmto strojům" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Tomuto uživateli povolit připojení pouze na počítače z tohoto seznamu" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "samočinné" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "platnost skončila" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "běží čas odkladu" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "aktivní" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "platnost hesla skončila" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "heslo nelze změnit" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Vypršel časový limit při čekání na zámek – zámek bude proto nebude brán v potaz!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Skupina uživatele %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Skupiny a role" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Upravit skupiny a role uživatele" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Členství ve skupinách" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Členství v rolích" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Metoda uložení hesla" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Metoda otisku hesla" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Heslo" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Heslo (Pokud si nepřejete změnit, ponechte prázdné)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Zopakování hesla" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Stejné heslo jako výše, pro vyloučení chybného zadání" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Uživatel" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Informace o uživatelském účtu" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Uživatelský účet" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Osobní údaje" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Příjmení" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Příjmení tohoto uživatele" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Jméno" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Křestní jméno tohoto uživatele" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Stručný popis uživatele" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Fotografie" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "Obrázek pro tohoto uživatele" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Organizační kontaktní údaje" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Umístění" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Stav" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adresa" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Firemní poštovní adresa" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Číslo místnosti" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Číslo místnosti" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Služební telefoní číslo" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobilní" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Číslo služebního mobilního telefonu" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Číslo na pracovní pager" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Číslo služebního faxu" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Webové stránky" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Osobní webové stránky" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Informace o účtu" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Přihlašovací jméno tohoto uživatele" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Uživatelovo heslo" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Osobní kontaktní údaje" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Zobrazovaný název" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "Jméno, pod kterým má být tento uživatel zobrazován. Používáno MS Exchange." #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Adresa bydliště" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Soukromá poštovní adresa" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Soukromý telefon" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Telefonní číslo domů" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Organizační údaje" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Titul" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "Titul osoby v kontextu organizace. Každý z titulů je hodnota tohoto vícehodnotového atributu" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organizace" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Oddělení" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Číslo oddělení" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Číslo oddělení" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Číslo zaměstnance" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Číslo zaměstnance" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Typ zaměstnaneckého poměru" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Nadřízený" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "Ppolicy %s nebyla nalezena v LDAP!" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Nejste oprávněni ke změně svého hesla" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Je třeba, abyste počkali %d sekund než budete moci znovu měnit své heslo" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "Toto heslo už bylo nedávno použito" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "Bylo zadáno naprosto stejné heslo, jako je to stávající" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Pro pokračování je třeba zadat své stávající heslo." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "Zadání v kolonkách Nové heslo a Zopakování nového hesla se neshodují." #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nové heslo" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Nové a staré heslo jsou si příliš podobné." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Nové heslo nelze použít – je příliš krátké (není bezpečné)." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Heslo obsahuje znaky, které mohou být problematické (např. se nenacházejí přímo na klávesnici)." #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Statistiky o uživatelích" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Statistiky uživatelů" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Statistiky skupin" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Účty, jejichž platnost skončila" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Přehled" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Hlášení" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Statistiky" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Obnova zapomenutého hesla" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Nastavení funkce obnovení zapomenutého hesla" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Nastavení obnovy zapomenutého hesla" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Zapnout funkci pro obnovu zapomenutého hesla" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Zda zapnout funkci pro obnovování zapomenutých hesel" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "E-mailová adresa odesilatele" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "E-mailová adresa, ze které budou zprávy posílány" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Doba platnosti odkazu (minuty)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Počet minut, po jejichž uplynutí skončí platnost obnovovacího odkazu" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Kryptografická „sůl“ pro tokeny" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Pouze bezpečnostní opatření, můžete zde zadat cokoli, třeba i nahodile zvolené znaky" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Umožnit používání alternativních adres" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Uživatelé budou moci pro obnovení svých hesel použít jednu ze svých alternativních adres" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "První e-mail" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Předmět" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Předmět prvního e-mailu" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Odkaz pro obnovu hesla" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Tělo zprávy (první %s je přihlašovací jméno, druhé je odkaz)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Obsah první e-mailové zprávy, poslané uživateli, když požádá o nové heslo. Pro přihlašovací jméno a obnovovací odkaz použijte %s." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Druhý e-mail" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Předmět druhého e-mailu" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Obnova ztraceného hesla proběhla úspěšně" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Tělo zprávy (%s je přihlašovací jméno)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Obsah druhé e-mailové zprávy, poslané pro potvrzení toho, že heslo bylo změněno. Na místě přihlašovacího jména uživatele použijte %s – bude dosazeno" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Dobrý den,\n\nVaše heslo bylo změněno.\nUživatelské jméno je samozřejmě pořád stejné – %s" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Nastavení" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Nastavení FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Vzhled a chování" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Jazyk" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Jazyk aplikace. V případě nastavení na samočinný výběr nebo když nebude k dispozici, bude použit jazyk, požadovaný prohlížečem. Toto nastavení je možné změnit pro jednotlivé uživatele." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Vzhled" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Vzhled, který má být použit" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Časová zóna" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Časová zóna, která má být použita" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Nastavení schématu" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "Ověření schématu" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Zapíná kontrolu schématu při přihlašování." #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Nastavení hesel" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Výchozí otisk hesla" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Výchozí otisk, který bude použit" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Vynutit výchozí otisk" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Vynutit použití výchozího otisku hesla" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "minimální délka hesla" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Minimální délka hesel uživatelů" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "O kolik je třeba, aby se hesla lišila" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Nejnižší umožněný počet rozdílných znaků oproti předchozímu heslu" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "omezovat platnost uživatelský účtů na základě platnosti jejich hesel" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Zapíná test stínového atributy během přihlašování k FusionDirectory a vynucuje obnovu hesla nebo uzamčení účtu" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "SASL oblast" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "SASL Exop" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Atribut, který ukládat v atributu userPassword" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Základní nastavení" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Ve výpisech zobrazovat souhrn" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Určuje, zda bude na konci seznamů zobrazována stavová lišta, ve které bude uveden krátký souhrn typu a počtu prvků na seznamu." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Upravit zamykání" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Kontrolovat, zda aktuálně upravovaná položka nebyla mezitím změněna mimo FusionDirectory." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Zapnout protokolování" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Protokolování událostí na straně FusionDirectory." #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "Nejvyšší umožněná velikost LDAP" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Určuje počet položek, které budou ve výchozím nastavení získávány z LDAP." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Přihlašování a sezení" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "atribut použitý pro přihlašování" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Který LDAP atribut by měl být použit jako přihlašovací jméno při přihlašování." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Vynutit šifrované spojení" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Zapnout kontroly zabezpečení PHP z důvodu vynucení šifrovaného přístupu (https) na webové rozhraní." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Varovat, pokud relace není šifrována" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "zobrazí uživateli varování, když použije protokol http namísto https." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Doba nečinnosti, po jejímž uplynutí bude relace automaticky ukončena." #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Zapnout pořizování zachycených stavů" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Toto umožňuje uložit určité stavy položek a později je zase obnovit." #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Základ zachyceného stavu" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "Základ, ve kterém by měly být zachycené stavy ukládány v LDAP." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Umístění klíče" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "Umístění soukromé části klíče FusionDirectory. V tuto chvíli není používáno." #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Umístění certifikátu" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "Umístění certifikátu FusionDirectory. V tuto chvíli není používáno." #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "Umístění certifikátu cert. autority" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "Umístění certifikátu cert. autority. Slouží k ověření stroje s Argonaut serverem." #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "Ústřední ověřovací služba (CAS)" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "Zapnout CAS" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "Bude použito CAS namísto LDAP přihlášení" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "Umístění certifikátu cert. autority na CAS serveru" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Stroj" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "Stroj, na kterém je provozován CAS server" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Port" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "Port na kterém CAS server očekává spojení" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "Kontext CAS" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "Kontext CAS, který použít" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Úložiště účtů uživatelů a skupin" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "atribut účtu uživatele použitý jako DN" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Atribut, který bude použit na začátku rozlišených jmen uživatelů" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "Vzor CN" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "Vzor který použít pro vytváření kolonky běžný název" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Přísná pravidla pro pojmenovávání" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Zapíná přísnou kontrolu uživatelských jmen a názvů skupin" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "Nejnižší identifikátor skupiny/uživatele" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "Nejnižší umožněný přiřaditelný identifikátor uživatele či skupiny pro vyloučení bezpečnostních průniků s účty s identifikátorem 0 (root)." #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Háček příštího identifikátoru" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Skript, který má být volán pro nalezení dalšího volného identifikátoru pro uživatele nebo skupiny." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Od jakého čísla začít přidělovat identifikátory uživatelů" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Kde začít s hledáním volných identifikátorů pro nové uživatele." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Od jakého čísla začít přidělovat identifikátory skupin" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Kde začít s hledáním volných identifikátorů pro nové skupiny." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "Relativní rozlišený název uživatelů" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "Větev, ve které jsou uloženi uživatelé." #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "Relativní rozlišený název skupin" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Větev, ve které jsou uloženy skupiny." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "Relativní rozlišený název ACL úlohy" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "Větev, ve které jsou uloženy ACL úlohy." #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Metoda přiřazování identifikátorů" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Způsob přiřazování identifikátorů uživatelů/skupin" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Tradiční" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Rozsah unixových identifikátorů pro Samba" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "Nejnižší identifikátor uživatele" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "Nejnižší umožněná hodnota pro identifikátor uživatele při použití způsobu rozsahu" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "Nejvyšší identifikátor uživatele" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "Nejvyšší umožněná hodnota pro identifikátor uživatele při použití způsobu rozsahu" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "Nejnižší identifikátor skupiny" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "Nejnižší umožněná hodnota pro identifikátor skupiny při použití způsobu rozsahu" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "Nejvyšší identifikátor skupiny" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "Nejvyšší umožněná hodnota pro identifikátor skupiny při použití způsobu rozsahu" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Diagnostika" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Zobrazit chyby" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "V horní části obrazovky vypisuje chyby, ke kterým došlo v PHP. V produkčním nasazení by toto mělo být vypnuto, protože se zde mohou objevovat hesla." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "maximální prodleva odpovědi LDAPu" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Zastavit LDAP akce pokud není obdržena odpověď v rámci zadaného počtu sekund." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Zaznamenávat statistiky LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Sledovat statistiky časování LDAP do systémového protokolu. Může pomoci s hledáním problémů s indexováním či chybnými filtry hledání." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Úroveň podrobností diagnostických informací" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Zobrazit určité údaje při každém načtení stránky." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Různé" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "Háčky, které jsou volány pokud nastane konkrétní událost" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "panel" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "Panel, kterého se týká tento háček" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "režim" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Kdy spouštět tento příkaz" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "příkaz" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Příkaz, který bude spouštěn" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "háčky" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "Zobrazit výstup háčku" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "Pokud je zapnuto, je úspěšné vykonání háčku zobrazeno uživateli prostřednictvím dialogu." #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Dostupné shelly" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "POSIX shelly, dostupné pro uživatele F.D." #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "Zobrazit panel ACL u všech objektů" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "Pro velmi specifická nastavení ACL práv, kde je zapotřebí udělit právo na jediném objektu." #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Zásuvné moduly" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Nastavení zásuvných modulů" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Nastavení zásuvných modulů" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "Nastavení zásuvných modulů pro FusionDirectory" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "skupiny objektů" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "Relativní rozlišený název OGroup" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Větev, ve které budou ukládány objekty skupin" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Vynutit dotázání se na heslo" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "Hodí se pro přidání háčku, používajícího hodnotu hesla když jsou upravována SASL uživatelská hesla" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Nastavení Přehledu" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "Nastavení zásuvného modulu Přehled pro FusionDirectory" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Schéma názvů Přehledu" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Počet číslic" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Počet číslic, které umístit za předponu" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Předpony" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Předpony pro identifikátory počítačů" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Přehled uživatelů, jejichž účtům skončila platnost" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Počet dnů" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "Počet dnů před skončením platnosti účtu, kdy se tento začne zobrazovat v přehledu účtů, kterým končí platnost" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Oddělení" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "oddělení" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "vlastnosti" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Název %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Název pro toto %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Stručný popis tohoto %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Kategorie" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Kategorie tohoto %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Nadřízený tohoto %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Země" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Poštovní adresa pro toto %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Telefonní číslo" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Telefonní číslo faxu" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "organizace" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Doména" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "doména" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Spravovat oddělení" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Uživatelé a skupiny" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "část (prvek) názvu domény" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "Doménová část" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Místo" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "místo" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Seznam oddělení" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "země" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Spravovat uživatele" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Zamykání účtu" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "Způsob ukládání hesel %s neumožňuje uzamykání účtů. Účet %s proto nebyl uzamčen!" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Odemknout účet" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Uzamknout účet" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Seznam uživatelů" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Příjmení" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Jméno" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Zamknout uživatele" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Odemknout uživatele" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Použít šablonu" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Vytvořit nového uživatele pomocí šablony" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Upravit uživatele" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Odebrat uživatele" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Role" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Informace o roli" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Organizační role" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informace" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Název této skupiny" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Popis role" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Telefonní číslo" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Faxové číslo" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Přidat uživatele pro tuto roli" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Spravovat skupiny a role" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Upravit vlastnosti role" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "POSIX" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Upravit POSIXové vlastnosti" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Zobrazit skupiny uživatele" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Zobrazit hlavní skupiny" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Zobrazit organizační role" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Zobrazit skupiny aplikací" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Zobrazit e-mailové skupiny" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Zobrazit skupiny Samby" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Zobrazit skupiny serverů" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Zobrazit skupiny počítačů" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Zobrazit skupiny počítačů s MS Windows" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Zobrazit skupiny terminálů" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Zobrazit skupiny tiskáren" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Zobrazit skupiny telefonů" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Neznámý typ: %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "Neexistující rozlišený název: %s" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "skupina objektu" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Informace o skupině objektu" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Skupina" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Stručný popis této skupiny" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "členské objekty" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Objekty spadající do této skupiny" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Této skupině umožnit připojení pouze na počítače z tohoto seznamu" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "Není možné umístit počítače a terminály do jedné skupiny" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Seznam skupin" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Informace o POSIX skupině" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "POSIX skupina" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "POSIX skupina uživatelů" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Vynutit konkrétní GID identifikátor" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Vynutit konkrétní identifikátor pro tuto skupinu" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "GID identifikátor pro tuto skupinu" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Členové skupiny" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Přiřazení ACL" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "přiřazení ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "Dialog přiřazení ACL" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Dialog přiřazení úloh řízení přístupu" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Režim" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "Týká se toto celého podstromu nebo jen základu?" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Podstrom" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Pouze základ" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Role, kterou použít" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Pro všechny uživatele" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Použít tento ACL seznam pro všechny uživatele LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Členové" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Uživatelé či skupiny, kterým má být přiřazena tato role" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Přiřazení ACL" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Přiřazení úlohy řízení přístupu" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Přiřazení" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Přiřazení ACL úlohy pro tento základ" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Přiřazení na objektu či podstromu %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "pro tuto kategorii není nastaven žádný ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL pro tyto objekty: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "upravit ACL kategorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "resetovat ACL kategorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "seznam dostupných katergorií ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "všechny objekty v současném podstromu" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "číst" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "Zápis" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Zobrazit/skrýt pokročilá nastavení" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Vytvářet objekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Přesunout objekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Odstranit objekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Udělit oprávnění vlastníkovi" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Celý objekt" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Správa úloh ACL" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Obsahuje nastavení pro tyto objekty: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "role řízení přístupu" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Role ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Název této role" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Stručný popis této role" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "Seznamy pro řízení přístupu" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACL seznamy, které jsou součástí této skupiny" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "Dokud to nebude opraveno, FusionDirectory NEbude fungovat." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory bude fungovat i tak." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Vytvořit nový správcovský účet pro FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Tento dialog automaticky přidá nového super správce do vašeho LDAP stromu." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Identifikátor uživatele" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Heslo (zopakování)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Zdá se, že toto je první spuštění FusionDirectory – není k dispozici jakékoli nastavení. Tento jednoduchý průvodce se vám pokusí pomoci s jeho vytvořením." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Co pro Vás tento průvodce udělá?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Vytvořit základní nastavení pro jednu organizaci" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Pokusí se najít problémy, které by mohly existovat ve Vaší instalaci PHP a LDAP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Nechá vás vybrat ze základních a pokročilých voleb nastavení" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Asistovaný převod stávajících stromů v LDAP databázi" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Co tento průvodce udělat nemůže?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Nalézt všechny případné chyby v nastavení." #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Provést přechod ze všech možných uspořádání LDAP adresáře – než začnete, vždy proveďte zálohu!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Pro pokračování:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "Z bezpečnostních důvodů je třeba, abyste instalačnímu procesu prokázali své oprávnění vytvořením souboru %1 na souborovém systému serveru, do kterého zapíšete identifikátor tohoto sezení. Můžete tak učinit spuštěním následujícího příkazu (na serveru):" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Až budete hotovi, klikněte na tlačítko Další." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "přidejte do LDAPu potřebné třídy objektů" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Stávající" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Po přemístění" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Zavřít" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "Tento dialog umožňuje přesunout vícero položek do příslušného stromu. Je tak možné zpřehlednit uspořádání LDAP databáze." #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "U této volby buďte opatrní! Na tyto položky mohou existovat odkazy. Ty nemohou být instalátorem FusionDirectory přemístěny – takže pokud takové odkazy skutečně existují, v takovém případě bude nejlépe přemisťování zrušit. " #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Přesunout označené položky do tohoto stromu" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "Uvedené položky jsou nyní viditelné v rozhraní FusionDirectory. Pokud to chcete u některých položek změnit, pak je jednoduše označte a klikněte na Přemístit." #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Náhled toho, co s vybranými položkami stane po migraci, lze získat z LDIFu po kliknutí na 'zobrazit změny'." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Zobrazit změny" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Během kontroly LDAPu bude zjišťováno, zda zde existují případné běžně se vyskytující nedostatky, na které lze narazit při přechodu na správu LDAPu pomocí FusionDirectory. Pro docílení bezproblémového chodu služeb bude dobré odstranit níže uvedené problémy." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Zkontrolovat znovu" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Uložit nastavení do souboru" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "Spustit %1 pro narovnání práv na souboru fusiondirectory.conf" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Stáhnout nastavení" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Stav: " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtr" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Ztracené heslo" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Tento dialog umožňuje jednoduše si změnit heslo. Zadejte (dvakrát) nové heslo do políček níže a klikněte na 'změnit'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "adresář" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Zopakování nového hesla" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Odolnost hesla" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Změnit" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Pro změnu hesla klikněte sem" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Úspěch" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Vaše heslo bylo úspěšně změněno." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Do políčka níže zadejte svou e-mailovou adresu a klikněte na Změnit." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "E-mail" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Funkce pro obnovení zapomenutého hesla není zapnutá. Pokud jste ztratili své heslo, kontaktujte svého správce systémů" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Přihlašovací obrazovka" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Zadejte své uživatelské jméno a heslo pro přihlášení do správy systémů tohoto místa." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Uživatelské jméno" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Nemohu si vzpomenout své heslo" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Přihlásit" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Přihlaste se kliknutím sem" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "Omezování velikosti napomáhá k zlepšení odezvy LDAPu a chrání server před přílišným zatížením. Nejjednodušším způsobem, jak zacházet s velkými databázemi bez dlouhých odezev, je omezit hledání na menší hodnoty a pro získávání položek, které chcete, využívat filtry." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Zvolte, jak reagovat během tohoto sezení" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignorovat tuto chybu a zobrazit všechny položky, které LDAP server poskytne" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "Ignorovat tuto chybu a zobrazit všechny položky, které nejsou větší než zadaný limit – jako náhradu si vystačím s filtry." #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Nastavit" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "Varování: chystáte se smazat následující objekty" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Týká se veškerých informací o této položce v adresáři. Prosím velmi dobře si rozmyslete, zda to opravdu chcete udělat, protože provedené změny už ve FusionDirectory nepůjde vzít nijak jednoduše zpět (nanejvýš složitě ze záloh, pokud existují a obsahují potřebná data)!" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Tedy – pokud jste si jistí, klikněte na Smazat. V opačném případě operaci zrušte kliknutím na Zrušit." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Hlavní" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Odhlásit" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Přihlášeni:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Platnost relace skončí za %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "Varování: chystáte se obnovit následující zachycený stav" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "Jakékoli úpravy, učiněné na tomto objektu od doby pořízení tohoto zachyceného stavu, budou ztraceny." #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "Takže, pokud to tak opravdu chcete, klikněte na Pokračovat. V opačném případě celou operaci zrušte kliknutím na Storno." #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Pokračovat" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Zjištěn konflikt při vyhrazování prostředků." #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Pouze pro čtení" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Průvodce pro zkopíruj a vlož" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Některé hodnoty musí být jedinečné v rámci celého adresáře, některé kombinace jsou zase nesmyslné. FusionDirectory zobrazuje příslušné atributy. Upravte prosím níže uvedené hodnoty tak, aby odpovídaly těmto pravidlům." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Pamatujte, že některé vlastnosti, jako například záznam o pořízených snímcích, nebudou zkopírovány!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Případně když během kopírováním či přesouvání objektu v rámci FusionDirectory smažete zdrojový objekt, může to vést k selhání vkládání objektů do nového umístění!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operace byla dokončena" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "Vytváření nového objektu s použitím šablon" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL přiřazené k této položce" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "nový ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "typ / rozsah ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "zvolte typ / rozsah ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "další volby filtru" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "použít členy z" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Členové k dispozici" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Vypsat možné cíle zprávy" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "vypsat příjemce zprávy" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL pro tento objekt" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Role k dispozici" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Kolektiv tvůrců FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "%1 odkazuje na naši %3" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "%1 odkazuje na naše políčko %3 z panelu %2" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Tento objekt nemá žádnou návaznost na další objekty." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Nastavení uživatele" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Odstranit heslo" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Nastavit nové heslo" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Fotografie" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Fotografie uživatele" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Odebrat fotografii" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "V tomto okamžiku nejste oprávněni změnit si své heslo." #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Metoda otisku hesla nebyla změněna!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Vaše heslo bylo úspěšně změněno. Nezapomeňte změnit též jeho případnou uloženou podobu ve všech aplikacích, které se jím někam přihlašují." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "Je zde 1 skupina:" msgstr[1] "Jsou zde %1 skupiny:" msgstr[2] "Je zde %1 skupin:" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "Jedna z nich je %1 skupina" msgstr[1] "%2 jsou %1 skupiny" msgstr[2] "%2 je %1 skupin" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "Není zde žádná %1 skupina" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "Je zde jeden uživatel:" msgstr[1] "Jsou zde %1 uživatelé:" msgstr[2] "Je zde %1 uživatelů:" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "Jeden z nich má %1 účet" msgstr[1] "%2 z nich mají %1 účet" msgstr[2] "%2 z nich má %1 účet" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Nikdo z nich nemá a %1 účet" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "Jeden z nich je uzamčen" msgstr[1] "%1 z nich jsou uzamčené" msgstr[2] "%1 z nich je uzamčených" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Žádný z nich není uzamčen" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "Je zde jeden účet, kterému skončila platnost" msgstr[1] "Jsou zde %1 účty, kterým skončila platnost" msgstr[2] "Je zde %1 účtů, kterým skončila platnost" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Není zde žádný účet, jehož platnost skončila" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Nadřízený, kterého se týká" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "Identifikátor uživatele (uid)" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "bežný název (cn)" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telefonniCislo" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "stinoveSkonciPlatnost" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "nadřízený" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "E-mail" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "Je zde jeden účet, kterému končí platnost v příštích %1 dnech" msgstr[1] "Jsou zde %2 účty, kterým končí platnost v příštích %1 dnech" msgstr[2] "Je zde %2 účtů, kterým končí platnost v příštích %1 dnech" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "V příštích %1 dnech nekončí platnost žádného z účtů" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Další účty, kterým skončila platnost" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Zobrazit šablony" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "zobrazit uživatele, kteří nemají účet pro jakékoli služby" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "zobrazit uživatele s POSIX účtem" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "zobrazit uživatele s e-mail účtem" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "zobrazit uživatele se Samba účtem" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "Toto zahrnuje všechna ACL přiřazení na těchto uzlech. Pokud chcete vypsat seznam těchto přiřazení, zrušte toto a otevřete si objekty." #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "Pokračujte kliknutím na Smazat nebo akci zrušte kliknutím na Zrušit." fusiondirectory-1.0.19/locale/de/000077500000000000000000000000001304016502700166575ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/de/fusiondirectory.po000066400000000000000000004762301304016502700224630ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: German (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Bevorzugte Sprache" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Sprachauswahl" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Dieser Schritt erlaubt es Ihnen, Ihre bevorzugte Sprache auszuwählen." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatisch" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "PHP Modul- und Erweiterungsprüfung" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "PHP-Einrichtungskonfiguration (Information anzeigen))" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Installationsprüfung" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Grundlegende Überprüfungen der PHP-Version und Erweiterungen." #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Prüfe PHP-Version" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP muss in Version %s oder höher vorliegen." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Bitte aktualisieren Sie auf eine unterstützte Version." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory benötigt dieses Modul um mit Ihrem LDAP-Server zu kommunizieren." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory benötigt dieses Modul für internationalisierte Schnittstellen." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory benötigt dieses Modul um mit den unterschiedlichen Arten von Servern und Protokollen zu kommunizieren." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory benötigt dieses Modul für die Sambaintegration." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory benötigt entweder 'mhash' oder das 'sha1' Modul um SSHA-Verschlüsselung nutzen zu können." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory benötigt dieses Modul um mit einem IMAP-Server zu kommunizieren." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory benötigt dieses Modul um Unicode-Zeichenketten zu verwalten." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "Imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory benötigt diese Erweiterung um Bilder zu verarbeiten." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "Komprimierungs-Modul" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory benötigt diese Erweiterung um Snapshots zu verwalten." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals ist ein PHP-Mechanismus, welcher alle globalen Variablen für Skripte direkt zugänglich macht. Dies kann ein Sicherheitsrisiko sein." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Suchen Sie nach 'register_globals' in Ihrer php.ini und setzen Sie es auf 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP verwendet diese Einstellungen für den Garbage Collector, um alte Sessions zu entfernen." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Wenn Sie diesen Wert auf einen Tag setzen, wird dies vermeiden, dass Sie die Sitzung und den zugehörigen Cookie verlieren, bevor diese tatsächlich ihre Gültigkeit verlieren." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Suchen Sie in Ihrer php.ini nach 'session.gc_maxlifetime' und setzen Sie es auf 84600 oder höher." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Aus" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Um FusionDirectory ohne Probleme benutzen zu können, muss die Option session.auto_start in Ihrer php.ini auf 'Off' gestellt werden." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Suchen Sie in Ihrer php.ini nach 'session.auto_start' und setzen Sie es auf 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory benötigt mindestens 128MB Arbeitsspeicher. Wird dieser Wert unter dieses Limit gesetzt, kann dies unreproduzierbare Fehler hervorrufen. Erhöhen Sie dies für größere Installationen." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Suchen nach 'memory_limit' in Ihrer php.ini und setzen auf '128M' oder höher." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Diese Einstellung beeinflusst die Verarbeitung der Ausgabe. Stellen Sie diese auf 'off', um die Leistung zu erhöhen." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Suchen Sie in Ihrer php.ini nach 'implicit_flush' und setzen Sie es auf 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Die Ausführungszeit sollte mindestens 30 Sekunden betragen." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Suchen Sie in Ihrer php.ini nach 'max_execution_time' und setzen Sie es auf '30' oder höher." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Erhöhen Sie die Sicherheit Ihres Servers, indem Sie expose_php auf 'off' setzen. PHP wird in dieser Einstellung keine Informationen über Ihren laufenden Server senden." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Suchen Sie in Ihrer php.ini nach 'expose_php' und setzen Sie es auf 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Erhöhen Sie die Leistung des Servers, indem sie magic_quotes_gpc auf 'off' stellen." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Suchen Sie in Ihrer php.ini nach 'zend.ze1_compatibility_mode' und setzen Sie es auf 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Willkommen" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Willkommen im FusionDirectory Einrichtungsassistent" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Die Willkommensnachricht" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrieren" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "LDAP-Inspektion" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analysieren Sie Ihr aktuelles LDAP nach Kompatibilität mit FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Prüfe Objekt-Klassen des Wurzelobjektes" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Prüfe Berechtigungen auf die LDAP-Datenbank" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Prüfe auf unsichtbare Benutzer" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Prüfe auf Superadministrator" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Prüfe auf Benutzer ausserhalb des Benutzerbaums" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Prüfe auf Gruppen ausserhalb des Gruppenbaums" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Prüfe auf unsichtbare Abteilungen" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Prüfe auf doppelte UID Nummern" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "LDAP-Abfrage fehlgeschlagen." #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Fehlgeschlagen" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Fehlende FusionDirectory Objektklasse '%s'!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Bitte überprüfen Sie Ihre Installation." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Die strukturelle Objekt-Typ Ihres Wurzel-Objektes kann nicht konvertiert werden. Bitte fügen Sie die Objekt-Klasse '%s' manuell hinzu." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP-Fehler" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Warnung" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "%s Benutzer(innen) gefunden, die nicht in FusionDirectory sichtbar sein werden oder unvollständig sind." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "Benutzermigration" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Migrationsfehler" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "Kann Eintrag \"%s\" nicht migrieren:" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Anlegen" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Benutzer" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Gruppen" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Es gibt kein FusionDirectory Administratorkonto innerhalb Ihres LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "Gibt alle Rechte auf alle Objekte" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Fehler" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "Einige Standard-ACL-Rollen fehlen" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "Kann ACL-Rolle \"%s\" nicht hinzufügen:" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Benutzer in den konfigurierten Benutzerbaum verschieben" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "Eintrag wird verschoben von" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "an" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Die folgenden Referenzen werden aktualisiert" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Es wurden %s Gruppen ausserhalb des konfigurierten Baums '%s' gefunden." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "Gruppen in den konfigurierten Gruppenbaum verschieben" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Fand %s Abteilungen, die nicht in FusionDirectory sichtbar sein werden." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Name des Standortes" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "Verbindungs-URI" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "TLS-Verbindung" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Basis" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "Die LDAP-Verzeichnisbasis" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Authentisierung" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "Administrator-DN" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Administrator-Passwort:" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Status" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Momentaner Status" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "LDAP-Einrichtung" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Einrichten der LDAP-Verbindung" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Dieser Dialog leistet die grundlegende Konfiguration der LDAP-Konnektivität für FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Anonyme Anmeldung an server '%s' ist fehlgeschlagen!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Verbindung als Benutzer '%s' ist fehlgeschlagen!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Wiederholen" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Verbindung als anonymer Benutzer zu Server '%s' war erfolgreich." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Aktualisieren" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Bitte geben Sie Ihren Benutzer und das zugehörige Passwort ein!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Verbindung als Benutzer '%s' zu Server '%s' war erfolgreich!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Speichern" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Abschluß - Schreiben der Konfigurationsdatei" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Schreibe Konfigurationsdatei" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Ihre Konfigurationsdatei ist momentan für jeden lesbar. Bitte ändern Sie die Zugriffsrechte!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Die Konfiguration ist momentan nicht lesbar oder existiert nicht." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Nach dem Herunterladen und dem Plazieren der Datei unter %s, bitte vergewissern Sie sich dass der Benutzer unter dem der Webserver läuft, in der Lage ist %s zu lesen. Anderen Nutzern sollte dies nicht möglich sein." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Einrichtungsfehler" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Abgeschlossen" #: setup/class_setup.inc:248 msgid "Next" msgstr "Vor" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Interner Fehler" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Protokollieren fehlgeschlagen: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Der angegebene Objekt-Typ ist leer oder ungültig!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "unkonfiguriert" #: include/class_management.inc:165 msgid "Filter error" msgstr "Filter Fehler" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Der Filter ist unvollständig!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Berechtigung" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Berechtigungsfehler" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s zu erstellen." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Ihnen ist es nicht erlaubt, einen Snapshot für %s wiederherzustellen." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Es wurde keine TAB-Definition für '%s' in der Konfigurationsdatei gefunden. Kann keine Plugin-Instanz erzeugen!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Wurzel" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Übertragen" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Auf" #: include/class_listing.inc:313 msgid "Down" msgstr "Ab" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Aufsteigend sortieren" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Absteigend sortieren" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Alle auswählen" #: include/class_listing.inc:592 msgid "created by" msgstr "Angelegt von" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Gehe zur Wurzel-Abteilung" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Eine Abteilung nach oben" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Heimat" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Liste neu laden" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Aktionen" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Kopieren" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Ausschneiden" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Einfügen" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Diesen Eintrag ausschneiden" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Diesen Eintrag kopieren" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Abzug wiederherstellen" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Liste exportieren" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Abzug wiederherstellen" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Snapshot erstellen" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Erstelle einen neuen Snapshot dieses Objekts" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Schwerer Fehler" #: include/class_xml.inc:66 msgid "in" msgstr "in" #: include/class_xml.inc:68 msgid "on line" msgstr "in Zeile" #: include/class_xml.inc:69 msgid "XML error" msgstr "XML-Fehler" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Kann das Passwort nicht ändern, unbekannter Nutzer '%s'" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Konfigurationsfehler" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Seite" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Kein PDF-Export möglich: FPDF-Bibliothek ist nicht installiert." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Der angeforderte Kanal existiert nicht! Bitte benachrichtigen Sie Ihren Administrator." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Alle abbrechen" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Kann nicht einfügen" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Kennung" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Vorlage" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Name der Vorlage" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Schwerer Fehler: keine Klassenfundorte definiert - bitte führen Sie '%s' aus, um das Problem zu beheben" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Schwerer Fehler: Kann Klasse '%s' nicht instanziieren - bitte führen Sie '%s' aus um das Problem zu beheben" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Fehler beim Verbinden mit dem LDAP-Server. Die Meldung lautet '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Authentifizierungsfehler" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Fehler beim Setzen einer Sperre. Bitte kontaktieren Sie die Entwickler!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Kann Sperrinformation für LDAP-Baum nicht erzeugen. Bitte kontaktieren Sie Ihren Administrator!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "Der LDAP-Server meldete: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Mehrere Sperren für das zu sperrende Objekt gefunden. Dies sollte nicht passieren - räume mehrere Referenzen auf." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Die Größenbeschränkung von %d Einträgen ist überschritten!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Verwende eine neue Größenbeschränkung von %s Einträgen und zeige diese Meldung bei Überschreitung wieder an" #: include/functions.inc:1128 msgid "Configure" msgstr "Konfigurieren" #: include/functions.inc:1133 msgid "incomplete" msgstr "unvollständig" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Trotzdem Fortsetzen" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Trotzdem bearbeiten" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Sie bearbeiten gerade den/die LDAP Eintrag/Einträge %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Einträge pro Seite" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Filter anwenden" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiB" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiB" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiB" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiB" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiB" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sEiB" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiB" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiB" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Datei '%s' konnte nicht gelöscht werden. Versuchen Sie fusiondirectory-setup --check-directories um die Rechte zu beheben." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Kann nicht in Revisions-Datei schreiben!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Kann nicht von Revisionsdatei lesen!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "'nextIdHook' ist nicht verfügbar. Benutze Standardbasis!" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "LDAP-Warnung" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Kann die Schema-Informationen nicht vom Server beziehen. Keine Schemaprüfung möglich!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Verfügbare Klasse(n)" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Konnte keine freie ID allozieren:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "unbekannte idAllocation-Methode!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool ist nicht eindeutig!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "keine ID verfügbar!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "maximale Anzahl von Versuchen abgelaufen!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Konnte keine freie ID allozieren!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Konnte Datei '%s' nicht finden - bitte führen Sie '%s' aus um das Problem zu beseitigen" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Keine Objekte dieser Kategorie" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Bitte beheben Sie obigen Fehler und laden die Seite neu." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "Die Zeitzoneneinstellung \"%s\" in Ihrer Konfiguration ist nicht gültig." #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "XML-Fehler in der Datei fusiondirectory.conf: %s in Zeile %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Kann nicht mit dem LDAP-Server verbinden. Bitte benachrichtigen Sie den Administrator." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "Die Snapshot-Funktionalität ist aktiviert, aber die erforderliche Variable '%s' ist nicht gesetzt." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "Die Snapshot-Funktionalität ist aktiviert, aber das erforderliche Modul ist nicht verfügbar. Bitte installieren Sie '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Alle Kategorien" #: include/class_config.inc:1095 msgid "My account" msgstr "Mein Konto" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Auswählen um Objekte des Typs '%s' aufzulisten." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Wählen Sie dies um Objekte aufzulisten die '%s' enthalten." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Auswählen um Objekte des Typs '%s' aufzulisten" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Wählen Sie diese Option um auch in Teilbäumen zu suchen" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Suche in Teilbäumen" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Dieses objekt wird gelöscht!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Dieses '%s'-Objekt wird gelöscht!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Dieses Objekt wird gelöscht: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Dieses '%s'-Objekt wird gelöscht: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Dieses Objekt wird gelöscht:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Dieses '%s'-Objekt wird gelöscht:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Diese Objekte werden gelöscht: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Diese '%s'-Objekte werden gelöscht: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Sie sind nicht berechtigt dieses Objekt zu löschen:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Sie sind nicht berechtigt dieses Objekte zu löschen:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Sie sind nicht berechtigt diese Objekt anzulegen!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Sie sind nicht berechtigt dieses Objekt anzulegen:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Sie sind nicht berechtigt diese Objekte anzulegen:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Sie sind nicht berechtigt dieses Objekt zu verändern!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Sie sind nicht berechtigt dieses Objekt zu öffnen:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Sie sind nicht berechtigt diese Objekte zu öffnen:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Sie sind nicht berechtigt dieses Objekt zu verschieben:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Sie sind nicht berechtigt diese Objekte zu verschieben:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Verbindungs-Information" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Konnte nicht zur %s Datenbank verbinden!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Kann die Datenbank %s nicht auswählen!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Kein Server für %s definiert!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Konnte %s Datenbank nicht abfragen!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Das Feld '%s' enthält ein reserviertes Schlüsselwort!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Das als '%s'-Erweiterung angegebene Kommando für Modul '%s' existiert nicht!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "'%s'-Kommando ist ungültig!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "'%s' Kommando für Modul %s ist ungültig!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "'%s' Kommando (%s) ist ungültig!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "'%s' Kommando (%s) für Modul %s ist ungültig!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Kann '%s' Kommando nicht ausführen!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Kann '%s' Kommando für Modul %s nicht ausführen!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Kann '%s' Kommando (%s) nicht ausführen!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Kann '%s' Kommando (%s) für Modul %s nicht ausführen!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Der Wert für '%s' ist zu groß!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' muss kleiner sein als %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Der Wert für '%s' ist zu kein!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' muss größer oder gleich %d sein!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' hängt von '%s' ab - bitte geben Sie beide Werte an!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Es existiert bereits ein Eintrag mit diesem '%s' Attribut im System!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "Der Eintrag '%s' verwendet bereits dieses Attribut '%s'!" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Das Pflicht-Feld '%s' ist leer!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Beispiel:" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "Das Feld '%s' enthält ungültige Zeichen" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' ist nicht erlaubt:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' sind nicht erlaubt!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Fehlenden %s PHP-Erweiterung!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Abbrechen" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Anwenden" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Speichern" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Hinzufügen" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "%s hinzufügen" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Entfernen" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "%s löschen" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Bearbeiten..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "%s bearbeiten..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Zurück" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Dieses Konto besitzt keine gültigen %s-Einstellungen." #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Dieses Konto besitzt aktivierte %s-Einstellungen. Sie können diese durch einen Klick auf die untere Schaltfläche deaktivieren." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Dieses Konto besitzt aktivierte %s-Erweiterungen. Um sie zu deaktivieren, müssen Sie zunächst die %s Einstellungen entfernen!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Dieses Konto hat keine %s-Einstellungen aktiviert. Sie können Sie durch einen Klick auf die Schaltfläche aktivieren." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Dieses Konto besitzt aktuell keine aktivierten %s-Einstellungen. Um sie zu aktivieren, müssen Sie zunächst die %s Erweiterungen hinzufügen!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "%s Einstellungen hinzufügen" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "%s Einstellungen entfernen" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Januar" #: include/class_msgPool.inc:662 msgid "February" msgstr "Februar" #: include/class_msgPool.inc:662 msgid "March" msgstr "März" #: include/class_msgPool.inc:662 msgid "April" msgstr "April" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mai" #: include/class_msgPool.inc:663 msgid "June" msgstr "Juni" #: include/class_msgPool.inc:663 msgid "July" msgstr "Juli" #: include/class_msgPool.inc:663 msgid "August" msgstr "August" #: include/class_msgPool.inc:663 msgid "September" msgstr "September" #: include/class_msgPool.inc:664 msgid "October" msgstr "Oktober" #: include/class_msgPool.inc:664 msgid "November" msgstr "November" #: include/class_msgPool.inc:664 msgid "December" msgstr "Dezember" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Sonntag" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Montag" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Dienstag" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Mittwoch" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Donnerstag" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Freitag" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Samstag" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Datenbankoperation fehlgeschlagen!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "Lese-Operation" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "Hinzufügeoperation" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "Änderungs-Operation" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "Lösch-Operation" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "Such-Operation" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "Authentifizierung" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s fehlgeschlagen!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "LDAP-Operation fehlgeschlagen" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objekt" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Übertragung fehlgeschlagen!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Übertragung fehlgeschlagen: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Kommunikationsfehler mit dem Infrastruktur Dienst: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "Dieses '%s' ist noch in Gebrauch dieses Objekts: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Dieses '%s' ist noch in Benutzung." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "Dieses '%s' ist noch in Gebrauch dieser Objekte: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Die Datei '%s' existiert nicht!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Kann Datei '%s' nicht zum Lesen öffnen!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Kann Datei '%s' nicht zum Schreiben öffnen!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "Der Wert für '%s' ist momentan nicht konfiguriert oder ungültig. Bitte prüfen Sie Ihre Konfigurationsdatei!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Kann Datei '%s' nicht löschen!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Kann den Ordner '%s' nicht anlegen!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Kann den Ordner '%s' nicht löschen!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Prüfe auf %s-Unterstützung" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Installieren und aktivieren Sie das %s PHP-Modul." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Installieren und aktivieren des %s Pear Moduls." #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Kann Klasse '%s' nicht initialisieren. Vielleicht fehlt ein Plugin in Ihrer FusionDirectory Installation?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "Die angegebene Basis ist ungültig. Der alte Wert wurde wieder hergestellt!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Zeitstempel" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Wiederherstellen" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Schnappschüsse" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Datei" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Zeile" #: include/php_setup.inc:53 msgid "PHP error" msgstr "PHP Fehler" #: include/php_setup.inc:62 msgid "class" msgstr "Klasse" #: include/php_setup.inc:70 msgid "function" msgstr "Funktion" #: include/php_setup.inc:76 msgid "static" msgstr "statisch" #: include/php_setup.inc:80 msgid "method" msgstr "Methode" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Ablaufverfolgung" #: include/php_setup.inc:132 msgid "Type" msgstr "Typ" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumente" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Der PHP-Interpreter meldete einen oder mehrere Fehler beim Erzeugen dieser Seite!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Bugreport an das FusionDirectory Team senden" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Fehlerbericht senden" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Informationen umschalten" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Leistungswarnung" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "Die LDAP-Leistung ist mangelhaft: Die letzte Abfrage dauerte etwa %.2f Sekunden!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "während der Arbeit mit '%s' auf dem LDAP-Server '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "während der Arbeit auf LDAP-Server '%s'" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Bitte wählen Sie die gewünschten Einträge" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Name" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Beschreibung" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Rolle %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Gruppe %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Gruppe des Benutzers" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Keine" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Unbekannt" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Bearbeiten" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Entfernen" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Es wurde keine Plugin-Definition gefunden um '%s' zu Initialisieren. Bitte prüfen Sie Ihre Konfigurationsdatei!" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Der Lösch-Vorgang wurde durch das plugin '%s' beendet: %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "Sekunden" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "Minuten" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "Stunden" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "Tage" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Aus Vorlage" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "%s Vorlage" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "%s anzeigen" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "KEIN LABEL" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Vorlageneinstellungen" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Dies ist der Name der Vorlage" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Fehler beim Speichern" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Es gibt bereits einen Eintrag mit dem selben dn: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "Der Eintrag %s existiert nicht" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (benötigt)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Objektbasis" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Kann hochgeladene Datei nicht lesen: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "Die Datei ist leer" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "Die Datei wurde nicht gefunden" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "Die Datei ist nicht lesbar" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d Bytes)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Hochladen" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Herunterladen" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Ungültiger Wert für %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Eine Ganzzahl/Integer zwischen %d und %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Eine Ganzzahl/Integer größer als %d " #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Eine Ganzzahl/Integer kleiner als %d " #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Ein Float zwischen %f und %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Ein Float größer als %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Ein Float kleiner als %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Tab \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "Zugriffsregeln" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Zugriffssteuerungsrollen verwalten" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "ACL-Rollen" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Unbekannter Eintrag '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Alle Benutzer" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Auf das als Kompilierverzeichnis angegegebene Verzeichnis '%s' kann nicht zugegriffen werden!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "FusionDirectory Konfiguration %s/%s ist nicht lesbar. Bitte starten Sie fusiondirectory-setup --check-config um dies zu beheben." #: html/index.php:171 msgid "Smarty error" msgstr "Smarty-Fehler" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Ihre FusionDirectory Sitzung ist abgelaufen!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "Ihre IP hat sich geändert!" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "Keine Sitzung gefunden!" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Bitte geben Sie einen gültigen Benutzernamen ein!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Bitte geben Sie Ihr Passwort ein!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Bitte überprüfen Sie die Kombination von Benutzernamen und Passwort." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Das Konto ist gesperrt. Bitte benachrichtigen Sie den Administrator!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Ihr Browser hat Cookies deaktiviert. Bitte aktivieren Sie zunächst Cookies und laden anschliessend diese Seite neu, bevor Sie sich anmelden!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "FusionDirectory Konfiguration %s/%s ist nicht lesbar. Abgebrochen." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Email-Adresse" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Kontaktieren Sie Ihren Administrator, es gab ein Problem mit dem Mailserver" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Das Token ist nicht gültig" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Es gab ein Problem mit dem Mailserver, Bestätigungsmail wurde nicht verschickt" #: html/main.php:115 msgid "PHP configuration" msgstr "PHP-Konfiguration" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Schwerer Fehler: Register globals ist aktiviert. FusionDirectory wird Logins verweigern sollte dies nicht von einem Administrator behoben werden." #: html/main.php:142 msgid "Password change" msgstr "Passwortänderung" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Ihr Passwort ist fast abgelaufen, bitte setzen Sie ein neues!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Der verfügbare Arbeitsspeicher wird knapp!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Prüfung der Benutzer-ACLs deaktiviert" #: html/main.php:289 msgid "Plugin" msgstr "Erweiterung" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Schwerer Fehler: Kann keine Plugin-Definitionen für Plugin '%s' finden ('%s' ist keine Datei)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Konfigurationsfehler" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "FATAL: es wurden nicht alle POST-Variablen von PHP übertragen - bitte informieren Sie den Administrator!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Willkommen %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referenzen" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Benutzer POSIX-Einstellungen bearbeiten" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Basisverzeichnis" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Der Pfad zum Heimatverzeichnis für diesen Benutzer" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Welche Shell soll verwendet werden, wenn dieser Benutzer sich einloggt" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Primäre Gruppe" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Primäre Gruppe für diesen Benutzer" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Status dieses Benutzer unixkontos" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Benutzer-/Gruppenkennung erzwingen" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Benutzerkennungs- und Gruppenkennungswerte für diesen Benutzer erzwingen" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "Benutzerkennung" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Benutzerkennwert für diesen Benutzer" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "Gruppenkennung" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Gruppenkennwert für diesen Benutzer" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Gruppenmitgliedschaft" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Konto" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Benutzer muss beim ersten Anmelden sein Passwort ändern" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Verzögerung bevor die Passwortänderung erzwungen wird (Tage)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "Der Benutzer wird gezwungen werden, sein Passwort nach dieser Anzahl von Tagen zu ändern (Leer lassen zum Deaktivieren)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Passwort Ablaufdatum" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Datum nach dem dieses Benutzerpasswort ablaufen wird (leer lassen zur Deaktivierung)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Verzögerung von Inaktivität bevor der Benutzer deaktiviert wird (Tage)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Maximale Verzögerung der Inaktivität nach Passwortablauf bevor der Benutzer deaktiviert wird (leer lassen zum Deaktivieren)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Verzögerung für Benutzerwarnung vor Passwortablauf (Tage)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "Der Benutzer wird diese Anzahl an Tagen vorher gewarnt, bevor sein Passwort aufläuft (leer lassen zum Deaktivieren)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "System-Vertrauen" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Vertrauens-Modus" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Art der Authorisierung für diese Hosts" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "deaktiviert" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Vollzugriff" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Zugriff auf diese Hosts erlauben" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Nur diesem Benutzer erlauben, dieser Liste von Hosts zu verbinden" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatisch" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "abgelaufen" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Nachfrist aktiv" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "aktiv" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "Passwort abgelaufen" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "Passwort kann nicht geändert werden" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Wartezeit für Sperre abgelaufen. Ignoriere Sperre!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Gruppe des Benutzers %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Gruppen und Rollen" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Gruppen und Rollen des Benutzers bearbeiten" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Gruppenmitgliedschaft" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Rollenmitgliedschaft" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Passwortmethode" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Zu verwendende Passworthash-Methode" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Passwort" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Passwort (Leer lassen wenn es nicht geändert werden soll)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Passwort Wiederholung" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Gleiches Passwort wie oben, um Fehler zu vermeiden" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Benutzer" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Benutzerkontoinformation" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Benutzerkonto" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Persönliche Informationen" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Nachname" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Nachname von diesem Benutzer" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Vorname" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Vorname von diesem Benutzer" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Kurze Beschreibung des Benutzers" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Bild" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "Der Avatar für diesen Benutzer" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Ort" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Land" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adresse" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Geschäftliche Adresse" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Zimmer-Nr." #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Raumnummer" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Geschäftliche Telefonnummer" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobiltelefon" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Geschäftliche Mobiltelefonnummer" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Geschäftliche Faxnummer" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Homepage" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Kontoinformation" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Passwort des Benutzers" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Persönliche Kontaktinformation" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Anzeigename" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Private Adresse" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Privat-Telefon" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Telefonnummer (privat)" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Angabe zur Organisationseinheit" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Titel" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organisation" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Abteilung" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Abteilungs-Nr." #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Abteilungsnummer" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Angestellten-Nr." #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Personalnummer" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Anstellungsart" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Verwalter" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "Passwörter ist im Verlauf alter Passwörter" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "Bestehender Wert das Passworts wurde nicht geändert" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Sie müssen das aktuelle Passwort eingeben, um fortfahren zu können." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Neues Passwort" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Das alte und neue Passwort sind sich zu ähnlich." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Das Passwort, welches Sie als 'Neues Passwort' eingegeben haben, ist zu kurz." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Das Passwort beinhaltet möglicherweise problematische Unicode-Zeichen!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Statistiken über Benutzer" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Benutzerstatistiken" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Gruppenstatistiken" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Abgelaufene Konten" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Übersichtsseite" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Statistiken" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Passwortwiederherstellung" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Einstellung für die Passwort Wiederherstellung" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Passwortwiederherstellungseinstellungen" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Passwortwiederherstellung aktivieren" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Absender Emailadresse" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Emailadresse von der aus Mails verschickt werden" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Linkgültigkeit (Minuten)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Anzahl der Minuten bevor ein Wiederherstellungslink abläuft" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Salt für Tokens" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Nur eine Sicherheitsmaßnahme, Sie können egal was hier hineinschreiben, selbst zufällige Buchstaben" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Erlaube die Nutzung von alternativen Adressen" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Benutzer werden auch in der Lage sein, eine ihrer alternativen Adressen zur Wiederherstellung ihres Passworts, einzugeben" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Erste Email" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Betreff" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Betreff der ersten Email" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Password recovery link" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Body (zuerst %s ist Login, zweiter ist Link)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Body der ersten Email, die verschickt wird wenn der Benutzer nach einem neuen Passwort fragt. Benutzen Sie %s für den Login und den Wiederherstellungslink." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Zweite Email" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Betreff der zweiten Email" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Passwortwiederherstellung erfolgreich" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Body (%s ist Login)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Body der zweiten Email, die verschickt wird um zu bestätigen, dass das Passwort geändert wurde. Benutzen Sie %s für den Benutzerlogin." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Hallo,\n\nIhr Passwort wurde geändert.\nIhr Login ist immer noch %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Konfiguration" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "FusionDirectory Konfiguration" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Aussehen und Verhalten" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Sprache" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Sprache der Anwendung. Wenn 'automatisch' gesetzt wurde oder nicht verfügbar, wird die vom Browser nachgefragte verwendet. Diese Einstellung kann pro Nutzer überschrieben werden." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Aussehen" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Zu verwendendes Thema" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Zeitzone" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Zu verwendende Zeitzone" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Schemaeinrichtung" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Aktiviert Schema-Überprüfung während des Logins." #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Passworteinstellungen" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Stadard Passworthash" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Standard hash, der verwendet werden soll" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Standardhash erzwingen" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Verwendung des Standard-Passworthashs erzwingen" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Minimale Passwortlänge" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Minimale Länge der Benutzerpasswörter" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Passwort Minimallänge unterscheidet sich" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Mindestanzahl der unterschiedlichen Buchstaben vom letzten Passwort" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Verwende ablaufende Konten" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Aktiviert shadow Attributtests während der Anmeldung in FusionDirectory und erzwingt eine Passworterneuerung oder Kontensperrung" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "SASL Realm" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "SASL Exop" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Attribut welchen im userPasswort Attribut gespeichert werden soll" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Kerneinstellungen" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Zusammenfassung in Listen anzeigen" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Bestimmt, ob eine Statusanzeige am Rande der Listen gezeigt werden soll, die eine kurze Zusammenfassung von Typ und Anzahl der Elemente in der Liste zeigt." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Locking bearbeiten" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Prüfen ob ein Eintrag, der momentan bearbeitet wird, außerhalb von FusionDirectory zwischenzeitlich bearbeitet wurde." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Logging aktivieren" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Ereignisloggins auf Seiten von FusionDirectory." #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "LDAP Größenlimit" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Definiert die Anzahl der Einträge, die standardmäßig von LDAP geholt werden sollen." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Anmeldung und Sitzung" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Anmeldeattribut" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Welches LDAP Attribut soll als Loginname während des Logins verwendet werden." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Erzwinge verschlüsselte Verbindungen" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Aktiviert PHP-Sicherheitsprüfungen zur Erzwingung des verschlüsselten Zugangs (https) zur Webschnittstelle." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Bei unverschlüsselten Verbindungen warnen" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "Zeigt dem Benutzer eine Warnung wenn http anstelle von https verwendet wird." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Lebensdauer der Sitzung" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Snapshots ermöglichen" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Dies ermöglicht es Ihnen, gewisse Stati von Einträgen zu speichern und diese später wieder herzustellen." #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Basis für Snapshots" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "Die Basis wo Snapshots innerhalb des LDAP gespeichert werden sollen." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Schlüsselpfad" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Zertifikatspfad" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "CA-Zertifikatspfad" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "System" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Port" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Ablage für Personen und Gruppen" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "DN-Attribut für Personen" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Zu verwendendes Attribut zu Beginn des Benutzers dn" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "CN-Muster" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Strikte Namenspolicy" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Nachster id hook" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Basisnummer für Benutzerkennung" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Wo mit der Suche nach einer neuen freien user id gestartet werden soll." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Basisnummer für Gruppenkennung" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Wo nach der Suche nach einer neuen freien group-ID geschaut werden soll." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "Users RDN" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "Groups RDN" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Der Zweig in welchem Gruppen gespeichert werden." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Id-Zuweisungsmethode" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Traditionell" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Samba unix id pool" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Debugging" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Fehler anzeigen" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Zeigt PHP-Fehler in dem oberen Teil des Bildschirms. Dies sollte in produktiven Einrichtungen deaktiviert werden, da einige Passwörter enthalten sein könnten." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Maximale LDAP Abfragedauer" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Anhalten von LDAP-Aktionen wenn keine Antwort innerhalb der angegeben Anzahl von Sekunden erfolgt." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Protokolliere LDAP-Statistiken" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "LDAP Timingstatistiken mit dem Syslog verfolgen. Dies kann helfen, Indexproblem oder schlechte Suchfilter zu finden." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Debug Level" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Gewisse Informationen bei jedem Seitenladen anzeigen." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Verschiedenes" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "Hooks die aufgerufen werden wenn spezifische Aktionen passieren" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "Reiter" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "Der Tab, der diesen hook betrifft" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "mode" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Wann dieser Befehl aufgerufen wird" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "cmd" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Der zu aufrufende Befehl" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Hooks" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Verfügbare Shells" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Verfügbare POSIX-Shells für FD-Benutzer." #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "ACL-Reiter auf allen Objekten anzeigen" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Pluginkonfiguration" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Plugin-Konfiguration" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "FusionDirectory Plugin-Konfiguration" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Objektgruppen" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "OGroup RDN" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Zweig in welchem die Objektgruppen gespeichert werden" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Frage nach Passwort erzwingen" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Übersichtsseitenkonfiguration" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Übersichtsseitennamensschema" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Stellenzahl" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Anzahl der Stellen nach dem Präfix" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Präfixe" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Anzahl an Tagen" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Abteilungen" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "Abteilung" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Eigenschaften" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Name von %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Ein Name für diesen %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Kurze Beschreibung von diesem %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Kategorie" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Kategorie von diesem %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Verwalter von diesem %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Land" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Eine postalische Anschrift für diesen %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Telefonnummer" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "Organisation" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domäne" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "Domäne" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Abteilungen verwalten" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Benutzer und Gruppen" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Domänen-Komponente" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "Domänenkomponente" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Standort" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "Ort" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Liste der Abteilungen" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "Land" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Benutzer verwalten" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Konto-Sperrung" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Konto aktivieren" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Konto deaktivieren" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Liste der Benutzer" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Nachname" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Vorname" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Benutzer sperren" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Benutzer entsperren" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Vorlage anwenden" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Neuen Benutzer aus Vorlage" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Benutzer bearbeiten" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Benutzer entfernen" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Rolle" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Rolleninformation" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Organisatorische Rolle" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Information" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Name dieser Gruppe" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Beschreibung der Rolle" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Telefonnummer" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Faxnummer" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Benutzer für die Rolle hinzufügen" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Gruppen und Rollen verwalten" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Rolleneigenschaften bearbeiten" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "POSIX-Eigenschaften bearbeiten" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Benutzergruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Primäre Gruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Organisatorische Rollen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Anwendungsgruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Mail-Gruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Samba-Gruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Servergruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Gruppen von Arbeitsstationen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Windows-Gruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Gruppen von Terminals anzeigen" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Druckergruppen anzeigen" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Telefongruppen anzeigen" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Unbekannter Typ: %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Objektgruppe" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Objektgruppeninformation" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Gruppe" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Kurze Beschreibung dieser Gruppe" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Zusammengefasste Objekte" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Objektmitglied dieser Gruppe" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Nur dieser Gruppe erlauben, dieser Liste von Hosts zu verbinden" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Liste der Gruppen" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "POSIX-Gruppeninformation" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "POSIX-Gruppe" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "POSIX-Benutzergruppe" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Erzwinge GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "GID-Wert für diese Gruppe erzwingen" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "GID-Wert für diese Gruppe" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Gruppenmitglieder" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "ACL-Zuordnungen" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "ACL-Zuordnung" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Zugriffssteuerungsrollen-Zuordnungsdialog" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modus" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Unterbaum" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Nur Basis" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Anzuwendende Rolle" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Für alle Benutzer" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Diese ACL für alle LDAP-Benutzer übernehmen" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Mitglieder" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "ACL-Zuordnung" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Zugriffssteuerungsrollen-Zuordnung" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Zuordnungen" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "ACL-Rollenzuordnungen für diese Basis" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Keine ACL-Einstellungen für diese Kategorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "Enthält ACL für diese Objekte: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "ACL Kategorie bearbeiten" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "ACL-Kategorie zurücksetzen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Liste verfügbarer ACL-Kategorien" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Alle Objekte im aktuellen Teilbaum" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "lesen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "schreiben" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Erweiterte Einstellungen anzeigen/ausblenden" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Erstelle Objekte" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Objekte verschieben" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Objekte entfernen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Berechtigungen für Eigentümer einräumen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Vollständiges Objekt" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "ACL-Rollenverwaltung" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Enthält Einstellungen für diese Objekte: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Zugriffssteuerungsrollen" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "ACL Rolle" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Name für diese Rolle" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Kurze Beschreibung von dieser Rolle" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "Zugriffssteuerungsrollen" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory wird NICHT ohne entsprechende Änderung laufen." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory wird ohne eine entsprechende Änderung laufen." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Erstellen eines neuen FusionDirectory Administratorkontos" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Dieser Dialog wird automatisch einen neuen Superadministrator in Ihren LDAP-Baum einfügen." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Benutzer-ID" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Passwort (erneut)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Dies scheint das erste Mal zu sein, dass Sie FusionDirectory starten - wir haben noch keine Konfiguration gefunden. Dieser einfache Assistent hilft Ihnen bei der Einrichtung." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Was wird der Assistent für Sie erledigen?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Erstellen einer einfachen Konfiguration für einen Standort" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Versucht, Probleme in Ihrer PHP- und LDAP-Umgebung zu ermitteln" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Lässt Sie aus einem Satz von einfachen bis erweiterten Konfigurationsschaltern wählen" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Geführte Migration existierende LDAP-Bäume" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Was wird der Assistent NICHT für Sie erledigen?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Finde jeden möglichen Konfigurationsfehler" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migriere jede mögliche LDAP-Umgebung - erstellen Sie Sicherungsabzüge!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Zum Fortsetzen:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Klicken Sie auf die Schaltfläche 'Weiter' wenn Sie fertig sind." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Füge erforderliche Objekt-Klassen zum Basis-Objekt hinzu" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Aktuell" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Nach der Migration" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Schliessen" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Ausgewählte Einträge in diesen Baum verschieben" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Wenn Sie erfahren möchten, was bei der Migration der gewählten Einträge erfolgen wird, verwenden Sie den 'Zeige Änderungen'-Knopf um das LDIF zu sehen." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Änderungen anzeigen" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Während der LDAP-Inspektion, werden wir nach einigen häufigen Fallstricken prüfen, die bei der Migration zu FusionDirectory base LDAP Administration auftreten können. Sie möchten eventuell, die unten stehenden Probleme beheben, um reibungslose Dienste zu bieten." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Erneut prüfen" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Erzeugen Ihrer Konfigurationsdatei" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Konfiguration herunterladen" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Status: " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filter" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Passwort vergessen" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Dieser Dialog bietet eine einfache Möglichkeit, Ihr Passwort zu ändern. Geben Sie das neue Passwort (zweimal) in die unten stehenden Felder ein und klicken Sie auf die Schaltfläche 'Ändern'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Verzeichnis" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Neues Passwort (Wiederholung)" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Passwortstärke" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Ändern" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Hier klicken, um Ihr Passwort zu ändern" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Erfolg" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Ihr Passwort wurde erfolgreich geändert." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Geben Sie Ihre aktuelle Email-Adresse ins unten genannte Feld ein und klicken Sie die 'Ändern'-Schaltfläche." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Email" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Passwortwiederherstellung ist nicht aktiviert. Wenn Sie Ihr Passwort verloren haben, kontaktieren Sie bitte Ihren Administrator" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Anmeldefenster" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Nutzen Sie Ihren Benutzernamen und Ihr Passwort, um sich an der Verwaltung des Standorts anzumelden." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Benutzername" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Ich habe mein Passwort vergessen" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Anmelden" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Hier klicken zum Anmelden" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "Die Größenbeschränkung sorgt dafür, daß die LDAP-Operationen schneller durchgeführt werden können und verringern die Last auf dem LDAP-Server. Der einfachste Weg, große Datenbanken ohne große Zeitüberschreitungen zu bearbeiten ist es Filter zu verwenden und die Größenbeschränkungen auf einen sinnvollen Wert einzustellen." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Bitte entscheiden Sie, wie für diese Sitzung verfahren werden soll" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "Ignoriere diesen Fehler und zeige alle vom LDAP-Server gelieferten Einträge" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "Ignoriere diesen Fehler und zeige alle Einträge, die innerhalb der Größenbeschränkung liegen" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Setzen" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Bitte überprüfen Sie, ob Sie dies wirklich tun wollen, da es keinen Weg gibt, für FusionDirectory die Daten wieder herzustellen." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Wenn Sie sicher sind, drücken Sie 'Entfernen' um fortzufahren oder 'Abbrechen' zum Abbruch." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Hauptmenü" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Abmelden" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Angemeldet:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Sitzung läuft ab in %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Fortsetzen" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Ein Zugriffskonflikt wurde festgestellt" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Nur Lesen" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Kopieren & Einfügen - Assistent" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Einige Werte müssen einmalig im vollständigen Verzeichnis sein während einige Kombinationen keinen Sinn machen. FusionDirectory zeigt die relevanten Attribute. Bitte halten Sie die unten stehenden Werte bei um die Policies zu erfüllen." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Beachten Sie, dass manche Einstellungen wie z.B. erstellte Snapshots nicht kopiert werden!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Oder wenn Sie kopieren oder einen Eintrag ausschneiden und das Quellobjekt löschen, können Sie Fehler bekommen wenn dieses Objekt wieder eingefügt werden soll!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Vorgang abgeschlossen" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Zugewiesene ACL für aktuellen Eintrag" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Neue ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "ACL-Typ" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Wählen Sie einen ACL-Typ" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Zusätzliche Filteroptionen" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Verwende Mitglieder von" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Verfügbare Mitglieder" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Mögliche Empfänger dieser Nachricht anzeigen" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Nachrichtenempfänger anzeigen" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL für dieses Objekt" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Verfügbare Rollen" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Das FusionDirectory Team" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Dieses Objekt hat keine Referenzen zu anderen Objekten." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Benutzer-Einstellungen" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Passwort löschen" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Neues Passwort setzen" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Bild" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Benutzerbild" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Bild entfernen" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Sie haben keine Berechtigung Ihr Passwort zu ändern" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Ihre Passwort-Hashmethode wird nicht geändert!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Sie haben erfolgreich Ihr Passwort geändert. Bitte denken Sie daran alle Programme anzupassen, die dieses Passwort auch benutzen." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "Es gibt 1 Gruppe:" msgstr[1] "Es gibt %1 Gruppen:" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "Einer von diesen ist eine %1 Gruppe" msgstr[1] "%2 von %1 Gruppen" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "Es gibt keine Gruppe %1" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "Es gibt 1 Benutzer:" msgstr[1] "Es gibt %1 Benutzer:" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "Einer von diesen hat ein %1 Konto" msgstr[1] "%2 von diesen haben ein %1 Konto" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Keiner von diesen hat ein %1-Konto" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "Einer von diesen ist gesperrt" msgstr[1] "%1 von diesen sind gesperrt" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Keiner von diesen ist gesperrt" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "Es gibt ein abgelaufenes Konto" msgstr[1] "Es gibt %1 abgelaufene Konten" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Es gibt keinen abgelaufenen Zugang" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Manager betreffend" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telephoneNumber" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "shadowExpire" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "manager" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "mail" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "Es gibt ein Konto, das in den nächsten %1 Tagen abläuft" msgstr[1] "Es gibt %2 Konten, die in den nächsten %1 Tagen ablaufen" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "Es gibt kein Konto, das in den nächsten %1 Tagen abläuft" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Nächste abgelaufene Konten" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Vorlagen anzeigen" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Funktionale Benutzer anzeigen" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "POSIX-Benutzer anzeigen" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Mail-Benutzer anzeigen" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Samba-Benutzer anzeigen" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/el_GR/000077500000000000000000000000001304016502700172575ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/el_GR/fusiondirectory.po000066400000000000000000004654771304016502700230760ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Elissavet Botsaki , 2015 # Konstantinos Nikolou , 2015 # Manolis Saldaris , 2015 # Maria Nomikou , 2015 # MENTIS SPYROS , 2015 # Nikos Charonitakis , 2005 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Greek (Greece) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/el_GR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Προτιμώμενη γλώσσα" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Μετακίνηση" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Έλεγχος έγκρισης για βάση δεδομένων LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "'Έλεγχος για αόρατους χρήστες" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Έλεγχος για υπερδιαχειριστές " #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "Έλεγχος για προεπιλεγμένους ρόλους και ομάδες στην ACL" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Έλεγχος για χρήστες εκτός της δομής δεδομένων " #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Έλεγχος για ομάδες εκτός της δομής δεδομένων" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Σφάλμα LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Προειδοποίηση" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Δημιουργία" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Χρήστες" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Ομάδες" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Σφάλμα" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Κατάσταση" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Προσπάθεια ξανά" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Ανανέωση" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Παρακαλώ επαληθεύστε το όνομα χρήστη και τον κωδικό σας!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Εσωτερικό σφάλμα" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "μη ρυθμισμένο" #: include/class_management.inc:165 msgid "Filter error" msgstr "Σφάλμα φίλτρου" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Το φίλτρο είναι μη ολοκληρωμένο!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Άδεια" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Σφάλμα άδειας" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Δεν επιτρέπεται να δημιουργήσετε ένα στιγμιότυπο για %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Δεν επιτρέπεται να επαναφέρετε ένα στιγμιότυπο για %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Root" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Υποβολή" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Πάνω" #: include/class_listing.inc:313 msgid "Down" msgstr "Κάτω" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Ταξινόμηση πάνω" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Ταξινόμηση κάτω" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Επιλογή όλων" #: include/class_listing.inc:592 msgid "created by" msgstr "δημιουργήθηκε από" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Μετάβαση στον ριζικό τμήμα" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Μετάβαση ένα τμήμα επάνω" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Αρχή (Home)" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Επαναφόρτωση λίστας" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Ενέργειες" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Αντιγραφή" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Αποκοπή" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Επικόλληση" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Αποκοπή αυτής της εγγραφής" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Αντιγραφή αυτής της εγγραφής" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Επαναφορά στιγμιοτύπων" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Εξαγωγή λίστας" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Επαναφορά στιγμιοτύπου" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Δημιουργία στιγμιότυπου" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Δημιουργία νέου στιγμιότυπου από αυτό το αντικείμενο" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Μοιραίο σφάλμα" #: include/class_xml.inc:66 msgid "in" msgstr "σε" #: include/class_xml.inc:68 msgid "on line" msgstr "σε γραμμή" #: include/class_xml.inc:69 msgid "XML error" msgstr "Σφάλμα XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Σφάλμα ρύθμισης" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Σελίδα " #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Ακύρωση όλων" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Αδυναμία επικόλλησης" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Σύνδεση" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Πρότυπο" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Όνομα προτύπου" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "ΣΦΑΛΜΑ: Σφάλμα σύνδεσης στον διακομιστή LDAP. Ο διακομιστής αποκρίθηκε '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "Η σύνδεση (uid) δεν είναι μοναδική μέσα στο δέντρο LDAP. Παρακαλούμε επικοινωνήστε με τον διαχειριστή του συστήματος σας." #: include/functions.inc:597 msgid "Authentication error" msgstr "Σφάλμα πιστοποίησης" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Σφάλμα κατά την προσθήκη κλειδώματος. Επικοινωνήστε με τους προγραμματιστές!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Αποτυχία δημιουργίας κλειδώματος στο δέντρο LDAP. Παρακαλούμε επικοινωνήστε με τον διαχειριστή του συστήματος σας." #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "Ο διακομιστής LDAP επίστρεψε: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Έχει ξεπεραστεί το όριο %d καταχωρίσεων!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "Ρύθμιση" #: include/functions.inc:1133 msgid "incomplete" msgstr "ελλιπής" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Συνέχεια οπωσδήποτε" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Επεξεργασία οπωσδήποτε" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Καταχωρήσεις ανά σελίδα" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Εφαρμογή φίλτρου" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Αδύνατη η εγγραφή σε αρχείο αναθεώρησης!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Αδύνατη η ανάγνωση σε αρχείο αναθεώρησης!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Προειδοποίηση LDAP " #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Αδυναμία λήψης πληροφοριών σχήματος για τον εξυπηρετητή. Δεν υπάρχει η δυνατότητα ελέγχου σχήματος!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Δαθέσιμες κλάσεις" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Δεν είναι δυνατό να ανατεθεί μια free ID:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "αγνωστη μέθοδος idAllocation" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool δεν είναι μοναδική!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "Μη διαθέσιμη ID!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "Υπέρβαση μεγίστου ορίου προσπαθειών!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Δεν είναι δυνατή η διάθεση μιας free ID!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Αδύνατος ο εντοπισμός του αρχείου '%s' - Παρακαλώ εκτελέστε την εντολή '%s' για να το διορθώσετε" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Παρακαλούμε διορθώστε το παραπάνω σφάλμα και φορτώστε την σελίδα ξανά." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Αδυναμία bind σε LDAP. Επικοινωνήστε με τον διαχειριστή συστήματος" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "Όλες οι κατηγορίες" #: include/class_config.inc:1095 msgid "My account" msgstr "Ο λογαριασμός μου" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Αυτό το αντικείμενο θα διαγραφεί!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Αυτό το '%s' αντικείμενο θα διαγραφεί!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "This object will be deleted: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Παράδειγμα:" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Ακύρωση" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Εφαρμογή" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Αποθήκευση" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Προσθήκη" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Προσθήκη του %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Διαγραφή" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Διαγραφή %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Επεξεργασία..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Επεξεργασία %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Πίσω" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Ιανουάριος" #: include/class_msgPool.inc:662 msgid "February" msgstr "Φεβρουάριος" #: include/class_msgPool.inc:662 msgid "March" msgstr "Μάρτιος" #: include/class_msgPool.inc:662 msgid "April" msgstr "Απρίλιος" #: include/class_msgPool.inc:663 msgid "May" msgstr "Μάιος" #: include/class_msgPool.inc:663 msgid "June" msgstr "Ιούνιος" #: include/class_msgPool.inc:663 msgid "July" msgstr "Ιούλιος" #: include/class_msgPool.inc:663 msgid "August" msgstr "Αύγουστος" #: include/class_msgPool.inc:663 msgid "September" msgstr "Σεπτέμβριος" #: include/class_msgPool.inc:664 msgid "October" msgstr "Οκτώβριος" #: include/class_msgPool.inc:664 msgid "November" msgstr "Νοέμβριος" #: include/class_msgPool.inc:664 msgid "December" msgstr "Δεκέμβριος" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Κυριακή" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Δευτέρα" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Τρίτη" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Τετάρτη" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Πέμπτη" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Παρασκευή" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Σάββατο" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Αποτυχία βάσης δεδομένων!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "λειτουργία ανάγνωσης" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "λειτουργία προσθήκης" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "λειτουργία τροποποίησης" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "λειτουργία διαγραφής" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "λειτουργία αναζήτησης" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "πιστοποίηση" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s απέτυχε!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "Η λειτουργία LDAP απέτυχε!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Αντικείμενο" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Η αποστολή απέτυχε!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Αποτυχία αποστολής: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Αποτυχία επικοινωνίας με την υπηρεσία υποδομής: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Το '%s' χρησιμοποιείται ήδη." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Το αρχείο '%s' δεν υπάρχει!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Αδυναμία ανοίγματος αρχείου '%s' για ανάγνωση!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Αδυναμία ανοίογματος αρχείου `%s' για εγγραφή!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Αδύνατη η διαγραφή αρχείου '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Αδύνατη η δημιουργία του φακέλου '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Αδύνατη η διαγραφή του φακέλου '%s'" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Έλεγχος για υποστήριξη %s " #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Χρονική ένδειξη" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Στιγμιότυπα" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Αρχείο" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Γραμμή" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "κλάση" #: include/php_setup.inc:70 msgid "function" msgstr "συνάρτηση" #: include/php_setup.inc:76 msgid "static" msgstr "στατικό" #: include/php_setup.inc:80 msgid "method" msgstr "μέθοδος" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Ανίχνευση" #: include/php_setup.inc:132 msgid "Type" msgstr "Τύπος" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Ορίσματα" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Αποστολή αναφοράς σφάλματος" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Εναλλαγή πληροφοριών" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Παρακαλώ επιλέξτε τις επιθυμητλες καταχωρήσεις" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Όνομα" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Περιγραφή" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Ρόλος %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Ομάδα %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Ομάδα του χρήστη" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Κανένα" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Άγνωστο" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Επεξεργασία" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Αφαίρεση" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "δευτερόλεπτα" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "λεπτά" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "ώρες" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "ημέρες" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Από πρότυπο" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "πρότυπο %s" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Εμφάνιση %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "ΧΩΡΙΣ ΕΤΙΚΕΤΑ" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Ρυθμίσεις προτύπου" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Αυτό είναι το όνομα του προτύπου" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "Αδυναμία υπολογισμού dn: δεν υπάρχει γονική tab class για \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Σφάλμα κατά την αποθήκευση" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Υπάρχει ήδη μια καταχώριση με το ίδιο dn : %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "Η καταχώριση %s δεν υπάρχει." #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (απαιτείται)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "Το αρχείο είναι κενό" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Αποστολή" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Λήψη" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Ένας ακέραιος μεταξύ %d και %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Ένας ακέραιος μεγαλύτερος από %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Ένας ακέραιος μικρότερος από %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Δεκαδικός μεταξύ %f και %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Tab \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Ρόλοι ACL " #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Όλοι οι χρήστες" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Παρακαλώ καθορίστε ένα έγκυρο όνομα χρήστη!" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Παρακαλώ ελέγξτε το συνδυασμό όνομα χρήστη/κωδικός πρόσβασης." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Οι ρυθμίσεις FusionDirectory %s/%s δεν είναι αναγνώσιμες. Ακύρωση." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Διευθύνση ηλεκτρονικής αλληλογγραφίας" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "Πρόσθετο" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "Σφάλμα ρύθμισης" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Καλώς ήλθατε στο %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Αναφορές" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Επεξεργασία ρυθμίσεων χρηστών POSIX" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Προσωπικός κατάλογος" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Η διαδρομή για τον αρχικό κατάλογο του χρήστη" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Κέλυφος" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Ποιο κέλυφος πρέπει να χρησιμοποιηθεί όταν ο χρήστης συνδεθεί" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Κύρια ομάδα" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Κύρια ομάδα του χρήστη" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Κατάσταση του λογαριασμού unix του χρήστη" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Εξαναγκασμός user/group id" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Υποχρέωση συμπλήρωσης τιμών για user id και group id για αυτόν τον χρήστη" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "User id" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Τιμή User id για αυτόν τον χρήστη." #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "Group id" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Τιμή Group id για αυτόν τον χρήστη" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Μέλη ομάδας" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Λογαριασμός" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Ο χρήστης θα πρέπει να αλλάξει τον κωδικό πρόσβασης κατά την πρώτη του σύνδεση" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "Ο χρήστης πρέπει να αλλάξει συνθηματικό στην πρώτη σύνδεση (η τιμή στο πεδίο Καθυστέρηση δηλώνει το πόσες φορές μπορεί ο χρήστης να συνδεθεί πριν αναγκαστεί να αλλάξει συνθηματικό)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Καθυστέρηση πριν την υποχρεωτική αλλαγή κωδικού πρόσβασης (σε ημέρες)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "Ο χρήστης θα υποχρεωθεί να αλλάξει τον κωδικό πρόσβασής του μετά από αυτό τον αριθμό ημερών (αφήστε κενό για απενεργοποίηση)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Ημερομηνία λήξης κωδικού πρόσβασης" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Ημερομηνία μετά από την οποία θα λήγει ο κωδικός πρόσβασης (αφήστε κενό για απενεργοποίηση)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Ημέρες αδράνειας πριν από την απενεργοποίηση του χρήστη" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Μέγιστος αριθμός ημερών αδράνειας μετά την λήξη του κωδικού πρόσβασης πριν την απενεργοποίηση του χρήστη (αφήστε κενό για απενεργοποίηση)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Ημέρες μεταξύ προειδοποίησης χρήστη και λήξης κωδικού:" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "Ο χρήστης θα προειδοποιείται αυτόν τον αριθμό των ημερών πριν από τη λήξη του κωδικού πρόσβασής του (αφήστε κενό για απενεργοποίηση)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Επιστοσύνη συστήματος" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Λειτουργία επιστοσύνης" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Τύπος εξουσιοδότησης για αυτά τα συστήματα" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "απενεργοποιημένο" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "πλήρης πρόσβαση" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "να επιτραπεί η πρόσβαση σε αυτά τα host" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Επιτρέπεται σ'αυτόν τον χρήστη να συνδέεται στην ακόλουθη λίστα διακομιστών" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "αυτόματο" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr " έληξε" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "χρονικό διάστημα χάριτος ενεργό" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "ενεργό" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "ο κωδικός πρόσβασης έχει λήξει" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "ο κωδικός πρόσβασης δεν μπορεί να αλλάξει" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Υπέρβαση χρόνου κατά την αναμονή για κλέιδωμα. Αγνόηση κλειδώματος!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Ομάδα του χρήστη %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Ομάδες και ρόλοι" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Επεξεργασία ομάδων και ρόλων του χρήστη" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Μέθοδος κωδικού" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Μέθοδος hash για χρήση κωδικού" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Κωδικός πρόσβασης" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Κωδικός Πρόσβασης (Αφήστε κενό εάν δεν επιθυμείτε να το αλλάξετε)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Κωδικός ξανά" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Ίδιος Κωδικός Πρόσβασης με τον προηγούμενο, για αποφυγή λαθών." #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Χρήστης" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Πληροφορίες λογαριασμού χρήστη" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Λογαριασμός χρήστη" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Προσωπικές πληροφορίες" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Επίθετο" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Το επίθετο του χρήστη." #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Όνομα" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Το όνομα του χρήστη" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Σύντομη περιγραφή του χρήστη" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Εικόνα" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "Το άβαταρ του χρήστη" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Πληροφοριών επαφή οργανισμού" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Τοποθεσία" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Πολιτεία" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Διεύθυνση" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Ταχυδρομική διεύθυνση εταιρίας" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Αρ. δωματίου" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Αριθμός δωματίου" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Τηλέφωνο" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Αριθμός τηλεφώνου εργασίας" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Κινητό" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Αριθμός κινητού τηλεφώνου εργασίας" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Βομβητής" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Αριθμός βομβητή εργασίας" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Φαξ" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Αριθμός φαξ εργασίας" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Ιστοσελίδα" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Προσωπική ιστοσελίδα" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Πληροφορίες λογαριασμού" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Λογαριασμός σύνδεσης αυτού του χρήστη." #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Ο κωδικός του χρήστη" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Προσωπικές πληροφορίες επαφής" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Όνομα που εμφανίζεται" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "Το όνομα με το οποίο πρέπει να εμφανίζεται ο χρήστης. Χρησιμοποιείται από το Exchange." #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Διεύθυνση οικίας" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Ταχυδρομική διεύθυνση οικίας" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Ιδιωτικό τηλέφωνο" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Τηλέφωνο οικίας" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Πληροφορίες οργανισμού" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Τίτλος" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "Τίτλος προσώπου στο οργανωτικό του πλαίσιο. Κάθε τίτλος είναι μια από τις πολλές τιμές αυτού του χαρακτηριστικού" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Οργανισμός" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Τμήμα" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Αρ. τμήματος" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Αριθμός τμήματος" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Αρ. Υπαλλήλου" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Αριθμός Υπαλλήλου" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Τύπος υπαλλήλου" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Διαχειριστής" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "Δεν ήταν δυνατή η εύρεση του Ppolicy \"%s\" στο LDAP!" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Δεν έχετε δικαίωμα αλλαγής του κωδικού σας" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Θα πρέπει να περιμένετε %d δευτερόλεπτα για να αλλάξετε το κωδικό σας" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "Ο κωδικός είναι στο ιστορικό παλιών κωδικών πρόσβασης." #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "Ο κωδικός πρόσβασής σας δεν έχει αλλάξει από την τρέχουσα τιμή" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Θα πρέπει να εισάγετε τον κύριο κωδικό σας για να συνεχίσετε" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "Οι κωδικοί εισάγατε ως \"Νέο κωδικό\" και \"Επανάληψη νέου κωδικού\" δεν ταιριάζουν." #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Νέος κωδικός " #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Ο παλιός και ο νέος κωδικός πρόσβασης μοιάζουν πολύ" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Ο κωδικός που εισάγατε είναι πολύ μικρός" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Ο νέος κωδικός πρόσβασης περιέχει προβληματικούς χαρακτήρες Unicode!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Στατιστικά για τους χρήστες" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Στατιστικά χρηστών" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Στατιστικά ομάδων" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Λογαριασμοί που έχουν λήξει" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Πίνακας ελέγχου" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Αναφορά" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Στατιστικά" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Ενεργοποίηση ή όχι της ανάκτησης του κωδικού πρόσβασης" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Διεύθυνση ηλεκτρονικού ταχυδρομείου αποστολέα" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Ως μέτρο ασφαλείας, μπορείτε να βάλετε οτιδήποτε εκεί, ακόμα και τυχαίους χαρακτήρες" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Να επιτρέπεται η χρήση εναλλακτικών διευθύνσεων." #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Οι χρήστες θα έχουν επίσης τη δυνατότητα να εισάγουν μία από τις εναλλακτικές τους διευθύνσεις για να ανακτήσουν τον κωδικό τους" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Πρώτο email" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Θέμα" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Θέμα του πρώτου email" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Δεύτερο email" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Θέμα του δεύτερου email" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Επιτυχής επαναφορά κωδικού πρόσβασης" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Γειά σας,\n\nΟ κωδικός σας άλλαξε.\nΗ υνδεση σας είναι ακόμα %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Διαμόρφωση" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Ρυθμίσεις FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Εμφάνιση" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Γλώσσα" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Γλώσσα της εφαρμογής. Αν «αυτόματη» ή μη διαθέσιμη, θα χρησιμοποιηθεί η γλώσσα του browser. Αυτή η ρύθμιση μπορεί να παρακαμφθεί ανά χρήστη." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Θέμα" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Θέμα που θα χρησιμοποιηθεί" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Ζώνη ώρας" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Ζώνη ώρας που θα χρησιμοποιηθεί" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Ρυθμίσεις κωδικού πρόσβασης" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Ελάχιστο μήκος κωδικού" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Ελάχιστο μήκος κωδικού χρήστη" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Ελάχιστη διαφοροποίηση κωδικού" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Ελάχιστος αριθμός διαφορετικών χαρακτήρων από τον τελευταίο κωδικό" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Χρήση λήξης λογαριασμού" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Καθορίζει αν μια γραμμή κατάστασης θα εμφανιστεί στο κάτω μέρος των λιστών, εμφανίζοντας μια σύντομη περίληψη του τύπου και του αριθμού των στοιχείων στη λίστα." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Επεξεργασία κλειδώματος" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Ελέγξτε αν η εγγραφή που υφίσταται επεξεργασία έχει στο μεταξύ τροποποιηθεί έξω από FusionDirectory." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Επιβολή κρυπτογραφημένων συνδέσεων" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Προειδοποίηση αν η συνεδρία δεν είναι κρυπτογραφημένη" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "θα εμφανίσει προειδοποίηση προς το χρήστη όταν το πρωτόκολλο http χρησιμοποιείται αντί του πρωτοκόλλου https " #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Διάρκεια συνεδρίας" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Ενεργοποίηση λήψεων στιγμιότυπων" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Σ'υστημα" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Θύρα" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Αυστηρή πολιτική ονοματοδοσίας" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Ενεργοποίηση αυστηρού ελέγχου στα ονόματα χρηστών και ομάδων" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Ένα σενάριο που θα κληθεί για την εύρεση του επόμενου ελεύθερου id για χρήστες ή ομάδες." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Αριθμός βάση για user id" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Τοποθεσία εύρεσης νέου ελεύθερου user id." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Αριθμός βάση για group id" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Τοποθεσία εύρεσης νέου ελεύθερου group id." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "Κλάδος στον οποίο αποθηκεύονται χρήστες." #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Κλάδος στον οποίο αποθηκεύονται ομάδες." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "Κλάδος στον οποίο αποθηκεύονται ρόλοι ACL." #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Μέθοδος διανομής id" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Μέθοδος για την διανομή user/group id" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Παραδοσιακή" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Αποσφαλμάτωση" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Προβολή σφαλμάτων" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Διάφορα" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "λειτουργία" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Πότε καλείται αυτή η εντολή" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Η εντολή που θα κληθεί" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Hooks" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Πρόσθετα" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Ρύθμιση για πρόσθετα" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Ρυθμίσεις επεκτάσεων" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "Ρυθμίσεις επεκτάσεων του FusionDirectory" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Κλάδος στον οποίο θα αποθηκεύονται ομάδες αντικειμένων" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Επιβολή εισαγωγής κωδικού" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Ρύθμιση Dashboard" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "Ρύθμιση προσθέτου FusionDirectory dashboard" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Όνομα σχήματος πίνακα dashboard" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Αριθμός ψηφίων" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Αριθμός ψηφίων για χρήση μετά το πρόθεμα" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Προθέματα" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Προθέματα που χρησιμοποιούνται για ids υπολογιστή" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Πίνακας dashboard χρηστών που έχουν λήξει" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Αριθμός ημερών" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Τμήματα" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "τμήμα" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Ιδιότητες" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Όνομα του %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Ένα όνομα για το %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Σύντομη περιγραφή του %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Κατηγορία" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Κατηγορία του %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Διαχειριστής του %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Χώρα" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Μια ταχυδρομική διεύθυνση για %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Αριθμός τηλεφώνου" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Αριθμός φαξ" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "οργανισμός" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Τομέας" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "Τομέας" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Διαχείριση τμημάτων" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Χρήστες και ομάδες" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Συστατικό στοιχείο τομέα" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "συστατικό στοιχείο τομέα" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Περιοχή" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "τοπικότητα" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Κατάλογος των τμημάτων" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "χώρα" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Διαχείριση χρηστών" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Κλείδωμα λογαριασμού" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "Μέθοδος κωδικού πρόσβασης \"%s\" δεν υποστηρίζει κλείδωμα. Ο λογαριασμός \"%s\" δεν έχει κλειδώσει!" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Ξεκλείδωμα λογαριασμού" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Κλείδωμα λογαριασμού" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Λίστα χρηστών" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Επίθετο" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Βαπτιστικό" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Κλείδωμα χρηστών" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Ξεκλείδωμα χρηστών" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Εφαρμογή προτύπου" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Νέος χρήστης από πρότυπο" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Επεργασία χρήστη" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Αφαίρεση χρήστη" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Ρόλος" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Πληροφορίες ρόλου" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Ρόλος οργανισμού" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Πληροφορίες" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Όνομα αυτής της ομάδας" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Περιγραφή του ρόλου" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Αριθμός τηλεφώνου" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Αριθμός φαξ" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Προσθήκη χρηστών για το ρόλο" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Διαχείριση ομάδων και ρόλων" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Επεξεργασία ιδιοτήτων ρόλου" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Επεξεργασία ιδιοτήτων posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Εμφάνιση ομάδων χρήστη" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Εμφάνιση αρχικών ομάδων" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Λίστα ρόλων οργανισμών" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Εμφάνιση ομάδων εφαρμογών" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Εμφάνιση ομάδων αλληλογραφίας" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Εμφάνιση ομάδων samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Εμφάνιση ομάδων server" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Εμφάνιση ομάδων σταθμών εργασίας" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Εμφάνιση ομάδων windows" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Εμφάνιση ομάδων τερματικού" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Εμφάνιση ομάδων εκτυπωτή" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Εμφάνιση ομάδων τηλεφώνου" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "'Αγνωστος τύπος: %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "Ανύπαρκτο dn: %s" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Ομάδα αντικειμένου" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Πληροφορίες ομάδας αντικειμένου" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Ομάδα" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Σύντομη περιγραφή αυτής της ομάδας" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Αντικείμενα μέλους" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Αντικείμενα μέλους για αυτή την ομάδα" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Επιτρέπεται σ'αυτή την ομάδα να συνδέεται στην ακόλουθη λίστα διακομιστών" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "Τοποθετηση σταθμών εργασίας και τερματικών στην ίδια ομάδα δεν επιτρέπεται" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Λίστα ομάδων" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Πληροφορίες ομάδας POSIX" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "Ομάδα POSIX" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "Ομάδα χρηστών POSIX" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Εξαναγκασμός GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Εξαναγκασμός τιμής GID για αυτή την ομάδα" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "Τιμή GID για αυτήν την ομάδα" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Μέλη ομάδας" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Αναθέσεις ACL" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Ανάθεση ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "Διάλογος Ανάθεσης ACL" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Διάλογος λίστας ελέγχου ανάθεσης ρόλων" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Λειτουργία" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "Αυτό εφαρμόζεται σε ολόκληρο το υποδένδρο ή μόνο στη βάση;" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Υποδέντρο" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Base only" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Ρόλος για εφαρμογή" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Για όλους τους χρήστες" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Εφαρμογή αυτού του ACL για όλους τους χρήστες LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Μέλη" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Χρήστες ή ομάδες που ανατίθεται αυτός ο ρόλος." #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Ανάθεση ACL" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Ανάθεση ρόλων ελέγχου πρόσβασης" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Ανάθεσεις" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Αναθέσεις ρόλου ACL για αυτή την βάση" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Ανάθεσεις σε αντικείμενο ή υποδέντρο %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Δεν υπάρχουν ρυθμίσεις ACLs για αυτήν την κατηγορία" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL για αυτά τα αντικείμενα: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Επεξεργασία κατηγορίας ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Επαναφορά κατηγορίας ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Όλα τα αντικείμενα στο τρέχον υποδέντρο" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "ανάγνωση" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "εγγραφή" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Εμφάνιση.απόκρυψη προχωρημένων ρυθμίσεων" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Δημιουργία αντικειμένων" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Μετακίνηση αντικειμένων" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Αφαίρεση αντικειμένων" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Παροχή δικαιωμάτων σε ιδιοκτήτη" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Ολοκλήρωση αντικειμένου" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Διαχείριση ρόλων ACL" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Περιέχει ρυθμίσεις για αυτά τα αντικείμενα: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Ρόλοι ελέγχου πρόσβασης" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Ρόλος ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Ένα όνομα για αυτόν τον ρόλο" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Σύντομν περιγραφή περιγραφή για αυτό το ρόλο" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACLs που είναι μέρος αυτής της ομάδας" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Δημιουργία ενός νέου λογαριασμού διαχειριστή FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Αναγνωριστικό χρήστη" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Κωδικός (ξανά)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Δημιουργία μιας βασικής ρύθμισης απλού site" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Βρείτε κάθε πιθανό σφάλμα ρύθμισης" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Για συνέχεια:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Πατήστε το κουμπί 'Επόμενο' για να τελειώσετε." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Τρέχουσα" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Ύστερα από την μετάβαση" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Κλείσιμο" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Μετακίνηση επιλεγμένων εγγραφών σε αυτό το δέντρο" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Αν θέλετε να μάθετε τι θα γίνει όταν συγχωνεύονται οι επιλεγμένες καταχωρήσεις, χρησιμοποιήστε το κουμπί 'Εμφάνιση των αλλαγών' για να δείτε το LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Εμφάνιση αλλαγών" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Επανάληψη ελέγχου" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Δημιοτυγήστε το δικό σας αρχείο ρυθμίσεων" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Λήψη ρύθμισης" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Κατάσταση:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Φίλτρο" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Χαμένος κωδικός" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Κατάλογος" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Επανάληψη νέου κωδικού" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Ισχύς κωδικού" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Αλλαγή" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Κάντε κλικ εδώ για να αλλάξετε τον κωδικό σας" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Επιτυχία" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Ο κωδικός σας άλλαξε με επιτυχία" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Ηλ. διεύθυνση" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Οθόνη σύνδεσης" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Εισαγωγή ονόματος χρήστη και κωδικού πρόσβασης για σύνδεση στο σύστημα διαχείρισης σελίδας" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Όνομα χρήστη" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Ξεχάσατε τον κωδικό σας;" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Σύνδεση" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Πατήστε εδώ για να συνδεθείτε" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "Προειδοποίηση: Πρόκειται να διαγραφούν τα παρακάτω αντικείμενο" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Αν είστε σίγουροι, πατήστε \"Διαγραφή\" για να συνεχίσετε ή \"Ακύρωση\" για να εγκαταλείψετε. " #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Κύριο" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Αποσύνδεση" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Συνδεδεμένος σε:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Η συνεδρία λήγει σε %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Μόνο για ανάγνωση" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Οδηγός αντιγραφής και επικόλλησης" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Η ενέργεια ολοκληρώθηκε" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Εκχωρημένο ACL για την τρέχουσα εγγραφή" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Νέο ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Τύπος ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Επιλέξτε ένα τύπο acl" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Πρόσθετες επιλογές φίλτρου" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Χρήση μελών από" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Διαθέσιμα μέλη" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Λίστα πιθανών στόχων μηνυμάτων" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Λίστα παραληπτών μηνυμάτων" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr " ACL για αυτό το προϊόν." #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Διαθέσιμοι ρόλοι" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Ρυθμίσεις χρηστών" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Εκκαθάριση κωδικού" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Ορισμός νέου κωδικού" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Προσωπική εικόνα" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Εικόνα χρήστη" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Manager concerned" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telephoneNumber" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "διαχειριστής" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "αλληλογραφία" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/en/000077500000000000000000000000001304016502700166715ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/en/fusiondirectory.po000066400000000000000000003775261304016502700225050ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FusionDirectory VERSION\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FusionDirectory project \n" "Language-Team: English\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "" "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "" "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your " "passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not " "set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "" "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may " "be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "" "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module \"imagick" "\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on \"%2$s" "\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate " "your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "" "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not " "a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new password" "\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use " "%s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in " "productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using " "a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a " "single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been " "locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want " "to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface. " "If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls " "that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server " "from getting too much load. The easiest way to handle big databases without " "long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list " "of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/es/000077500000000000000000000000001304016502700166765ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/es/fusiondirectory.po000066400000000000000000004504561304016502700225040ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Spanish (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Idioma preferido" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Selección de idiomas" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Este paso le permite seleccionar su idioma preferido" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatico" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Comprobaciones de módulos y extensiones PHP" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Comprobación de la instalación" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Comprobación básica de la versión de PHP y las extensiones." #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Comprobando la versión de PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP debe ser versión '%s' o superior." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Por favor actualize a la versión soportada." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory requiere este modulo para poder hablar con su servidor LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory requiere este modulo para una interfaz internacionalizada." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory requiere este modulo para comunicarse con distintos tipos de servidores y protocolos." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory requiere este modulo para la integración con Samba" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory requiere ya sea el modulo 'mhash' o 'sha1' para usar encripción SSHA" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory requiere este modulo para poder hablar con un servidor IMAP." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory requiere este modulo para manejar cadenas unicode." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory requiere esta extensión para manejar imágenes." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "modulo de compresión" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory requiere esta extensión para manejar capturas." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "registr_globals es un mecanismo de PHP para registrar todas las variables globales de tal manera que sean accesible desde scripts sin que cambien su ámbito. Esto puede ser un problema de seguridad." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Busque 'register_globals' en su php.ini y modifíquelo por 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP usa este valor en el recolector de basura para eliminar las sesiones antiguas." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Ajustando este valor a un día impedirá la perdida de sesiones y cookies antes de que realmente se desconecte por tiempo." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Busque 'sessio.gc_maxlifetime' en su php.ini y modifíquelo a 86400 o mayor." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Off" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Busque 'session.auto_start' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Esta opción está relacionada con el manejo de salida de PHP. Desactive esta opción poniéndola en off para mejorar el rendimiento." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Busque 'implicit_flush' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "El tiempo de ejecución debe ser de al menos 30 segundos." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Busque 'max_execution_time' en su php.ini y modifíquelo a '30' o mayor." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Aumente la seguridad del servidor modificando el parámetro 'expose_php' a 'off'. PHP no debería enviar ningún tipo de información sobre el servidor que esta ejecutando la aplicación." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Busque 'expose_php' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Aumente el rendimiento de su servidor modificando 'magic_quotes_gpc' a 'off'" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Busque 'zend.ze1_compatibility_mode' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Bienvenido" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Bienvenido al asistente de configuración de FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Mensaje de Bienvenida" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrar" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Inspección LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analizar el arbol LDAP actual por compatibilidad con FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Analizando objetos en la entrada raíz" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Comprobando permisos en la base de datos LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Comprobando usuarios invisibles" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Comprobando súper administrador" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Comprobando cuentas fuera del árbol de usuarios" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Comprobando grupos fuera del árbol de grupos" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Comprobando departamentos invisibles" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Comprobando números UID duplicados" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "La consulta LDAP ha fallado" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Error" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Objeto '%s' de FusionDirectory faltante!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Por favor compruebe su instalación" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "No se puede un tipo de objeto estructural en su entrada raíz. Por favor intente añadir la clase de objeto '%s' manualmente." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Error LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Aviso" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Se encontraron %s usuarios que no serán visibles en FusionDirectory o están incompletos." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Error de migración" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Crear" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Usuarios" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupos" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "No hay una cuenta de administrador FusionDirectory dentro de su LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Error" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Mover usuarios al árbol de usuarios configurado" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "a" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Las siguientes referencias se actualizaran" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Encontrados '%s' grupos fuera del árbol configurado '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Se encontraron %s departamentos que no serán visibles en FusionDirectory" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nombre de la localización" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI de conexión" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Conexión TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autenticación" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN del administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Contraseña de administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Estado" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Estado actual" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configuración LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Conectividad LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Este dialogo realiza la configuración básica de la conectividad LDAP para FusionDirectory" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "¡La conexión anónima al servidor '%s' ha fallado!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "¡La conexión como usuario '%s' ha fallado!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Reintento" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "La conexión anónima al servidor '%s' ha tenido exito." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Refresco" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "¡Por Favor especifique un usuario y contraseña!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "¡La conexión como usuario '%s' al servidor '%s' ha tenido exito!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Terminar" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Terminar - Escribir el archivo de configuración" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Escribir archivo de configuración" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "El fichero de configuración es universalmente legible. ¡Por favor modifique los permisos del archivo!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "En estos momentos la configuración no es accesible o no existe." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Después de descargar y colocar el archivo en %s, por favor asegúrese de que el usuario bajo el cual está corriendo el servidor web es capaz de leer %s, mientras que otros usuarios no deben poder." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Error de configuración" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Completado" #: setup/class_setup.inc:248 msgid "Next" msgstr "Siguiente" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "error interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Entrada fallida: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "¡Se ha indicado un objectType vacio o no válido!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "Sin configurar" #: include/class_management.inc:165 msgid "Filter error" msgstr "Error del filtro" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "¡El filtro está incompleto!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Permisos" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Error de permisos" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "No tiene permisos para crear una instantanea para %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "No tiene permisos para recuperar una instantanea para %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "No hay declaración de pestaña para '%s' en su archivo de configuración. ¡No se puede crear la instancia del plugin!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Raíz" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Enviar" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Arriba" #: include/class_listing.inc:313 msgid "Down" msgstr "Abajo" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Seleccione todos" #: include/class_listing.inc:592 msgid "created by" msgstr "Creado por" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Ir al departamento raíz" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Subir un departamento" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Inicio" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Recargar lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Acciones" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copiar" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Mover" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Pegar" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Mover esta entrada" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copiar esta entrada" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Recuperar instantánea" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exportar lista" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Recuperar instantanea" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Crear instantánea" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "¡Crear una nueva instantánea de este objeto!" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Error fatal" #: include/class_xml.inc:66 msgid "in" msgstr "en" #: include/class_xml.inc:68 msgid "on line" msgstr "En linea" #: include/class_xml.inc:69 msgid "XML error" msgstr "Error XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Error en la configuración" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Página" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "No se puede exportar a PDF: no se ha instalado la librería FPDF." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "¡El canal requerido no existe!. Por favor contacte con su Administrador." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Cancelar todo" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "No puedo pegar" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Inicio" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Plantilla" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nombre de la plantilla" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Error fatal: no se han definido un emplazamiento para las clases - por favor ejecute '%s' para solucionar esto" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Error fatal: no se puede instanciar la clase '%s' - intente solucionarlo ejecutando '%s'" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Ha habido un error conectando a LDAP. El servidor comunicó '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Error de Autenticación" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Ha ocurrido un problema al añadir un bloqueo. ¡Contacte con los desarrolladores!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "No puedo crear información de bloqueos en el árbol LDAP. ¡Por favor contacte con su Administrador!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "El servidor LDAP devolvio: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Se han encontrado varios bloqueos para un objeto que iba a ser bloqueado. Esto no debería ocurrir - limpiando referencias multiples." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "¡El límite máximo de %d entradas se ha sobrepasado!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Introduzca un nuevo límite máximo a %s y se volvera a mostrar este mensaje si se supera el límite máximo" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurar" #: include/functions.inc:1133 msgid "incomplete" msgstr "incompleto" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Continuar de cualquier manera" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Editar de cualquier manera" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Has decidido editar las siguientes entradas LDAP %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Entradas por página" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Aplicar filtro" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "¡No se puede escribir en el archivo de revisión!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "No se puede leer el archivo de revisión!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Aviso LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "No puedo obtener información de esquemas del servidor. ¡No es posible comprobar los esquemas!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Clase(s) disponibles" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "No se puede asignar un identificador (ID) libre:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "¡método de asignación de id desconocido!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "¡%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "¡sambaUnixIdPool no es único!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "¡No hay ID disponibles!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "¡Excedido el número de intentos máximo!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "¡No se puede asignar un identificador (ID) libre!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "No se puede encontrar el archivo '%s' - por favor ejecute '%s' para solucionarlo" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Todos los objetos en esta categoría" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Por favor solucione el problema y actualize la página." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Error XML en fusiondirectory.conf: %s en la línea %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "No se puede conectar a LDAP: Por favor consulte con el administrador de sistemas." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "La funcionalidad de instancias esta activa, pero el valor requerido '%s' no está activo." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "La funcionalidad de instancias esta activa, pero no se encuentra el módulo de compresión requerido. Por favor instale '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Todas las categorías" #: include/class_config.inc:1095 msgid "My account" msgstr "Mi cuenta" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Seleccione para mostrar objetos de tipo '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Seleccione para mostrar objetos conteniendo '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Seleccione para mostrar objetos que tengan '%s' activado" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Seleccione para buscar dentro de los subárboles" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Buscar en subárboles" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "¡El objeto será eliminado!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "¡El objeto '%s' será eliminado!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Este objeto será eliminado: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "El objeto '%s' será eliminado: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Este objeto será eliminado" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "El objeto '%s' será eliminado:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Estos objetos serán eliminados: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Los objetos '%s' serán eliminados: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "¡No tiene permisos para eliminar este objeto!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "No tiene permisos para eliminar este objeto:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "No tiene permisos para eliminar estos objetos:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "¡No tiene permisos para crear este objeto!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "No tiene permisos para crear este objeto:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "No tiene permisos para crear estos objetos:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "¡No tiene permisos para modificar este objeto!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "¡No tiene permisos para ver este objeto!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "No tiene permisos para ver el objeto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "No tiene permisos para ver estos objetos:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "¡No tiene permisos para mover este objeto!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "No tiene permisos para mover el objeto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "No tiene permisos para mover estos objetos:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Información de conexión" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "¡No se puede conectar a la base de datos %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "¡No se puede seleccionar la base de datos %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "¡No se ha definido el servidor %s!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "¡No se ha podido ejecutar la consulta %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "¡El campo '%s' tiene una palabra reservada!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "¡El comando especificado como método %s para la extensión '%s' no existe!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "¡El comando '%s' no es válido!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "¡'%s' comando para la extensión %s no es válido!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "¡'%s' comando (%s) no es válido!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "¡'%s' comando (%s) para la extensión %s no es válido!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "¡No se puede ejecutar el comando '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "¡No se puede ejecutar el comando '%s' para la extensión %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "¡No se puede ejecutar el comando '%s' (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "¡No se puede ejecutar el comando '%s' (%s) para la extensión %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "¡El valor especificado como '%s' es demasiado grande!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "¡'%s' debe ser menor que %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "¡El valor especificado como '%s' es demasiado pequeño!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "¡'%s' debe ser %d o superior!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "¡'%s' depende de '%s' - Por favor introduzca ambos valores!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "¡Ya existe una entrada con el atributo '%s' en el sistema!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "¡El campo obligatorio '%s' está vacio!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' no está permitido:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "¡'%s' no están permitidos!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "¡Extensión PHP %s no encontrada!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Cancelar" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplicar" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Guardar" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Añadir" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Añadir %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Eliminar" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Eliminar %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Editar..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Editar %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Atrás" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "¡Esta cuenta tiene extensiones %s no validas!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Esta cuenta tiene características %s activadas. Puede desactivarla pulsando aquí" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Esta cuenta tiene las características %s activadas. ¡Para desactivarlas, necesita eliminar las caracteristicas %s primero!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Esta cuenta tiene características %s desactivadas. Puede activarla pulsando aquí" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Esta cuenta tiene las características %s desactivadas. ¡Para activarlas, necesita añadir las caracteristicas %s primero!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Añadir caracteristicas %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Eliminar las caracteristicas %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Enero" #: include/class_msgPool.inc:662 msgid "February" msgstr "Febrero" #: include/class_msgPool.inc:662 msgid "March" msgstr "Marzo" #: include/class_msgPool.inc:662 msgid "April" msgstr "Abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mayo" #: include/class_msgPool.inc:663 msgid "June" msgstr "Junio" #: include/class_msgPool.inc:663 msgid "July" msgstr "Julio" #: include/class_msgPool.inc:663 msgid "August" msgstr "Agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "Septiembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "Octubre" #: include/class_msgPool.inc:664 msgid "November" msgstr "Noviembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "Diciembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Domingo" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Lunes" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Martes" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Miércoles" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Jueves" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Viernes" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sábado" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Operación de base de datos fallida!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "lectura" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "adición" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "modificación" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "eliminación" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "busqueda" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "autenticación" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "¡LDAP %s ha fallado!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "¡La consulta LDAP ha fallado!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objeto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "¡Ha fallado el subir archivo!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Ha fallado el subir archivo: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "'%s' esta todavía en uso por el objeto: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "'%s' esta todavía en uso." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "'%s' esta todavía en uso por los objetos: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "¡El archivo %s no existe!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "¡No se puede abrir el archivo '%s'!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "¡No se puede grabar el archivo '%s'!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "El valor para '%s' no esta configurado o no es válido.¡Por favor compruebe el archivo de configuración!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "¡No se puede eliminar el fichero '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "¡No se puede crear la carpeta '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "¡No se puede eliminar la carpeta '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Comprobando soporte %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Instala y activa el módulo de PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "No se puede inicializar la clase '%s'! Posiblemente hay un complemento faltante en su instalación de FusionDirectory?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "¡La base introducida no es válida, se ha dejado el valor anterior!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Marca de tiempo" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Recuperar" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Archivo" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Linea" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Error PHP" #: include/php_setup.inc:62 msgid "class" msgstr "clase" #: include/php_setup.inc:70 msgid "function" msgstr "función" #: include/php_setup.inc:76 msgid "static" msgstr "estático" #: include/php_setup.inc:80 msgid "method" msgstr "método" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Traza" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumentos" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "¡La generación de esta página ha provocado errores en el interprete PHP!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Enviar informe de errores al equipo de FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Enviar informe de errores" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Modificar información" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Aviso e rendimiento" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "El rendimiento LDAP es bajo: ¡la última consulta tardó sobre %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "mientras operaba en '%s' usando el servidor LDAP '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "mientras operaba en el servidor LDAP '%s'" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Por favor seleccione las entradas que desee" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nombre" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descripción" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupo de usuarios" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Ninguno" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Desconocido" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Editar" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Eliminar" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "No hay definiciones de extensión para iniciar '%s', por favor compruebe su archivo de configuración." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "El proceso de eliminación ha sido cancelado por la extensión '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "segundos" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minutos" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "horas" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "días" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "No puedo leer el archivo: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "el archivo está vacío" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "fichero no encontrado" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "fichero no accesible" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Enviar" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Descargar" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gestión de las Listas de control de acceso" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Roles ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "¡Entrada desconocida '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Todos los usuarios" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "¡No se puede acceder a el directorio de compilación '%s'!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "Error Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Su sesión de FusionDirectory ha expirado!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "¡Por favor introduzca un nombre de usuario válido!" #: html/index.php:285 msgid "Please specify your password!" msgstr "¡Por favor introduzca una contraseña!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Por favor compruebe la combinación nombre de usuario/contraseña" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Cuenta bloqueada. ¡Por favor contacte con su administrador de sistemas!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Su navegador tiene las cookies desactivadas. ¡Porfavor active las cookies y recargue esta página antes de iniciar sesión!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "La configuración de FusionDirectory %s/%s no se puede leer. Cancelado." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Dirección de correo" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contacte a su administrador, hubo un problema con el servidor de correo" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Esta prenda es invalida" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Configuración PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Error Fatal: 'Register globals' está activado. No se permitirá ningun acceso hasta que esto sea solucionado por un administrador." #: html/main.php:142 msgid "Password change" msgstr "Cambio de contraseña" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Su contraseña va a caducar próximamente, ¡Por favor cambie su contraseña!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "¡Funcionando sin memoria!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Desactivados chequeos de ACL de usuario" #: html/main.php:289 msgid "Plugin" msgstr "Extensión" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "Error de configuración" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Error fatal: no todas las variables POST fueron transferidas por PHP - por favor informe a su administrador!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "¡Bienvenido %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referencias" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Editar parametros de usuarios POSIX" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Directorio de usuario" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Grupo primario" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Pertenencia a grupo" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Cuenta" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "El usuario debe introducir la contraseña en el primer inicio de sesión" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Sistema de seguridad" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modo seguro" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "desactivado" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Acceso sin restricciones" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Permitir el acceso a estos equipos" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automático" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "expiró" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Periodo de gracia activado" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "activo" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "la contraseña expiró" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "no puede cambiar la contraseña" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Tiempo de espera agotado esperando un bloqueo. ¡Ignorando bloqueo!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Metodo de contraseña" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Contraseña" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Usuario" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Información personal" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Apellido" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Nombre" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Localización" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Provincia" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Dirección" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Número sala" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Número de habitación" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Teléfono" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Móvil" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Buscapersonas" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Página Web" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Nombre a Mostrar" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Dirección Postal personal" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Teléfono privado" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Número de teléfono personal" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Información corporativa" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Título" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organización" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departamento" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Número departamento" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Número del departamento" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Número empleado" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Número de empleado" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Categoría profesional" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Gestor" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Necesita introducir su contraseña actual para continuar." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nueva contraseña" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "La contraseña actual y la introducida como nueva son demasiado parecidas." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "La nueva contraseña es demasiado corta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "La clave contiene caracteres unicode posiblemente problemáticos!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Recuperación de clave" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Opciones de recuperación de clave" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Asunto" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Enlace de recuperación de clave" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Recuperación de clave realizada con exito" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Saludos,\n\nSu clave ha sido cambiada.\nSu nombre de usuario aun es %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuración" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Temas y apariencia" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Idioma" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Tema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Zona de uso horario" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Parámetros de Contraseña" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Longitud mínima de la contraseña" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Usar caducidad de cuenta" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Mostrar resumen en listados" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Inicio y sesión" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Atributo de inicio de sesión" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forzar conexiones seguras" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Avisar si la sesión no esta codificada" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Duración de sesiones." #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Activar instantaneas" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base de instantaneas" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Nombre de equipo" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Puerto" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Almacén de grupos y usuarios" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Atributo 'dn' de los usuarios" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Depurando" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Tiempo de consulta máxima de LDAP" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Registrar estadísticas LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Nivel de depuración" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Varios" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Modo" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Métodos" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupos de objetos" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departamentos" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "departamento" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propiedades" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categoría" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "País" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Número de teléfono" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Dominio" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Usuarios y grupos" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Componentes del dominio" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localidad" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista de Departamentos" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Gestión de usuarios" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Bloqueo de cuenta" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Desbloquear cuenta" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Bloquear cuenta" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista de usuarios" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Apellido" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Nombre de pila" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Bloquear usuarios" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Desbloquear usuarios" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Aplicar plantilla" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Nuevo usuario desde plantilla" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Editar usuario" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Eliminar usuario" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Rol" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Información" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Número de teléfono" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Número de Fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Editar características posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Mostrar grupos primarios" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Mostrar grupos de correo" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Mostrar grupos de samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Grupo de objetos" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupo" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Objetos miembros" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista de grupos" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forzar GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Miembros del grupo" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Asignación de ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modo" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Miembros" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "No hay ACL configuradas en esta categoría" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACLs que tienen estos objetos: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Editar la categoría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Eliminar la categoría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista de categorías ACL disponibles" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Todos los objetos en el subárbol actual" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "leer" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "escribir" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Mostrar/ocultar caracteristicas avanzadas" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Crear objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Mover objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Eliminar Objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Garantizar permiso al propietario" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Objeto completo" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Tiene configuraciones de los siguientes objetos: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Roles de control de acceso" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory NO correrá si no se arregla esto." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory correrá aun si no se arregla esto." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Crear una nueva cuenta administrador de FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Este dialogo añadirá automáticamente un nuevo superadministrador a su árbol LDAP." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Identificador (ID) de usuario" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Contraseña (de nuevo)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Esta parece ser la primera vez que inicia FusionDirectory - no conseguimos ninguna configuración hasta el momento. Este simple asistente trata de ayudarlo a configurar." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "¿Que hará este asistente para usted?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Creara una configuración básica para un único sitio" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Intentando encontrar problemas en la configuración de LDAP y de PHP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Le permite seleccionar un juego de opciones básicas o avanzadas" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Migración guiada de arboles LDAP existentes" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "¿Que no hará este asistente por usted?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Encontrar cada posible error de configuración" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migración asistidas de cualquier configuración LDAP - ¡creando copias de seguridad!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Añadir las clases de objetos necesarias a la base LDAP" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Actual" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Despues de migrar" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Cerrar" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Si quiere saber que se hará cuando se migren las entradas seleccionadas use el botón 'Mostrar cambios' para ver el LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Mostrar cambios" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Durante la inspección del LDAP vamos a verificar varios problemas comunes que pueden ocurrir durante la migración a administración por FusionDirectory de la base LDAP. Puede querer reparar los problemas debajo, para proveer un servicio mas eficiente." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Comprobar de nuevo" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Crear su fichero de configuración" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Descargar configuración" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Estado: " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtro" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Clave extraviada" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Este dialogo provee un método sencillo para cambiar su clave. Introduzca la clave nueva (dos veces) en los campos debajo y presione el botón 'Cambiar'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Directorio" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Repita la nueva contraseña" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Resistencia de la contraseña" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Cambiar" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Pulse aquí para cambiar su contraseña" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Correcto" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Su contraseña se ha cambiado correctamente." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Introduzca su dirección de correo actual en el campo debajo y presione el botón 'Cambiar'" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Correo Electrónico" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Pantalla de inicio" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Por favor use su nombre de usuario y contraseña para iniciar sesión en el sistema de administración." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nombre de Usuario" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Entrando" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Pulse aquí para iniciar sesión" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "La opción 'tamaño limite' permite unas operaciones con LDAP mas rápidas y protege al servidor LDAP de tener una mayor carga. La manera mas fácil de manipular grandes bases de datos sin grandes perdidas de tiempo es limitar la búsqueda a valores pequeños y usar filtros para encontrar las entradas que este buscando." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Por favor elija la forma de reaccionar en esta sesión" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignore este error y muestre todas las entradas devueltas por el servidor LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignore este error y muestre todas las entradas que coincidan con el tamaño limite definido y active el uso de filtros en su lugar" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Activar" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Por favor verifique si realmente quiere hacer esto ya que no hay forma para que FusionDirectory recupere la data." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Entonces, si esta seguro, presione Eliminar para continuar o Cancelar para Abortar." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Inicio" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Salir" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Entrando" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "La sesión expira en %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuar" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Detectado conflicto de Bloqueos" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Solo lectura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Asistente para copiar y pegar" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Algunos valores deben ser únicos en el directorio completo mientras que algunas combinaciones no tienen sentido. FusionDirectory muestra los atributos relevantes. Por favor mantenga los valores de abajo para cumplir con las políticas." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "¡Recuerde que propiedades como gestionar instantáneas no serán copiadas!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "O, si copia o corta una entrada en FusionDirectory y borra el objeto fuente, puede resultar en errores al pegar el objeto nuevamente!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operación incompleta" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Asignando ACL a la entrada actual" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nueva ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Seleccione un tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Añadir opciones de filtrado" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Usar miembros de" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Miembros disponibles" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Mostrar mensaje de posibles destinos" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Lista de recipientes de mensajes" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL que tienen este objeto" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Roles disponibles" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "El equipo de FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Este objeto no tiene relación con otros objetos" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Caracteristicas del usuario" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Borrar Contraseña" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Introducir nueva contraseña" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Foto" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Foto del usuario" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Eliminar foto" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "No tiene permisos para cambiar su contraseña en estos momentos" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "No se cambiará su método de hash de la contraseña!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Su cambio de contraseña se ha realizado correctamente. Recuerde cambiarla en todos los programas configurados también." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telephoneNumber (Numero de Telefono)" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Mostrar plantillas" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Mostrar usuarios funcionales" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Mostrar usuarios POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Mostrar los usuarios de correo" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Mostrar los usuarios samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/es_CO/000077500000000000000000000000001304016502700172575ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/es_CO/fusiondirectory.po000066400000000000000000005067661304016502700230730ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Miguel Ortiz , 2015 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Spanish (Colombia) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/es_CO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_CO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Idioma preferido" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Idioma de instalación" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Este paso le permitirá elegir su lenguaje preferido." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "En este punto usted puede elegir el idioma por defecto del sitio. Si elige 'automático' se utilizará el lenguaje del navegador. Ésta opción puede ser cambiada por el usuario." #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automático" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Verificación de extensiones y módulos PHP " #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "Configuración de la instalación de PHP (Mostrar información)" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Revisión de la instalación" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Revisión básica de Extensiones PHP y compatibilidad" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Revisando la versión PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP debe tener una versión %s o superior." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Por favor actualice a una versión soportada." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory requiere este módulo para comunicarse con su servidor LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory requiere este módulo para una inferfaz internacionalizada." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory requiere este módulo para comunicarse con diferentes tipos de servidores y protocolos." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory necesita éste módulo para la integración con Samba" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory requiere el módulo 'mhash' o bien 'sha1' para usar encripción por SSHA." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory requiere este módulo para comunicarse con un servidor IMAP." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory requiere este módulo para manejar strings unicoide." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory requiere esta extensión para manejar imágenes." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "módulo de compresión" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory requiere esta extensión para manejar snapshots." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals es un mecanismo PHP para registrar todas las variables globales y que puedan accederse mediante scripts sin cambiar el foco. Esto puede ser un riesgo de seguridad." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Buscar por 'register_globals' en su archivo php.ini y cámbielo a 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP utiliza este valor para que el colector de basura borre las sesiones obsoletas." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Configurando este valor a 'un día' prevendrá perder sesiones y cookies antes de que realmente expiren." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Buscar por 'session.gc_maxlifetime' en su archivo php.ini y configurarlo a 86400 o superior." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Apagado" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Para utilizar FusionDirectory sin problemas la opción session.auto_start en su archivo php.ini debe estar configurada en 'Off'." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Buscar 'session.auto_start' en su archivo php.ini y configurarlo en 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory requiere al menos 128MB de memoria. Si usted utiliza menos que esto ¡puede causar errores que no son reproducibles! aumente la memoria para instalaciones grandes." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Buscar 'memory_limit' en su archivo php.ini y configurarlo con '128MB' o superior." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Esta opción afecta el manejo de la salida PHP. Deshabilitar esta opción con 'off' mejorará el rendimiento." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Busca 'omplicit_flush' en su archivo php.ini y lo establece como 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "El tiempo de ejecución debería ser al menos de 30 segundos." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Busca 'max_execution_time' en su archivo php.ini y lo establece como '30' o superior." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Incrementa la seguridad del servidor estableciendo 'expose_php' como 'Off'. PHP no enviará información de su servidor en este caso." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Busca 'expose_php' en su archivo php.ini y lo establece como 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Incrementa el rendimiento del servidor estableciendo 'magic_quotes_gpc' como 'Off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Busca 'zend.ze1_compatibility_mode' en su archivo php.ini y lo establece como 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Bienvenido" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Bienvenido al asistente de configuración de FusionDirectory." #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Mensaje de bienvenida" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrar" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Revisión de LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Se va a analizar la compatibilidad entre LDAP y FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "Otorgar todos los permisos en usuarios que pertenezcan a dicha rama." #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "Permitir a los usuarios editar su propia información (Pestaña de Inicio y posix, usar únicamente en base)" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "Permitir a los usuarios editar su propia contraseña (Solo en las pestañas POSIX e Inicio)" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Revisar las clases del objeto 'root'" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Revisar los permisos para la base de datos LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Revisar si existen Divisiones ocultas" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Falló" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "¡No se encuentra el objeto clase '%s' de FusionDirectory!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Por favor verifique su instalación." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "No es posible utilizar el tipo de objeto estructurado de su objeto 'root'. Por favor intente agregar el objeto clase '%s' manualmente." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Error LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "El usuario \"%s\" especificado no tiene acceso completo a la base de datos LDAP." #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "El usuario \"%s\" especificado no tiene acceso completo a la base de datos ldap." #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Advertencia" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Se encontraron %s usuario(s) que no estarán visibles en FusionDirectory o que están incompletos." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "Migración de Usuario" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Error de migración" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "No se puede migrar la entrada \"%s\":" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "Se encontraron cuentas administrativas de FD 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "Se encontraron grupos administrativos de FD 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "Usted debe ejecutar fusiondirectory-setup-migrate-acls después de salvar su archivo de configuración al terminar la configuración general para migrarlo.
    " #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "No hay un administrador válido de FusionDirectory 1.0.8 en su LDAP." #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Crear" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Usuarios" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupos" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "No hay una cuenta de administrador de FusionDirectory en su LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "Dar permisos en todos los objetos." #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Error" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "Los roles ACL por defecto no han sido insertados" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "No se encuentran algunos de los roles ACL por defecto" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "Los roles ACL por defecto han sido insertados" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "No es posible agregar el rol ACL \"%s\":" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "Se encontraron %s usuario(s) fuera del árbol configurado \"%s\"." #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Mover usuarios dentro del árbol configurado" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "¡No se pueden mover entradas en la División seleccionada!" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "La entrada será movida desde " #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "a" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Las siguientes referencias serán actualizadas" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Se encontraron %s grupos fuera del árbol configurado '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "Mover grupos dentro del árbol configurado" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Se encontraron %s Division(es) que no serán visibles en FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "Migración de Divisiones." #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Ubicación" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "Nombre de esta conexión para mostrar en la lista de servidores de LDAP." #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI de conexión" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "URI para contactar al servidor LDAP. Usualmente comienza con ldap://" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Conexión TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "¿Debería usarse TLS para conectarse a este servidor LDAP?" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "El directorio base de LDAP" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autenticación" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "DN de la cuenta admin para conectarse a LDAP. La base se añade automáticamente." #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN para el Administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Contraseña de Administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "Contraseña para la cuenta de Administrador que será vinculada a LDAP." #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Estado" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Estado Actual" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "Resultado del último intento al revisar la vinculación con LDAP y los esquemas básicos." #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configuración de LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Configuración de conexión LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Este mensaje muestra una configuración básica de la conectividad de LDAP con FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "¡La vinculación anónima al servidor %s ha fallado!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Falló la vinculación con el usuario '%s'" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "¡La vinculación anónima al servidor %s ha funcionado!" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "¡Por favor especifique su usuario y contraseña!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "¡Ha funcionado la vinculación del usuario '%s' al servidor '%s'!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Finalizar" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Finalizar - Crear el archivo de configuración" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Crear el archivo de configuración" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Su archivo de configuración no debería tener permisos de lectura para todos los usuarios. ¡Por favor actualice los permisos!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "No se puede acceder al archivo de configuración porque no existe o no tiene permisos de lectura sobre él." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Después de descargar y colocar el archivo en %s, por favor verifique que el usuario con el cual está ejecutándose el servidor web tiene acceso a %s. Otros usuarios no deberían tener acceso." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Error en la configuración" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Completado" #: setup/class_setup.inc:248 msgid "Next" msgstr "Siguiente" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Error Interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "¡El objectType especificado está vacío o es inválido!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "Aún sin configurar" #: include/class_management.inc:165 msgid "Filter error" msgstr "Error al filtrar" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "¡El filtro está incompleto!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Permisos" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Error de permisos" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Usted no tiene permitido crear un 'snashot' para %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Usted no tiene permitido restaurar un 'snapshot' para %s" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "No se encontró la etiqueta '%s' en su archivo de configuración. ¡No se puede crear la instancia del plugin!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Root" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Enviar" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Arriba" #: include/class_listing.inc:313 msgid "Down" msgstr "Abajo" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Ordenar " #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Ordenar de modo inverso" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Seleccionar todo" #: include/class_listing.inc:592 msgid "created by" msgstr "creado por" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Ir a la División raíz" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Subir una División" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "Ir a la División del usuario" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Home" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Refrescar lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Acciones" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copiar" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Cortar" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Pegar" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Cortar esta entrada" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copiar esta entrada" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Restaurar 'snapshots'" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exportar lista" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Restaurar 'snapshot'" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Crear 'snapshot'" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Crear un nuevo 'snapshot' de este objeto" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Error fatal" #: include/class_xml.inc:66 msgid "in" msgstr "in" #: include/class_xml.inc:68 msgid "on line" msgstr "en línea" #: include/class_xml.inc:69 msgid "XML error" msgstr "Erro XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "No se puede cambiar la contraseña, usuario desconocido '%s'" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "Usted debe completar saslRealm o saslExop en la pantalla de configuración para usar SASL" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Error de configuración" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Página" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "No se puede exportar un PDF: no hay una librería FPDF instalada." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "El canal requerido no existe. Por favor contacte a su administrador." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Cancelar todo" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "No se puede pegar" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Cuenta de usuario" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Plantilla" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nombre de la plantilla" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Error fatal: No se puede ejemplificar la clase '%s' - intente ejecutar '%s' para arreglar esto." #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Error conectándose a LDAP. El servidor dijo: '%s'" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "¡Login (uid) no es un valor único en el árbol LDAP!. Por favor contacte a su administrador." #: include/functions.inc:597 msgid "Authentication error" msgstr "Error de autenticación" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "Al parecer tu contraseña expiró. Por favor acceda aRecuperar contraseña y cámbiela." #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Error mientras agregando un bloqueo. ¡Contacte a los desarrolladores!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "No se puede crear un bloqueo de información en el árbol de 'LDAP'. ¡Por favor contacte a su administrador!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "El servidor LDAP respondió: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Se encontraron varios 'locks' en el objeto lo cual impide bloquearlo. Esto no debería suceder - borrando varias referencias." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurar" #: include/functions.inc:1133 msgid "incomplete" msgstr "incompleto" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Continuar de todos modos" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Editar de todos modos" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Usted está a punto de editar las entradas de LDAP: %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Resultados por página" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Aplicar filtro" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiB" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiB" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiB" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiB" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiB" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sEiB" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiB" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiB" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "El archivo '%s' no se puede borrar. Intente ejecutar fusiondirectory-setup-check-directories para arreglar los permisos." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "LDAP - Advertencia" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "No se puede traer información del 'schema' desde el servidor. ¡No se puede validar el schema'" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "Usted ha instalado el plugin 'Mixed Groups', pero la configuración de su esquema no lo soporta." #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "Su esquema tiene configurado soporte para 'Mixed Groups', pero este plugin no está presente." #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "¡método 'idAllocation' desconocido!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "!sambaUnixIdPool no es un valor único!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "No se encuentra el archivo '%s' - por favor ejecute '%s' para arreglar esto." #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Todos los objetos en esta categoría" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Por favor solucione el error anterior y recargue la página." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "La Zona Horaria \"%s\" en su configuración no es válida." #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Error XML en fusiondirectory.conf: %s en la línea %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "No se puede contactar a LDAP. Por favor contacte al adminsitrador del sistema." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "La característica 'snapshot' está habilitada, pero la variable '%s' requerida no está configurada." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "La funcionalidad de 'snapshot' está habilitada, pero el módulo de compresión requerido no se encuentra. Por favor instale '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Todas las categorías" #: include/class_config.inc:1095 msgid "My account" msgstr "Mi cuenta" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Elija para listar todos los objetos del tipo '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Elegir para listar los objetos que posean '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Elegir para listar todos los objetos que posean '%s' habilitado." #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Seleccione para buscar dentro de subárboles" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Buscar en subárboles" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "¡Este objeto será borrado!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "¡Este '%s' objeto será borrad%s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "!No tienes permisos para ver este objeto!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "No tienes permisos para ver el objeto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "No tienes permisos para para ver estos objetos:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "!No tienes permisos para mover este objeto!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "No tienes permisos para mover el objeto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "No tienes permisos para mover estos objetos:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Información de la conexión" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "¡No se puede conectar a la base de datos %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "¡No se puede seleccionar la base de datos %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "¡No se ha definido el servidor %s!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "¡No se puede consultar la base de datos %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "¡El campo '%s' tiene una palabra especial reservada por el sistema!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "¡El comando especificado como %s hook para el plugin '%s' no existe!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "¡El comando '%s' es inválido!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "¡El comando '%s' para el plugin %s es inválido!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "¡El '%s' comando (%s) es inválido!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "¡'%s' comando (%s) para el plugin %s es inválido!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "¡No se puede ejecutar el comando '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "¡No se puede ejecutar el comando '%s' para el plugin %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "¡No se puede ejecutar '%s' comando (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Cancelar" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplicar" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Salvar" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Agregar" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Agregar %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Borrar" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Borrar %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Editar..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Editar %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Atrás" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "¡Esta cuenta no tiene extensiones %s válidas!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Ésta cuenta tiene %s configuraciones habilitadas. Usted puede deshabilitarlas haciendo clic debajo." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Ésta cuenta tiene %s configuraciones habilitadas. ¡Para deshabilitarlas deberá borrar el %s de configuraciones primero!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Ésta cuenta tiene %s configuraciones deshabilitadas. Usted puede habilitarlas haciendo clic debajo." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Ésta cuenta tiene %s configuraciones deshabilitadas. ¡Para habilitarlas usted deberá agregar el %s de configuraciones primero!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Agregar %s configuraciones " #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Borrar %s configuraciones " #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Enero" #: include/class_msgPool.inc:662 msgid "February" msgstr "Febrero" #: include/class_msgPool.inc:662 msgid "March" msgstr "Marzo" #: include/class_msgPool.inc:662 msgid "April" msgstr "Abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mayo" #: include/class_msgPool.inc:663 msgid "June" msgstr "Junio" #: include/class_msgPool.inc:663 msgid "July" msgstr "Julio" #: include/class_msgPool.inc:663 msgid "August" msgstr "Agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "Septiembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "Octubre" #: include/class_msgPool.inc:664 msgid "November" msgstr "Noviembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "Diciembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Domingo" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Lunes" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Martes" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Miércoles" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Jueves" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Viernes" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sábado" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "¡Falló la operación en la base de datos!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "leer operación" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "agregar operación" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "modificar operación" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "borrar operación" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "buscar operación" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "autenticación" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "¡LDAP %s falló!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "¡La operación en LDAP ha fallado!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objeto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "¡La subida del archivo ha fallado!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "¡La subida del archivo: %s ha fallado!" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "¡Falló la comunicación con el servicio de infraestructura!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "¡Falló la comunicación con el servicio de infraestructura: %s!" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "Este '%s' sigue en uso por el objeto: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Este '%s' sigue en uso." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "No se puede eliminar el archivo '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "¡No se puede borrar el directorio '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "No se puede inicializar la clase '%s'! ¿Quizás hay algún plugin mal instalado en su configuración de FusionDirectory?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Marca de tiempo" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Snapshots" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Archivo" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Line" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Error PHP" #: include/php_setup.inc:62 msgid "class" msgstr "clase" #: include/php_setup.inc:70 msgid "function" msgstr "función" #: include/php_setup.inc:76 msgid "static" msgstr "static" #: include/php_setup.inc:80 msgid "method" msgstr "método" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Trace" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumentos" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "¡Al generar esta página se han generado errores en el intérprete PHP!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Enviar un reporte de fallo al equipo de FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Enviar reporte de errores" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Alternar información" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Advertencia de Rendmiento" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "LDAP tiene un desempeño lento: su última consulta tomó %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "mientras se realizan operaciones en '%s' usando el servidor LDAP %s" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "mientras se realizan operaciones en el servidor LDAP %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "proc_open falló al ejecutar ldapsearch" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Por favor elija las entradas que desea" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nombre" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descripción" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Rol %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Grupo %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupo del usuario" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Ninguno" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Desconocido" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Editar" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Borrar" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "No se encontraron descripciones para iniciar '%s', por favor revise su archivo de configuración." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "El proceso de borrado fue cancelado por el plugin '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "segundos" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minutos" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "horas" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "días" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "A partir de plantilla" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "%s plantilla" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Mostrar %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "SIN ETIQUETA" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Configuraciones de Plantilla" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Este es el nombre de la plantilla" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "Solo la pestaña principal puede calcular dn" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "No es posible calcular dn: no hay pestaña de clase padre para \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "No es posible calcular dn: No se encuentra el objectType infos desde la pestaña clase \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Error al salvar" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Ya existe una entrada con el mismo dn: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "La entrada %s no existe" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (necesario)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Objeto base" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "No se puede leer el archivo subido: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "el archivo está vacio" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "archivo no encontrado" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "archivo sin privilegios de lectura" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d bytes)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Subir" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Descargar" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Valor inválido para %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Un número entero entre %d y %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Un número entero mayor que %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Un número entero menor a %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Un número flotante entre %f y %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Un número flotante mayor que %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Un número flotante menor que %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "Hubo un problema descomprimiendo la información del snapshot." #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Pestaña \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Administrar listas de control de acceso" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Roles ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "¡Tipo de ACL '%s' desconocido!\nPuede que usted necesite ejecutar \"fusiondirectory-setup --migrate-acls\" para migrar sus acls al nuevo formato." #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "¡Entrada desconocida '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Todos los usuarios" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "¡No se puede acceder al directorio '%s' especificado para compilar!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "El archivo de configuración de FusionDirectory %s/%s no tiene privilegios de lectura. Por favor ejecute \"fusiondirectory-setup --check-config\" para corregir éste problema." #: html/index.php:171 msgid "Smarty error" msgstr "Error en Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "¡Su sesión de FusionDirectory ha expirado!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "¡Tu IP ha cambiado!" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "¡Parámetro \"%s\" de plugin inválido!" #: html/index.php:217 msgid "No session found!" msgstr "¡No se encuentra la sesión!" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "¡Por favor especifique un nombre de usuario válido!" #: html/index.php:285 msgid "Please specify your password!" msgstr "¡Por favor especifique su contraseña!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Por favor verifique su combinación de usuario/contraseña" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Cuenta bloqueada. ¡Por favor contacte a su administrador!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Su navegador tiene las cookies deshabilitadas. ¡Por favor habilítelas y recarge la página antes de iniciar sesión!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "La configuración %s/%s de FusionDirectory no tiene permisos de lectura. Abortado." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Dirección de correo" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "No se encontró la cuenta de usuario: \"%s\"" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "Se encontraron varias cuentas identificadas como: \"%s\"" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contacte a su administrador, hubo un problema con el servidor de correo." #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Este token es inválido" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Hay un problema con el servidor de correo, la confirmación de email no será enviada." #: html/main.php:115 msgid "PHP configuration" msgstr "Configuración PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Error fatal: Registrar 'globales' está habilitado. FusionDirectory rechazará el inicio de sesión hasta que esto sea solucionado por un administrador." #: html/main.php:142 msgid "Password change" msgstr "Cambio de contraseña" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Su contraseña está a punto de expirar, ¡por favor cambie su contraseña!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "¡El sistema se está quedando sin memoria!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Checks ACL de usuario deshabiltiados" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Error Fatal: ¡No es posible encontrar ninguna definición de plugin para el plugin '%s' ('%s' no es un archivo)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Error de configuración" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Error Fatal: ¡Algunas de las variables POST no se han transferido por PHP - por favor informe a su administrador!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "¡Bienvenido %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referencias" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Editar configuración POSIX de los usuarios" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "'Home' del usuario" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "La ruta al nuevo directorio 'home' del usuario." #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Qué 'shells' deberían usarse cuando este usuario inicie sesión." #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Grupo Primario" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Grupo primario para este usuario" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Estado de la cuenta Unix de este usuario" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Forzar 'id' de usuario/grupo " #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Forzar los valores 'id' y 'group id' para éste usuario." #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "id de usuario" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Forzar valor 'id' para este usuario" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "id de Grupo" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Forzar valor 'Group id' para este usuario." #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Pertenencia a grupos" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Cuenta de usuario" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "El usuario debe cambiar su contraseña en el primer inicio de sesión." #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "El usuario debe cambiar su contraseña en el primer inicio de sesión (necesita un valor de retraso antes de forzar el cambio de contraseña)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Retraso antes de forzar el cambio de contraseña (días)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "El usuario será forzado a cambiar su contraseña después de este número de días (deje vacío para deshabilitar)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Fecha de caducidad para la contraseña" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "La fecha tras la cual la contraseña de este usuario va a caducar (deje vacío para deshabilitar)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Retraso de inactividad antes de deshabilitar el usuario (días)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Luego de que caduque la contraseña del usuario, tiempo máximo de retraso antes de deshabilitar la cuenta del usuario (deje vacío para deshabilitar)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Retraso para avisar al usuario sobre el vencimiento de su contraseña (días)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "El usuario será advertido esta cantidad de días antes de que su contraseña caduque (deje vacío para deshabilitar)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Confianza del Sistema" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modo de Confianza" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Tipo de autorización para ésos equipos" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "deshabilitado" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Acceso Completo" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Permitir acceso a ésos equipos" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Permitir a este usuario conectarse a esta lista de hosts." #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automático" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "expirado" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Período de gracia activo" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "activo" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "Contraseña expirada" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "Contraseña no modificable" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Tiempo de espera superado mientras se esperaba el bloqueo. ¡Ignorando el bloqueo!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Grupo del usuario %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Grupos y Roles" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Editar grupos y roles del usuario" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Pertenencia a grupos" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Pertenencia a Roles" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Tipo de contraseña" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Tipo de 'hash' para la contraseña" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Contraseña" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Contraseña (deje vacío si usted no desea cambiarla)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Su contraseña de nuevo" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Igual a la contraseña anterior para evitar errores" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Usuario" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Información de Cuentas de Usuario" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Cuenta de Usuario" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Información personal" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Apellido" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Apellido de este usuario" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Primer nombre" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Primer nombre de este usuario" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Descripción corta para éste usuario" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Imagen" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "El avatar para este usuario" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Información de contacto Profesional" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Ubicación" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Estado" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Dirección" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Dirección postal de trabajo" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Habitación Nro." #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Número de habitación" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Teléfono" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Número telefónico de trabajo" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Celular" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Celular de trabajo" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Bíper" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Bíper laboral" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Nro. Fax de trabajo" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Página web" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Página web personal" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Información de cuenta" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Cuenta de este usuario" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Contraseña del usuario" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Información de contacto 'Personal'" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Dirección personal" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Código postal personal" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Teléfono personal" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Teléfono de domicilio personal" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Información Profesional" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Tratamiento 'Sr, Sra...'" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "Tratamiento 'Dr, Ing, Sr, Sra ...' en un contexto profesional. Cada tratamiento es un valor de sus múltiples atributos." #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organización" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "División" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "División No." #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Número de División" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Empleado N°" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Número de empleado" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Tipo de empleado" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Mánager" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "¡No se pudo encontrar la política \"%s\" en LDAP!" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Usted no tiene permitido cambiar su propia contraseña." #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Usted debe esperar %d segundos antes de cambiar su contraseña de nuevo." #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "La contraseña está en el historial de viejas contraseñas." #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "La contraseña no será cambiada por este valor" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Usted debe especificar su contraseña actual para poder proceder." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "Las contraseñas que usted ingresó como \"Nueva contraseña\" y \"Repetir nueva contraseña\" no coinciden." #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nueva contraseña" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "La contraseña anterior y la nueva son muy parecidas." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "La contraseña nueva es muy corta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "La contraseña posiblemente contiene caracteres 'Unicoide' que son problemáticos." #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Estadísticas de los usuarios" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Estadísticas de usuario" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Estadísticas de los grupos" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Cuentas expiradas" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Panel" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Reportes" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Estadísticas" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Recuperación de contraseña" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Configuraciones para la característica de recuperación de contraseña." #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Configuración de \"Recuperación de Contraseña\"" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Habilitar recuperación de contraseña." #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Elegir cuando activar la característica de recuperación de contraseña." #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Correo del remitente" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Dirección desde donde se enviarán los correos." #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Vigencia del 'Link' (minutos)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Cantidad de tiempo antes que el link para recuperar expire." #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "'Salt' para 'tokens''" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Solo una medida de seguridad, usted puede incluir cualquier cosa aquí, incluso caracteres aleatorios." #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Habilitar el uso de correos alternativos" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Los usuarios también podrán una dirección alternativa para recuperar su contraseña." #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Correo principal" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Asunto" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Asunto del correo principal" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Enlace para recuperar contraseña" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Mensaje (primer %s es Cuenta de usuario, el segundo es 'Enlace')" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Mensaje del primer correo enviado cuando el usuario solicita una nueva contraseña. Utilice %s para la cuenta de usuario y el enlace de recuperación de contraseña." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Email secundario" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Asunto del email secundario" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] ¡Recuperación de contraseña satisfactoria!" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Mensaje (%s es cuenta de usuario)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Mensaje del segundo correo enviado al confirmar el cambio de contraseña. Utilice %s para la cuenta de usuario." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Hola,\n\nSu contraseña se ha cambiado.\nSu cuenta de usuario sigue siendo %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuración" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Configuración de FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Look and feel" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Idioma" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Idioma de la aplicación. Si utiliza 'automático' o no disponible, se preguntará al navegador cuál utilizar. Ésta opción puede ser cambiada por el usuario." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Plantilla" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Plantilla a utilizar" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Zona Horaria" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Zona Horaria a utilizar" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Configuración del esquema 'LDAP'" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "Validación del esquema 'LDAP'" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Habilita la validación del esquema 'LDAP' durante el inicio de sesión." #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Configuraciones de Contraseña" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "'hash' de contraseña por defecto." #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "'hash' por defecto" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Forzar 'hash' por defecto" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Forzar el uso del 'hash' de Contraseña por defecto." #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Longitud mínima de contraseña" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Longitud máxima de contraseña para usuarios" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Diferencia mínima entre contraseñas" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Cantidad mínima de caracteres distintos a partir de la última contraseña" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Expiración de la cuenta de usuario" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Habilita pruebas del atributo 'shadow' durante el proceso de inicio de sesión en FusionDirectory y fuerza la renovación de contraseña o bloqueo de cuenta." #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "SASL Realm" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "SASL Exop" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Valor que será almacenado en el atributo 'userPassword'" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Configuración del 'Núcleo'" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Muestra un resumen en los listados." #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Determina cuando una barra de estado será mostrada al final de listas, en un resumen corto y cantidad de elementos en la lista." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Editar bloqueo" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Mientras tanto, revisar si una entrada que está siendo editada ha sido modificada desde fuera de FusionDirectory." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Habilitar escritura de logs" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Escritura de eventos en logs de FusionDirectory" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "Tamaño límite LDAP" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Determine cuántas entradas se traerán de LDAP por defecto." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Cuenta de Usuario y sesión" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Cuenta de Usuario" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Que atributo LDAP debería usarse como 'cuenta de usuario' en el inicio de sesión." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forzar las conexiones encriptadas" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Habilita revisiones de seguridad con PHP para forzar el acceso encriptado (https) en la interfaz web." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Alertar si la sesión no se encuentra encriptada" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "mostrará un mensaje de advertencia al usuario cuando se utilice http en vez de https." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Tiempo de vida de la sesión " #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Habilitar snapshots" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Permite que usted salve ciertos estados o entradas para luego restaurarlas." #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base para Snapshot " #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "La base donde los snapshots deberían ser almacenados dentro de LDAP." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Ruta de la llave " #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "Ruta donde se encuentra la llave de FusionDirectory. Por el momento, sin uso." #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Ruta del certificado" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "Ruta donde se encuentra el certificado. Por el momento, sin uso." #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "Path del certificado CA" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "Ruta del certificado CA. Se utiliza para validar el equipo con el 'Servidor Argonaut'." #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Equipo" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Puerto" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Almacenamiento de 'Usuarios' y 'Grupos'" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Atributo DN para 'Usuarios'" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Atributo al inicio del \"dn\" de los usuarios" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "Patrón para CN" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "Este es el patrón que se usará para crear el campo de 'nombre común'" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Politica de nombres" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Habilita la validación estricta de nombres para usuarios o grupos." #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "Grupo/usuario min id" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "El número 'id' mínimo asignable a un usuario o grupo para evitar fallas de seguridad como cuentas de usuario con id '0'." #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Siguiente id hook" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Un script que buscará el siguiente número \"id\" libre para usuarios o grupos." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Número base para 'id' de usuario" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Dónde buscar un id libre de usuario." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Número base para 'id' de grupo" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Dónde buscar un id libre de grupo" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "Usuarios RDN" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "La rama donde los usuarios están guardados." #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "Grupos RDN" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "La rama donde se guardan los grupos." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "ACL Rol RDN" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "La rama donde los rol ACL están almacenados." #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Método para asignar 'ids'" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Método para asignar 'ids' de grupo/usuario" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Tradicional" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Samba unix id pool" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "Pool user id min" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "Valor mínimo para el valor 'id' del usuario cuando utilice el método 'pool'" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "Pool user id max" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "Valor máximo para el valor 'id' del usuario cuando utilice el método 'pool'" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "Pool group id min" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "Valor mínimo para id de 'grupo' cuando se utilice el método 'pool'" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "Pool group id max" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "Valor máximo para el group id cuando se utilice el método pool." #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Rastreo de errores" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Mostrar errores" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Muesta los errores PHP en la parte superior de la pantalla. esto debería estar deshabilitado en entornos productivos, ya que, en algunos casos podrían mostrarse contraseñas allí." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Tiempo máximo de consultas LDAP." #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Detenga las acciones sobre LDAP si no hay respuesta después del tiempo especificado en segundos." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Escribir logs de las estadísticas LDAP." #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Registrar estadísticas de tiempo de LDAP en 'syslog'. Esto puede ser útil para encontrar problemas o filtros de búsqueda erróneos." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Nivel del 'Rastreo de Errores'" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Mostrar determinados datos en cada página de carga." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Miscelánea" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "'Hooks' que son llamados cuando suceden acciones específicas." #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "Pestaña" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "La pestaña que corresponde a este 'hook'" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "modo" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Cuándo llamar este comando" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "cmd" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "La línea de comandos que será usada" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Hooks" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "Mostrar la salida del 'hook'" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "Si se habilita, cuando un 'hook' termine exitosamente se mostrará una ventana de diálogo al usuario." #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Shells disponibles" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Shells POSIX disponibles para usuarios de FD." #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "Mostrar pestaña de ACL en todos los objetos." #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "Para el uso de permisos ACLs muy específicos usted podría requerir dar acceso en un objeto particular." #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Configuración de plugins" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Configuración de 'plugins'" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "Configuración de plugins de FusionDirectory" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupos" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "OGroup RDN" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Rama de LDAP donde ser almacenarán los Grupos" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Forzar para solicitar la contraseña" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "Útil si usted agrega un 'hook' utilizando una contraseña cuando las contraseñas de usuario SASL se editan." #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Configuración del Panel" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "FusionDirectory panel de configuración de plugins." #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Panel nombre del esquema" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Cantidad de dígitos" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Cantidad de dígitos a usar después del prefijo." #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Prefijos" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Prefijos que se usarán para las 'id' de computadoras." #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Panel de usuarios expirados" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Cantidad de días" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "Número de días antes previos antes de expirar una cuenta para mostrarlo en el panel de las próximas cuentas por expirar." #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Divisiones" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "división" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propiedades" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Nombre de %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Un nombre para este %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Una descripción de este %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "categoría" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Categoría de este %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Mánager de este %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "País" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Dirección postal de este %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Número telefónico" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Teléfono alternativo" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "organización" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Dominio" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "dominio" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Administrar categorías" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Usuarios y Grupos" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Componente de Dominio" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "componente de dominio" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localidad" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "localidad" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista de categorías" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "país" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Administrar usuarios" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Bloqueo de cuentas" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "El método de contraseña \"%s\" no soporta bloqueos. ¡La cuenta \"%s\" no se ha bloqueado!" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Desbloquear cuenta" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Bloquear cuenta" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista de usuarios" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Apellido" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Nombre" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Bloquear usuarios" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Desbloquear usuarios" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Aplicar plantilla" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Nuevo usuario a partir de plantilla" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Editar usuario" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Borrar usuario" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Rol" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Información del Rol" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Rol Profesional" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Información" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Nombre de este grupo" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Descripción del Rol" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Teléfono" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Agregar usuarios al rol" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Administrar grupos y roles" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Editar propiedades de Rol" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Editar propiedades posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Mostrar grupos del usuario" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Mostrar grupos primarios" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Mostrar roles de Profesionales" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Mostrar grupos de aplicación" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Mostrar grupos de correo" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Mostrar grupos Samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Mostrar grupos de servidores" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Mostrar grupos de estaciones de trabajo" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Mostrar grupos de Windows" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Mostrar grupos de Terminales" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Mostrar grupos de impresión" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Mostrar grupos de teléfono" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Tipo desconocido: %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "¡dn: %s Inexsitente!" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Objeto grupo" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Datos del 'objeto grupo'" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupo" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Una descripción corta de este grupo." #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Objetos miembro" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Objetos miembro de este grupo" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Habilitar solamente a éste grupo para conectarse a ésta lista de equipos." #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "Alojar estaciones de trabajo y terminales en el mismo grupo no está permitido." #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista de Grupos" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Información de Grupo POSIX" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "Grupo POSIX" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "Grupo de Usuarios POSIX" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forzar GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Forzar GID para este grupo" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "Valor GID para este grupo" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Miembros del Grupo" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Gestionar ACLs" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Gestión de ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Panel de gestión de roles ACL" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modo" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "¿Se aplicará en todo el subárbol o solo en la base?" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Subárbol" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Base únicamente" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Rol a aplicar" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Para todos los usuarios" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Aplicar este ACL a todos los usuarios de LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Miembros" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Usuarios o grupos a los cuales asignar este rol" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Gestionar ACLs" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Gestionar permisos ACL" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Permisos" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Gestión de ACL para esta base" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Permisos en el objeto o subárbol %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "No hay configuraciones ACL para esta categoría" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL para ésos objetos: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Editar categioría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Restablecer categoría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista de categorías ACL disponibles" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Todos los objetos en el subárbol actual." #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "leer" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "escribir" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Mostrar/Ocultar configuraciones avanzadas" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Crear objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Mover objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Borrar objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Otorgar permisos al dueño" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Completar objeto" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Administración de Roles \"ACL\"" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Contiene configuraciones para ésos objetos: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Roles de control de acceso." #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Rol ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Un nombre para este rol" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Una descripción corta para este rol" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "ACLs" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACLs que son parte de este grupo" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory no se ejecutará sin arreglar esto." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory intentará ejecutarse sin arreglar esto." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Crear una nueva cuenta de administrador para FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "En este paso agregará automáticamente un nuevo super administrador a su árbol LDAP." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID de usuario" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Contraseña (de nuevo)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Parece que es la primera vez que usted inicia FusionDirectory - aún no se ha encontrado una configuración. Éste fácil asistente intentará ayudarle mientras realiza la configuración inicial." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "¿Qué hará el asistente por usted?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Crear una configuración básica del sitio." #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Se buscarán problemas dentro de su configuración de LDAP y PHP." #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Le permite elegir entre diversas opciones básicas o avanzadas." #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Migración asistida de los árbol LDAP existentes" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "¿Qué NO hará el asistente por usted?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Buscar cualquier posible error en la configuración." #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migrar todas las configuraciones posibles de LDAP - ¡ Por favor cree una copia de seguridad!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Para continuar:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "Por motivos de seguridad usted necesita autenticarse para esta instalación creando el archivo '%1' con el ID de la sesión actual en el servidor local. Esto se puede hacer ejecutando el siguiente comando:" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Cuando haya terminado haga clic en 'Siguiente'." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Agregar 'object classes' requeridos en la base de LDAP" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Actual" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Luego de la migración" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Cerrar" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "Este cuadro de mensaje le permite mover un par de entradas al árbol LDAP configurado. Hacer esto podría arreglar su servicio LDAP." #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "¡Cuidado con ésta opción! Pueden haber referencias que apuntan a ésas entradas. La 'configuración' de FusionDirectory no puede migrar ésas referencias, así que usted podría querer cancelar la migración en éste caso." #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Mover las entradas seleccionadas a éste árbol." #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "Las entradas que se listan actualmente no son visibles en la interfaz de FusionDirectory. Si desea cambiar ésto para un par de entradas únicamente, solo debe seleccionarlas y usar el botón \"Migrar\"." #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Si usted desea saber qué se hará cuando se migren las entradas seleccionadas, utilice el botón de \"Mostrar Cambios\" para ver el LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Mostrar cambios" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Mientras revisamos LDAP vamos a buscar algunos inconvenientes comunes que pueden ocurrir cuando se migra a una administración de FusionDirectory con LDAP. Para mejorar su experiencia con los servicios, usted podría solucionar los siguientes problemas." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Verificar de nuevo" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Crear su archivo de configuración" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "Ejecute %1 para corregir los permisos en fusiondirectory.conf" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Descargar configuración" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Estado:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtro" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Recuperar contraseña" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Esta opción le ofrece una forma simple de cambiar su contraseña. Ingrese la nueva contraseña (dos veces) en los campos justo debajo y luego presione el botón 'Cambiar'. " #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Directorio" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Repetir nueva contraseña" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Seguridad de la contraseña" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Cambio" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Clic aquí para cambiar su contraseña" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Realizado con éxito" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Su contraseña ha sido cambiada con éxito." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Ingrese su dirección de correo actual en el siguiente campo y presione el botón 'Cambiar'." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "La recuperación de contraseña no está disponible. Si usted perdió su contraseña por favor contacte a su administrador." #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Pantalla de Acceso" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Por favor ingrese su usuario y contraseña para acceder al sistema de administración." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nombre de usuario" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Olvidé la contraseña" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Acceder" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Clic aquí para ingresar" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Por favor elija la forma de interactuar con esta sesión" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignore este error y muestre todas las entradas que regresa el servidor LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignore este error y muestre todas las entradas que cumplen con el tamaño límite definido y en cambio permitame utilizar filtros " #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Asignar" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "¡Advertencia!: Usted está a punto de borrar los siguientes objetos" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Por favor revise dos veces y asegúrese que desea hacer esto ya que no hay forma de que FusionDirectory recupere sus datos." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Si está seguro presione 'Eliminar' para continuar o 'Cancelar' para abortar." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Inicio" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Salir" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Accedió como:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "¡La sesión va a expirar en %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuar" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Conflicto de bloqueo detectado" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Solo lectura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Asistente de copiado y pegado" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Algunos valores necesitan ser únicos en todo el directorio, algunas combinaciones no serán posibles. FusionDirectory muestra los atributos pertinentes. Por favor mantenga bajos los valores para cumplir con las políticas." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "¡Recuerde que algunas de las propiedades como los 'snapshots' realizados no serán copiadas!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "O si usted copia o corta na entrada dentro de FusionDirectory y borra el objeto original, usted podría tener errores en el futuro cuando pegue este objeto nuevamente." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operación completa" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "Crear un nuevo objeto utilizando plantillas" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL asignad a la entrada actual" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nuevo ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Elija un tipo de acl" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Opciones adicionales de filtrado" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Usar los miembros de" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Miembros disponibles" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Listar los posibles destinatarios" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Listar destinatarios del mensaje" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL para este objeto" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Roles disponibles" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "El equipo de FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "%1referencia nuestro%3" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "%1 referencia nuestro campo %3 en el tab %2" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Este objeto no tiene relación con otros objetos" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Configuraciones de usuario" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Borrar contraseña" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Establecer nueva contraseña" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Fotografía personal" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Avatar" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Borrar Avatar" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "No tienes permisos para cambiar tu contraseña en este momento" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "¡Su metodo de contraseña hash no será cambiado!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Usted ha cambiado exitosamente su contraseña. Recuerde cambiar todos los programas configurados para usarla también." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "Existe 1 grupo:" msgstr[1] "Existen %1 grupos:" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "Uno de ellos es un %1 grupo" msgstr[1] "%2 son %1 grupos" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "No existe el grupo %1" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "Existe 1 usuario:" msgstr[1] "Existen %1 usuarios:" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "Uno de ellos tiene una %1 cuenta" msgstr[1] "%2 de ellos tienen una %1 cuenta" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Ninguno de ellos tiene una %1 cuenta" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "Uno de ellos está bloqueado" msgstr[1] "%1 de ellos está bloqueado" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Ninguno de ellos está bloqueado" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "Existe una cuenta expirada" msgstr[1] "Existen %1 cuentas expiradas" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "No hay una cuenta expirada" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Manager concerned" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telephoneNumber" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "shadowExpire" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "administrador" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "correo" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "Existe una cuenta por expirar en %1 días." msgstr[1] "Existen %2 cuentas por exipirar en los siguientes %1 días" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "No hay cuentas por expirar por los próximos %1 días" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Cuentas por expirar" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Mostrar plantillas" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Mostrar usuarios funcionales" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Mostrar usuarios POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Mostrar usuarios de correo" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Mostrar usuarios de Samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "Aquí se incluyen todos los permisos ACL de este nodo(s). Si desea la lista de esas asignaciones, por favor presione cancelar y abra los objetos." #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "Presione 'Borrar' para continuar o 'Cancelar' para abortar." fusiondirectory-1.0.19/locale/es_VE/000077500000000000000000000000001304016502700172705ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/es_VE/fusiondirectory.po000066400000000000000000004512151304016502700230700ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Spanish (Venezuela) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/es_VE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_VE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Idioma preferido" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Selección de idiomas" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Este paso le permite seleccionar su idioma preferido" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatico" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Comprobaciones de módulos y extensiones PHP" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Comprobación de la instalación" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Comprobación básica de la versión de PHP y las extensiones." #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Comprobando la versión de PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP debe ser versión '%s' o superior." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Por favor actualize a la versión soportada." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory requiere este modulo para poder hablar con su servidor LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory requiere este modulo para una interfaz internacionalizada." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory requiere este modulo para comunicarse con distintos tipos de servidores y protocolos." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory requiere este modulo para la integración con Samba" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory requiere ya sea el modulo 'mhash' o 'sha1' para usar encripción SSHA" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory requiere este modulo para poder hablar con un servidor IMAP." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory requiere este modulo para manejar cadenas unicode." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory requiere esta extensión para manejar imágenes." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "modulo de compresión" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory requiere esta extensión para manejar capturas." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "registr_globals es un mecanismo de PHP para registrar todas las variables globales de tal manera que sean accesible desde scripts sin que cambien su ámbito. Esto puede ser un problema de seguridad." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Busque 'register_globals' en su php.ini y modifíquelo por 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP usa este valor en el recolector de basura para eliminar las sesiones antiguas." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Ajustando este valor a un día impedirá la perdida de sesiones y cookies antes de que realmente se desconecte por tiempo." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Busque 'sessio.gc_maxlifetime' en su php.ini y modifíquelo a 86400 o mayor." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Off" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Para poder usar FusionDirectory sin problemas, la opción session.auto_start debe estar configurada en 'Off' en su php.ini." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Busque 'session.auto_start' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Esta opción está relacionada con el manejo de salida de PHP. Desactive esta opción poniéndola en off para mejorar el rendimiento." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Busque 'implicit_flush' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "El tiempo de ejecución debe ser de al menos 30 segundos." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Busque 'max_execution_time' en su php.ini y modifíquelo a '30' o mayor." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Aumente la seguridad del servidor modificando el parámetro 'expose_php' a 'off'. PHP no debería enviar ningún tipo de información sobre el servidor que esta ejecutando la aplicación." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Busque 'expose_php' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Aumente el rendimiento de su servidor modificando 'magic_quotes_gpc' a 'off'" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Busque 'zend.ze1_compatibility_mode' en su php.ini y modifíquelo a 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Bienvenido" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Bienvenido al asistente de configuración de FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Mensaje de Bienvenida" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrar" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Inspección LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analizar el arbol LDAP actual por compatibilidad con FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Analizando objetos en la entrada raíz" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Comprobando permisos en la base de datos LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Comprobando usuarios invisibles" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Comprobando súper administrador" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Comprobando cuentas fuera del árbol de usuarios" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Comprobando grupos fuera del árbol de grupos" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Comprobando departamentos invisibles" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Comprobando números UID duplicados" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "La consulta LDAP ha fallado" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Error" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Objeto '%s' de FusionDirectory faltante!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Por favor compruebe su instalación" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "No se puede un tipo de objeto estructural en su entrada raíz. Por favor intente añadir la clase de objeto '%s' manualmente." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Error LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Aviso" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Se encontraron %s usuarios que no serán visibles en FusionDirectory o están incompletos." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Error de migración" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Crear" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Usuarios" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupos" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "No hay una cuenta de administrador FusionDirectory dentro de su LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Error" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Mover usuarios al árbol de usuarios configurado" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "a" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Las siguientes referencias se actualizaran" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Encontrados '%s' grupos fuera del árbol configurado '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Se encontraron %s departamentos que no serán visibles en FusionDirectory" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nombre de la localización" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI de conexión" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Conexión TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autenticación" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN del administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Contraseña de administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Estado" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Estado actual" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configuración LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Conectividad LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Este dialogo realiza la configuración básica de la conectividad LDAP para FusionDirectory" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "¡La conexión anónima al servidor '%s' ha fallado!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "¡La conexión como usuario '%s' ha fallado!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Reintento" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "La conexión anónima al servidor '%s' ha tenido exito." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Refresco" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "¡Por Favor especifique un usuario y contraseña!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "¡La conexión como usuario '%s' al servidor '%s' ha tenido exito!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Terminar" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Terminar - Escribir el archivo de configuración" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Escribir archivo de configuración" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "El fichero de configuración es universalmente legible. ¡Por favor modifique los permisos del archivo!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "En estos momentos la configuración no es accesible o no existe." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Después de descargar y colocar el archivo en %s, por favor asegúrese de que el usuario bajo el cual está corriendo el servidor web es capaz de leer %s, mientras que otros usuarios no deben poder." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Error de configuración" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Completado" #: setup/class_setup.inc:248 msgid "Next" msgstr "Siguiente" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "error interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Entrada fallida: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "¡Se ha indicado un objectType vacio o no válido!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "Sin configurar" #: include/class_management.inc:165 msgid "Filter error" msgstr "Error del filtro" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "¡El filtro está incompleto!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Permisos" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Error de permisos" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "No tiene permisos para crear una instantanea para %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "No tiene permisos para recuperar una instantanea para %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "No hay declaración de pestaña para '%s' en su archivo de configuración. ¡No se puede crear la instancia del plugin!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Raíz" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Enviar" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Arriba" #: include/class_listing.inc:313 msgid "Down" msgstr "Abajo" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Seleccione todos" #: include/class_listing.inc:592 msgid "created by" msgstr "Creado por" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Ir al departamento raíz" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Subir un departamento" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Inicio" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Recargar lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Acciones" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copiar" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Mover" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Pegar" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Mover esta entrada" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copiar esta entrada" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Recuperar instantánea" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exportar lista" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Recuperar instantanea" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Crear instantánea" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "¡Crear una nueva instantánea de este objeto!" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Error fatal" #: include/class_xml.inc:66 msgid "in" msgstr "en" #: include/class_xml.inc:68 msgid "on line" msgstr "En linea" #: include/class_xml.inc:69 msgid "XML error" msgstr "Error XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "No se puede cambiar la clave, usuario '%s' desconocido" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Error en la configuración" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Página" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "No se puede exportar a PDF: no se ha instalado la librería FPDF." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "¡El canal requerido no existe!. Por favor contacte con su Administrador." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Cancelar todo" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "No puedo pegar" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Inicio" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Plantilla" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nombre de la plantilla" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Error fatal: no se han definido un emplazamiento para las clases - por favor ejecute '%s' para solucionar esto" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Error fatal: no se puede instanciar la clase '%s' - intente solucionarlo ejecutando '%s'" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Ha habido un error conectando a LDAP. El servidor comunicó '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Error de Autenticación" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Ha ocurrido un problema al añadir un bloqueo. ¡Contacte con los desarrolladores!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "No puedo crear información de bloqueos en el árbol LDAP. ¡Por favor contacte con su Administrador!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "El servidor LDAP devolvio: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Se han encontrado varios bloqueos para un objeto que iba a ser bloqueado. Esto no debería ocurrir - limpiando referencias multiples." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "¡El límite máximo de %d entradas se ha sobrepasado!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Introduzca un nuevo límite máximo a %s y se volvera a mostrar este mensaje si se supera el límite máximo" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurar" #: include/functions.inc:1133 msgid "incomplete" msgstr "incompleto" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Continuar de cualquier manera" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Editar de cualquier manera" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Has decidido editar las siguientes entradas LDAP %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Entradas por página" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Aplicar filtro" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "¡No se puede escribir en el archivo de revisión!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "No se puede leer el archivo de revisión!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Aviso LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "No puedo obtener información de esquemas del servidor. ¡No es posible comprobar los esquemas!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Clase(s) disponibles" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "No se puede asignar un identificador (ID) libre:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "¡método de asignación de id desconocido!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "¡%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "¡sambaUnixIdPool no es único!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "¡No hay ID disponibles!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "¡Excedido el número de intentos máximo!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "¡No se puede asignar un identificador (ID) libre!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "No se puede encontrar el archivo '%s' - por favor ejecute '%s' para solucionarlo" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Todos los objetos en esta categoría" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Por favor solucione el problema y actualize la página." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Error XML en fusiondirectory.conf: %s en la línea %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "No se puede conectar a LDAP: Por favor consulte con el administrador de sistemas." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "La funcionalidad de instancias esta activa, pero el valor requerido '%s' no está activo." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "La funcionalidad de instancias esta activa, pero no se encuentra el módulo de compresión requerido. Por favor instale '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Todas las categorías" #: include/class_config.inc:1095 msgid "My account" msgstr "Mi cuenta" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Seleccione para mostrar objetos de tipo '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Seleccione para mostrar objetos conteniendo '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Seleccione para mostrar objetos que tengan '%s' activado" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Seleccione para buscar dentro de los subárboles" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Buscar en subárboles" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "¡El objeto será eliminado!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "¡El objeto '%s' será eliminado!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Este objeto será eliminado: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "El objeto '%s' será eliminado: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Este objeto será eliminado" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "El objeto '%s' será eliminado:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Estos objetos serán eliminados: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Los objetos '%s' serán eliminados: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "¡No tiene permisos para eliminar este objeto!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "No tiene permisos para eliminar este objeto:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "No tiene permisos para eliminar estos objetos:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "¡No tiene permisos para crear este objeto!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "No tiene permisos para crear este objeto:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "No tiene permisos para crear estos objetos:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "¡No tiene permisos para modificar este objeto!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "¡No tiene permisos para ver este objeto!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "No tiene permisos para ver el objeto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "No tiene permisos para ver estos objetos:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "¡No tiene permisos para mover este objeto!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "No tiene permisos para mover el objeto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "No tiene permisos para mover estos objetos:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Información de conexión" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "¡No se puede conectar a la base de datos %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "¡No se puede seleccionar la base de datos %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "¡No se ha definido el servidor %s!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "¡No se ha podido ejecutar la consulta %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "¡El campo '%s' tiene una palabra reservada!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "¡El comando especificado como método %s para la extensión '%s' no existe!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "¡El comando '%s' no es válido!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "¡'%s' comando para la extensión %s no es válido!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "¡'%s' comando (%s) no es válido!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "¡'%s' comando (%s) para la extensión %s no es válido!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "¡No se puede ejecutar el comando '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "¡No se puede ejecutar el comando '%s' para la extensión %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "¡No se puede ejecutar el comando '%s' (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "¡No se puede ejecutar el comando '%s' (%s) para la extensión %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "¡El valor especificado como '%s' es demasiado grande!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "¡'%s' debe ser menor que %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "¡El valor especificado como '%s' es demasiado pequeño!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "¡'%s' debe ser %d o superior!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "¡'%s' depende de '%s' - Por favor introduzca ambos valores!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "¡Ya existe una entrada con el atributo '%s' en el sistema!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "¡El campo obligatorio '%s' está vacio!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' no está permitido:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "¡'%s' no están permitidos!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "¡Extensión PHP %s no encontrada!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Cancelar" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplicar" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Guardar" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Añadir" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Añadir %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Eliminar" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Eliminar %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Editar..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Editar %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Atrás" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "¡Esta cuenta tiene extensiones %s no validas!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Esta cuenta tiene características %s activadas. Puede desactivarla pulsando aquí" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Esta cuenta tiene las características %s activadas. ¡Para desactivarlas, necesita eliminar las caracteristicas %s primero!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Esta cuenta tiene características %s desactivadas. Puede activarla pulsando aquí" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Esta cuenta tiene las características %s desactivadas. ¡Para activarlas, necesita añadir las caracteristicas %s primero!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Añadir caracteristicas %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Eliminar las caracteristicas %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Enero" #: include/class_msgPool.inc:662 msgid "February" msgstr "Febrero" #: include/class_msgPool.inc:662 msgid "March" msgstr "Marzo" #: include/class_msgPool.inc:662 msgid "April" msgstr "Abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mayo" #: include/class_msgPool.inc:663 msgid "June" msgstr "Junio" #: include/class_msgPool.inc:663 msgid "July" msgstr "Julio" #: include/class_msgPool.inc:663 msgid "August" msgstr "Agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "Septiembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "Octubre" #: include/class_msgPool.inc:664 msgid "November" msgstr "Noviembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "Diciembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Domingo" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Lunes" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Martes" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Miércoles" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Jueves" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Viernes" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sábado" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Operación de base de datos fallida!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "lectura" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "adición" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "modificación" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "eliminación" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "busqueda" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "autenticación" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "¡LDAP %s ha fallado!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "¡La consulta LDAP ha fallado!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objeto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "¡Ha fallado el subir archivo!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Ha fallado el subir archivo: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "¡Ha fallado la comunciación con el servicio de infraestructura!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Ha fallado la comunciación con el servicio de infraestructura: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "'%s' esta todavía en uso por el objeto: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "'%s' esta todavía en uso." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "'%s' esta todavía en uso por los objetos: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "¡El archivo %s no existe!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "¡No se puede abrir el archivo '%s'!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "¡No se puede grabar el archivo '%s'!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "El valor para '%s' no esta configurado o no es válido.¡Por favor compruebe el archivo de configuración!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "¡No se puede eliminar el fichero '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "¡No se puede crear la carpeta '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "¡No se puede eliminar la carpeta '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Comprobando soporte %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Instala y activa el módulo de PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Instale y active el module Pear %s. " #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "No se puede inicializar la clase '%s'! Posiblemente hay un complemento faltante en su instalación de FusionDirectory?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "¡La base introducida no es válida, se ha dejado el valor anterior!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Marca de tiempo" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Recuperar" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Archivo" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Linea" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Error PHP" #: include/php_setup.inc:62 msgid "class" msgstr "clase" #: include/php_setup.inc:70 msgid "function" msgstr "función" #: include/php_setup.inc:76 msgid "static" msgstr "estático" #: include/php_setup.inc:80 msgid "method" msgstr "método" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Traza" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumentos" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "¡La generación de esta página ha provocado errores en el interprete PHP!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Enviar informe de errores al equipo de FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Enviar informe de errores" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Modificar información" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Aviso e rendimiento" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "El rendimiento LDAP es bajo: ¡la última consulta tardó sobre %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "mientras operaba en '%s' usando el servidor LDAP '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "mientras operaba en el servidor LDAP '%s'" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Por favor seleccione las entradas que desee" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nombre" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descripción" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupo de usuarios" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Ninguno" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Desconocido" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Editar" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Eliminar" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "No hay definiciones de extensión para iniciar '%s', por favor compruebe su archivo de configuración." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "El proceso de eliminación ha sido cancelado por la extensión '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "segundos" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minutos" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "horas" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "días" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "No puedo leer el archivo: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "el archivo está vacío" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "archivo no encontrado" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "archivo no accesible" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Enviar" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Descargar" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gestión de las Listas de control de acceso" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Roles ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "¡Entrada desconocida '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Todos los usuarios" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "¡No se puede acceder a el directorio de compilación '%s'!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "Error Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Su sesión de FusionDirectory ha expirado!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "¡Por favor introduzca un nombre de usuario válido!" #: html/index.php:285 msgid "Please specify your password!" msgstr "¡Por favor introduzca una contraseña!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Por favor compruebe la combinación nombre de usuario/contraseña" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Cuenta bloqueada. ¡Por favor contacte con su administrador de sistemas!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Su navegador tiene las cookies desactivadas. ¡Porfavor active las cookies y recargue esta página antes de iniciar sesión!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "La configuración de FusionDirectory %s/%s no se puede leer. Cancelado." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Dirección de correo" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contacte a su administrador, hubo un problema con el servidor de correo" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Esta prenda es invalida" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Configuración PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Error Fatal: 'Register globals' está activado. No se permitirá ningun acceso hasta que esto sea solucionado por un administrador." #: html/main.php:142 msgid "Password change" msgstr "Cambio de contraseña" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Su contraseña va a caducar próximamente, ¡Por favor cambie su contraseña!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "¡Funcionando sin memoria!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Desactivados chequeos de ACL de usuario" #: html/main.php:289 msgid "Plugin" msgstr "Extensión" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "Error de configuración" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Error fatal: no todas las variables POST fueron transferidas por PHP - por favor informe a su administrador!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "¡Bienvenido %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referencias" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Editar parametros de usuarios POSIX" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Directorio de usuario" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Grupo primario" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Pertenencia a grupo" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Cuenta" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "El usuario debe introducir la contraseña en el primer inicio de sesión" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Sistema de seguridad" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modo seguro" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "desactivado" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Acceso sin restricciones" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Permitir el acceso a estos equipos" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automático" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "expiró" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Periodo de gracia activado" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "activo" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "la contraseña expiró" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "no puede cambiar la contraseña" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Tiempo de espera agotado esperando un bloqueo. ¡Ignorando bloqueo!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Metodo de contraseña" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Contraseña" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Usuario" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Información personal" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Apellido" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Nombre" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Localización" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Provincia" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Dirección" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Número sala" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Número de habitación" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Teléfono" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Móvil" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Buscapersonas" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Página Web" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Nombre a Mostrar" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Dirección Postal personal" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Teléfono privado" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Número de teléfono personal" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Información corporativa" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Título" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organización" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departamento" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Número departamento" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Número del departamento" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Número empleado" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Número de empleado" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Categoría profesional" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Gestor" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Necesita introducir su contraseña actual para continuar." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nueva contraseña" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "La contraseña actual y la introducida como nueva son demasiado parecidas." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "La nueva contraseña es demasiado corta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "La clave contiene caracteres unicode posiblemente problemáticos!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Recuperación de clave" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Opciones de recuperación de clave" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Asunto" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Enlace de recuperación de clave" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Recuperación de clave realizada con exito" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Saludos,\n\nSu clave ha sido cambiada.\nSu nombre de usuario aun es %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuración" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Temas y apariencia" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Idioma" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Tema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Zona de uso horario" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Parámetros de Contraseña" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Longitud mínima de la contraseña" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Usar caducidad de cuenta" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Mostrar resumen en listados" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Inicio y sesión" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Atributo de inicio de sesión" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forzar conexiones seguras" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Avisar si la sesión no esta codificada" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Duración de sesiones." #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Activar instantaneas" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base de instantaneas" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Nombre de equipo" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Puerto" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Almacén de grupos y usuarios" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Atributo 'dn' de los usuarios" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Depurando" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Tiempo de consulta máxima de LDAP" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Registrar estadísticas LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Nivel de depuración" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Varios" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Modo" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Métodos" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupos de objetos" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departamentos" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "departamento" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propiedades" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categoría" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "País" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Número de teléfono" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Dominio" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Usuarios y grupos" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Componentes del dominio" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localidad" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista de Departamentos" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Gestión de usuarios" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Bloqueo de cuenta" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Desbloquear cuenta" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Bloquear cuenta" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista de usuarios" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Apellido" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Nombre de pila" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Bloquear usuarios" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Desbloquear usuarios" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Aplicar plantilla" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Nuevo usuario desde plantilla" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Editar usuario" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Eliminar usuario" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Rol" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Información" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Número de teléfono" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Número de Fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Editar características posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Mostrar grupos primarios" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Mostrar grupos de correo" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Mostrar grupos de samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Grupo de objetos" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupo" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Objetos miembros" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista de grupos" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forzar GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Miembros del grupo" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Asignación de ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modo" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Miembros" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "No hay ACL configuradas en esta categoría" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACLs que tienen estos objetos: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Editar la categoría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Eliminar la categoría ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista de categorías ACL disponibles" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Todos los objetos en el subárbol actual" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "leer" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "escribir" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Mostrar/ocultar caracteristicas avanzadas" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Crear objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Mover objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Eliminar Objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Garantizar permiso al propietario" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Objeto completo" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Tiene configuraciones de los siguientes objetos: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Roles de control de acceso" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory NO correrá si no se arregla esto." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory correrá aun si no se arregla esto." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Crear una nueva cuenta administrador de FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Este dialogo añadirá automáticamente un nuevo superadministrador a su árbol LDAP." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Identificador (ID) de usuario" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Contraseña (de nuevo)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Esta parece ser la primera vez que inicia FusionDirectory - no conseguimos ninguna configuración hasta el momento. Este simple asistente trata de ayudarlo a configurar." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "¿Que hará este asistente para usted?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Creara una configuración básica para un único sitio" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Intentando encontrar problemas en la configuración de LDAP y de PHP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Le permite seleccionar un juego de opciones básicas o avanzadas" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Migración guiada de arboles LDAP existentes" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "¿Que no hará este asistente por usted?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Encontrar cada posible error de configuración" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migración asistidas de cualquier configuración LDAP - ¡creando copias de seguridad!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Añadir las clases de objetos necesarias a la base LDAP" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Actual" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Despues de migrar" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Cerrar" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Si quiere saber que se hará cuando se migren las entradas seleccionadas use el botón 'Mostrar cambios' para ver el LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Mostrar cambios" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Durante la inspección del LDAP vamos a verificar varios problemas comunes que pueden ocurrir durante la migración a administración por FusionDirectory de la base LDAP. Puede querer reparar los problemas debajo, para proveer un servicio mas eficiente." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Comprobar de nuevo" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Crear su fichero de configuración" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Descargar configuración" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Estado: " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtro" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Clave extraviada" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Este dialogo provee un método sencillo para cambiar su clave. Introduzca la clave nueva (dos veces) en los campos debajo y presione el botón 'Cambiar'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Directorio" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Repita la nueva contraseña" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Resistencia de la contraseña" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Cambiar" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Pulse aquí para cambiar su contraseña" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Correcto" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Su contraseña se ha cambiado correctamente." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Introduzca su dirección de correo actual en el campo debajo y presione el botón 'Cambiar'" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Correo Electrónico" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "La recuperación de claves no está activada. Si ha perdido su clave por favor contacte a su administrador." #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Pantalla de inicio" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Por favor use su nombre de usuario y contraseña para iniciar sesión en el sistema de administración." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nombre de Usuario" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Olvidé mi clave" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Entrando" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Pulse aquí para iniciar sesión" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "La opción 'tamaño limite' permite unas operaciones con LDAP mas rápidas y protege al servidor LDAP de tener una mayor carga. La manera mas fácil de manipular grandes bases de datos sin grandes perdidas de tiempo es limitar la búsqueda a valores pequeños y usar filtros para encontrar las entradas que este buscando." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Por favor elija la forma de reaccionar en esta sesión" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignore este error y muestre todas las entradas devueltas por el servidor LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignore este error y muestre todas las entradas que coincidan con el tamaño limite definido y active el uso de filtros en su lugar" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Activar" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Por favor verifique si realmente quiere hacer esto ya que FusionDirectory no tiene forma de recuperar la data." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Entonces, si esta seguro, presione Eliminar para continuar o Cancelar para Abortar." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Inicio" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Salir" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Entrando" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "La sesión expira en %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuar" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Detectado conflicto de Bloqueos" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Solo lectura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Asistente para copiar y pegar" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Algunos valores deben ser únicos en el directorio completo mientras que algunas combinaciones no tienen sentido. FusionDirectory muestra los atributos relevantes. Por favor mantenga los valores de abajo para cumplir con las políticas." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "¡Recuerde que propiedades como gestionar instantáneas no serán copiadas!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "O, si copia o corta una entrada en FusionDirectory y borra el objeto fuente, puede resultar en errores al pegar el objeto nuevamente!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operación incompleta" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Asignando ACL a la entrada actual" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nueva ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Seleccione un tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Añadir opciones de filtrado" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Usar miembros de" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Miembros disponibles" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Mostrar mensaje de posibles destinos" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Lista de recipientes de mensajes" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL que tienen este objeto" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Roles disponibles" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "El equipo de FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Este objeto no tiene relación con otros objetos" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Caracteristicas del usuario" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Borrar Contraseña" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Introducir nueva contraseña" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Foto" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Foto del usuario" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Eliminar foto" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "No tiene permisos para cambiar su contraseña en estos momentos" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "No se cambiará su método de hash de la contraseña!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Su cambio de contraseña se ha realizado correctamente. Recuerde cambiarla en todos los programas configurados también." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telephoneNumber (Numero de Telefono)" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Mostrar plantillas" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Mostrar usuarios funcionales" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Mostrar usuarios POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Mostrar los usuarios de correo" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Mostrar los usuarios samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/fa_IR/000077500000000000000000000000001304016502700172475ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/fa_IR/fusiondirectory.po000066400000000000000000004012161304016502700230430ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Persian (Iran) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/fa_IR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa_IR\n" "Plural-Forms: nplurals=1; plural=0;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "خطا" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "خطای LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "خطا" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "خطای داخلی" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "جواز" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "خطا" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "فایل '%s' را نمی توانم پیدا کنم برای رفع مشکل دستور '%s' را بزنید." #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "پیکربندی PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "تغییر کلمه عبور" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "اعتبار کلمه عبور شما در حال اتمام است، لطفا کلمه عبور خود را تغییر دهید!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "پلاگین" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "اطلاعات شخصی" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "فامیل" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "نام" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "آدرس" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "شماره اتاق." #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "شماره اتاق" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "تلفن" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "تلفن همراه" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "پیجر" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "آدرس پستی منزل" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "شماره تماس خصوصی" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "شماره تلفن منزل" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "اطلاعات سازمان" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "دپارتمان" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "شماره دپارتمان." #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "شماره دپارتمان" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "شماره کارمندی." #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "شماره کارمندی" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "کلمه عبور جدید" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "کشور" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "شماره فکس" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "پست الکترونیک" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "تنظیمات کاربر" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "حذف کلمه عبور" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "ثبت کلمه عبور جدید" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "عکس کاربر" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/fi_FI/000077500000000000000000000000001304016502700172435ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/fi_FI/fusiondirectory.po000066400000000000000000004001651304016502700230410ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP virhe" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Varoitus" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Luo" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Virhe" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Virhe" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Lupa" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Toiminnot" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Peruta" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Talenna" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "Tyyppi" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nimi" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Kuvaus" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Poista" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Lataa" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Sähköpostiosoite" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Salasana" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Sukunimi" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Etunimi" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Valtio" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Osoite" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Puhelin" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobiili" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Faksi" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Portti" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Ominaisuudet" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Maa" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Puhelinnumero" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Etunimi" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Käyttäjätunnus" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Hakemisto" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Sähköposti" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/fr/000077500000000000000000000000001304016502700166765ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/fr/fusiondirectory.po000066400000000000000000005374001304016502700224770ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Benoit Mortier , 2016-2017 # MCMic, 2016 # fusiondirectory , 2014 # MCMic, 2015-2016 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-11 18:07+0000\n" "Last-Translator: Benoit Mortier \n" "Language-Team: French (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Langue préférée" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Configuration de la langue" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Cette étape vous permet de sélectionner votre langue préférée." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "Maintenant vous pouvez choisir la langue par défaut. «Automatique» utilisera la langue demandée par le navigateur. Ce paramètre peut être configuré par utilisateur." #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatique" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Vérification des modules et extensions PHP" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "Configuration de PHP (montrer les informations))" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Vérification de l'installation" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Vérification basique de la version de PHP et des extensions nécessaires." #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Vérification de la version de PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP doit être à la version %s ou supérieure." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Veuillez faire la mise à jour vers une version supportée." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory a besoin de ce module pour dialoguer avec votre annuaire LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory a besoin de ce module pour afficher l'interface multilingue." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory a besoin de ce module pour dialoguer avec les différents types de serveurs et de protocoles." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "FusionDirectory a besoin de ce module pour encoder les variables pour l'utilisation dans du javascript." #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "FusionDirectory a besoin de ce module pour filtrer les variables avec un filtre spécifique" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory a besoin de ce module pour dialoguer avec Samba." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory a besoin du module 'mhash' ou 'sha1' pour l'utilisation du chiffrage SSHA." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory a besoin de ce module pour dialoguer avec un serveur IMAP." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory a besoin de ce module pour gérer les chaînes de caractère unicode." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory a besoin de ce module pour gérer les images." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "Module de compression" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory a besoin de ce module pour gérer les instantanés." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals est un mécanisme PHP pour enregistrer toutes les variables globales afin que les scripts puissent y accéder sans changer la porté des variables. Cela peut constituer un risque de sécurité." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Recherchez l'option 'register_globals' dans votre php.ini et mettez la à 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP utilise cette variable pour effacer les vieilles sessions." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Mettre cette valeur à 1 jour permet d'éviter de perde les cookies et les sessions avant qu'elles ne soient réellement expirées." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Cherchez 'session.gc_maxlifetime' dans votre php.ini et mettez le à 86400 ou plus." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Off" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Pour pouvoir utiliser FusionDirectory sans problème, la variable session.auto_start doit être à 'Off' dans votre php.ini." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Recherchez la variable 'session.auto_start' dans votre php.ini et mettez la à 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory a besoin au minimum de 128MB de mémoire. Allouer moins causera des erreurs imprévisibles, qui ne seront pas reproductibles ! Augmentez la mémoire pour les installations plus complexes." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Recherchez 'memory_limit' dans votre fichier php.ini votre et mettez le à '128M' ou plus." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Cette option définit la gestion des sorties, mettez cette option à 'Off' pour améliorer la performance." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Recherchez 'implicit_flush' dans votre php.ini et mettez le à 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Le temps d'exécution doit être au moins de 30 secondes." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Rechercher l'option 'max_execution_time' dans votre php.ini et mettez la à '30' ou plus." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Augmentez la sécurité de votre serveur en mettant l'option expose_php à 'Off'. PHP n'enverra pas d'information à propos du serveur." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Recherchez 'expose_php' dans votre php.ini et mettez le à 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Améliorez la performance de votre serveur en mettant magic_quotes_gpc à 'off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Recherchez l'option 'zend.ze1_compatibility_mode' dans votre php.ini et mettez la à 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Bienvenue" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Bienvenue dans l'assistant de configuration FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Le message d'accueil" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrer" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Inspection LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analyse votre annuaire LDAP pour la compatibilité avec FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "Donner tous les droits sur les utilisateurs de cette branche" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "Permet aux utilisateurs d'éditer leur propres informations (onglet principal et posix, à n'utiliser que sur la base)" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "Permet aux utilisateurs de changer leur mot de passe (à n’utiliser que sur la base)" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Inspection des classes d'objets de l'objet racine" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Vérification des permissions sur l'annuaire LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Recherche d’utilisateurs invisibles" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Vérification du super administrateur" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "Vérification des rôles ACL et groupes par défaut" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Recherche d'utilisateurs en dehors de la branche utilisateurs" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Recherche de groupes en dehors de la branche groupes" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Recherche de départements invisibles" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Recherche d’UID en double" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "Recherche de GID en double" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "La requête LDAP a échoué" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "L'objet racine est probablement manquant." #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Échec" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Object class FusionDirectory obligatoire '%s' manquante !" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Veuillez vérifier votre installation." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Impossible de gérer le type structural de votre objet racine. S'il vous plaît essayez d’ajouter la classe d'objet '%s' à la main." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Erreur LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "L'utilisateur \"%s\" n'a pas un accès complet à votre annuaire LDAP." #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "L'utilisateur \"%s\" n'a pas un accès complet à votre annuaire LDAP." #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Avertissement" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "%s utilisateur(s) trouvé(s) qui ne seront pas visibles dans FusionDirectory ou qui sont incomplets." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "Migration des utilisateurs" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Erreur de migration" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "Impossible de migrer l'entrée '%s' :" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "Comptes administratifs de FusionDirectory 1.0.7 trouvés : %s" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "Comptes administratifs de FusionDirectory 1.0.7 trouvés : %s" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "Vous pouvez exécuter fusiondirectory-setup --migrate-acls après avoir sauvegardé le fichier de configuration à la fin de l'installation pour migrer les acls.
    " #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "Il n’y a pas d'administrateur FusionDirectory 1.0.8 valide dans votre annuaire LDAP." #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Créer" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Utilisateurs" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Groupes" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Il n'y a pas d'administrateur FusionDirectory dans votre annuaire LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "Donner tous les droits sur tous les objets" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Erreur" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "Les rôles ACL par défaut n'ont pas été insérés" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "Certains rôles ACL par défaut sont absents" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "Les rôles ACL par défaut on été insérés" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "Impossible d’ajouter un rôle ACL pour '%s' :" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "%s utilsateur(s) trouvé(s) en dehors de la branche configurée \"%s\"." #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Déplacer les utilisateurs dans la branche utilisateur configurée" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "Impossible de déplacer les utilisateurs vers le département spécifié !" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "Les entrées seront déplacées depuis" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "vers" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Les références suivantes seront mises à jour" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "%s groupes trouvés en dehors de la branche configurée '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "Déplacer les groupes dans la branche configurée" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "%s département(s) trouvé(s) qui ne seront pas visible dans FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "Migration des départements" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "%s valeurs dupliquées trouvées pour l'attribut \"uidNumber\" : %s" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "%s valeurs dupliquées trouvées pour l'attribut \"gidNumber\" : %s" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "Connexion LDAP" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nom de l'emplacement" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "Nom de cette connexion à afficher dans la liste des serveurs LDAP" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI de connexion" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "URI pour contacter le serveur LDAP. Commence habituellement par ldap://" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Connexion TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "Est ce que TLS doit être utilisé pour se connecter à ce serveur LDAP ?" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "La base de l’annuaire LDAP" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Authentification" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "DN du compte admin à utiliser pour la liaison au LDAP. La base est automatiquement ajoutée." #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN de l'administrateur" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Mot de passe administrateur" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "Mot de passe pour le compte administrateur à utiliser pour la liaison au LDAP" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Statut" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Statut actuel" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "Résultat de la dernière tentative de liaison LDAP et vérification des schémas de base" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configuration LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Configuration de la connexion LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Cette page permet la configuration de base de l'annuaire LDAP pour FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "La connexion anonyme sur le serveur '%s' a échoué !" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Connexion de l'utilisateur '%s' échouée !" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Réessayer" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Connexion anonyme sur le serveur '%s' réussie." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Rafraîchir" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Veuillez fournir un utilisateur et un mot de passe !" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Connexion de l'utilisateur '%s' au serveur '%s' réussie !" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "%s\nSchema \"%s\": %s" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Fin" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Fin - écrire le fichier de configuration" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Écrire le fichier de configuration" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Votre fichier de configuration est lisible par tout le monde. Veuillez modifier les permissions !" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Le fichier de configuration ne peut être lu ou n'existe pas." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Après avoir placé le fichier dans le répertoire %s, assurez vous que seul le serveur web puisse lire %s." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Erreur d'installation" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Terminé" #: setup/class_setup.inc:248 msgid "Next" msgstr "Suivant" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Erreur interne" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Échec de la journalisation : %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "Option %s invalide !" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Le type d'objet spécifié est vide ou invalide !" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "non configuré" #: include/class_management.inc:165 msgid "Filter error" msgstr "Erreur de filtre" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Le filtre est incomplet !" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Permission" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Erreur de permission" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Vous n'êtes pas autorisé à créer un nouvel instantané pour %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Vous n'êtes pas autorisé à restaurer un instantané de %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Pas de déclaration d’onglets pour '%s' dans votre fichier de configuration. Impossible d'initialiser le plugin !" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Racine" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Soumettre" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Haut" #: include/class_listing.inc:313 msgid "Down" msgstr "Bas" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Trier vers le haut" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Trier vers le bas" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Sélectionner tout" #: include/class_listing.inc:592 msgid "created by" msgstr "créé par" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Aller au département racine" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Monter d'un département" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "Aller au département de l’utilisateur" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Accueil" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Recharger la liste" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Actions" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copier" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Couper" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Coller" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Couper cette entrée" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copier cette entrée" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Restaurer des instantanés" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exporter la liste" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Restaurer l’instantané" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Créer un instantané" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Créer un nouvel instantané depuis cet objet" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Erreur fatale" #: include/class_xml.inc:66 msgid "in" msgstr "dans" #: include/class_xml.inc:68 msgid "on line" msgstr "en ligne" #: include/class_xml.inc:69 msgid "XML error" msgstr "Erreur XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Impossible de changer le mot de passe, utilisateur '%s' inconnu." #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "Vous devez remplir saslRealm ou saslExop dans l’écran de configuration pour pouvoir utiliser SASL" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Erreur de configuration" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Page" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Pas d'exportation en PDF possible, la bibliothèque FPDF n'est pas installée." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Le canal demandé n'existe pas ! Veuillez contacter votre administrateur système." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Tout annuler" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Impossible de coller" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Identifiant" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Modèle" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "modèle d'objet, utilisé pour créer plusieurs objets avec des valeurs similaires" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nom du modèle" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Erreur fatale : pas d’emplacement défini pour les classes - veuillez exécuter '%s' pour régler le problème" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Erreur fatale : impossible d'initialiser la classe '%s' - veuillez exécuter '%s' pour essayer de régler le problème" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Erreur lors de la connexion au serveur LDAP. Le serveur a répondu '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "Ce login (uid) n'est pas unique au sein de l’annuaire LDAP. Veuillez contacter votre administrateur système." #: include/functions.inc:597 msgid "Authentication error" msgstr "Erreur d'authentification" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "Il semble que votre mot de passe soit expiré. Veuillez utilisez la récupération de mot de passe pour le changer." #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Erreur lors de l'ajout d'un verrou. Contactez les développeurs !" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Impossible d'obtenir les informations de verrouillage dans l'annuaire LDAP. Veuillez contacter votre administrateur !" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "Le serveur LDAP a retourné : %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Verrou multiple pour un même objet détecté. Ceci ne devrait pas arriver. Effacement des références multiples." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "La taille limite de %d entrées est dépassée !" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Mettre la nouvelle limite à %s et m’afficher ce message si la limite est toujours dépassée" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurer" #: include/functions.inc:1133 msgid "incomplete" msgstr "incomplet" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Continuer malgré tout" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Éditer malgré tout" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Vous êtes sur le point d'éditer l'entrée(s) %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Entrées par page" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Appliquer le filtre" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sO" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiO" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiO" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiO" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiO" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiO" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sEiO" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiO" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiO" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Le fichier '%s' ne peut être supprimé. Essayer de lancer la commande «fusiondirectory-setup --check-directories» sur le serveur FusionDirectory pour corriger les permissions de fichiers." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Impossible d'écrire dans le fichier de révision !" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Impossible de lire le fichier de révision !" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "'nextIdHook' n'est pas disponible. Utilisation de la base par défaut !" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Avertissement LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Impossible de récupérer les informations sur les schémas depuis le serveur. Vérification des schémas impossible !" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "schéma principal de FusionDirectory" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "Schéma utilisé pour stocker la configuration de FusionDirectory" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "Utilisé pour stocker l'autorisation de connexion chez les utilisateurs ou les groupes." #: include/functions.inc:2585 msgid "Used to store templates." msgstr "Utilisé pour stocker les modèles" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "Utilisé pour stocker des informations POSIX." #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "Object class obligatoire \"%s\" manquante !" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "Object class facultative \"%s\" manquante !" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Classe(s) disponible(s)" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "Vous avez installé le plugin «mixed groups», mais vos schéma ne sont pas compatibles." #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "Pour pouvoir utiliser «mixed groups» l’objectClass «posixGroup» doit être auxiliaire («AUXILIARY»)" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "Vos schémas sont fait pour utiliser des «mixed groups», mais ce plugin n’est pas installé." #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "L’objectClass «posixGroup» doit être structurelle («STRUCTURAL»)" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Impossible d'allouer un ID libre :" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "Méthode d'allocation des id inconnue !" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax !" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool n'est pas unique !" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "Pas d’ID disponibles !" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "Nombre maximum d'essais dépassé !" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Impossible d'assigner un ID !" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Fichier '%s' non trouvé - veuillez exécuter '%s' pour régler ce problème" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Tous les objets dans cette catégorie" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Veuillez corriger l'erreur ci dessus et recharger la page." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "Le fuseau horaire '%s' indiqué dans votre configuration est invalide. " #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Erreur XML dans fusiondirectory.conf : %s à la ligne %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "Il semble que vous essayez de déchiffrer quelque chose qui n'est pas chiffré :%s
    \\nVeuillez vérifier que vous n'utilisez pas un fichier fusiondirectory.secrets alors que vos mots de passe ne sont pas chiffrés." #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Impossible de se connecter à l'annuaire LDAP. Veuillez contacter l'administrateur du système." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "La location \"%s\" n'est pas présente dans le fichier de configuration" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "La fonctionnalité des instantanés est activée, mais la variable requise '%s' n'est pas configurée." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "La fonctionnalité des instantanés est activée, mais le module nécessaire à la compression est manquant. Veuillez installer '%s'. " #: include/class_config.inc:965 msgid "All categories" msgstr "Toutes les catégories" #: include/class_config.inc:1095 msgid "My account" msgstr "Mon compte" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Sélectionnez pour lister les objets de type '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Sélectionner pour lister les objets contenant '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Sélectionnez pour lister les objets qui ont '%s' activé" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Sélectionner pour chercher dans les sous arbres" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Chercher dans les sous arbres" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Cet objet sera supprimé !" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "L'objet '%s' sera supprimé !" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Cet objet sera supprimé : %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "L'objet de type '%s' sera supprimé : %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Cet objet sera supprimé : " #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "L'objet de type '%s' sera supprimé :" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Ces objets seront supprimés : %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Ces objets de type '%s' seront supprimés : %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet !" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Vous n'avez pas les droits nécessaires pour supprimer cet objet :" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Vous n'avez pas les droits nécessaires pour supprimer ces objets :" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Vous n'avez pas les droits nécessaires pour créer cet objet !" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Vous n'avez pas les droits nécessaires pour créer l'objet :" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Vous n'avez pas les droits nécessaires pour créer ces objets :" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Vous n'avez pas l'autorisation de modifier cet objet !" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "Vous n'avez pas l'autorisation de modifier le champ \"%s\" de l'objet \"%s\"" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "Vous n'avez pas l'autorisation de modifier l'objet:
    %s" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "Vous n'avez pas l'autorisation de modifier les objets :
    %s" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Vous n'avez pas l'autorisation de voir cet objet !" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Vous n'avez pas l'autorisation de voir l'objet :" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Vous n'avez pas l'autorisation de voir ces objets :" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Vous n'avez pas l'autorisation de déplacer cet objet !" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Vous n'avez pas l'autorisation de déplacer l'objet :" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Vous n'avez pas l'autorisation de déplacer ces objets :" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Informations de connexion" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Impossible de se connecter à la base de données %s !" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Impossible de sélectionner la base de données %s !" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Pas de serveur %s défini !" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Impossible d'interroger la base de données %s !" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Le champ '%s' contient un mot réservé !" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "La commande '%s', spécifiée comme hook du plugin '%s' n'existe pas !" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "Le commande '%s' est invalide !" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "la commande '%s' pour le plugin %s est invalide !" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "Commande '%s' (%s) invalide !" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "Commande '%s' (%s) pour le plugin %s invalide !" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Impossible d'exécuter la commande '%s' !" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Impossible d'exécuter la commande '%s' pour le plugin %s !" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Impossible d'exécuter la commande '%s' (%s) !" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Impossible d'exécuter la commande '%s' (%s) pour le plugin %s !" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "La valeur pour '%s' est trop grande !" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' doit être plus petit que %s !" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "La valeur pour '%s' est trop petite !" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' doit être %d ou plus !" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' dépend de '%s' - veuillez indiquer les deux valeurs !" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Il existe déjà une entrée avec l'attribut '%s' dans le système !" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "L’entrée '%s' utilise déjà l'attribut '%s' !" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Le champ obligatoire '%s' n'est pas rempli !" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Exemple :" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "Le champ '%s' contient des caractères invalides" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' n'est pas permis :" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' ne sont pas autorisés !" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Extension PHP %s manquante !" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Annuler" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Appliquer" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Sauver" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Ajouter" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Ajouter %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Supprimer" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Supprimer %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Éditer..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Éditer %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Retour" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Ce compte n'a pas d'extensions %s valides !" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Ce compte a l’onglet %s activé. Vous pouvez le désactiver en cliquant sur le bouton ci-dessous." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Ce compte a l’onglet %s activé. Pour le désactiver vous devez au préalable désactiver l’onglet %s !" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Ce compte a l’onglet %s désactivé. Vous pouvez l’activer en cliquant ci dessous." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Ce compte a l’onglet %s désactivé. Pour l’activer, vous devez au préalable activer l’onglet %s !" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Ajouter les paramètres %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Retirer les paramètres %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "Cliquez sur le bouton 'Éditer' ci-dessous pour changer les informations dans cette boite de dialogue" #: include/class_msgPool.inc:662 msgid "January" msgstr "Janvier" #: include/class_msgPool.inc:662 msgid "February" msgstr "Février" #: include/class_msgPool.inc:662 msgid "March" msgstr "Mars" #: include/class_msgPool.inc:662 msgid "April" msgstr "Avril" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mai" #: include/class_msgPool.inc:663 msgid "June" msgstr "Juin" #: include/class_msgPool.inc:663 msgid "July" msgstr "Juillet" #: include/class_msgPool.inc:663 msgid "August" msgstr "Août" #: include/class_msgPool.inc:663 msgid "September" msgstr "Septembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "Octobre" #: include/class_msgPool.inc:664 msgid "November" msgstr "Novembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "Décembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Dimanche" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Lundi" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Mardi" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Mercredi" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Jeudi" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Vendredi" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Samedi" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "L’opération sur la base de données a échouée !" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "lecture" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "ajout" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "modification" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "suppression" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "recherche" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "authentification" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "L’opération '%s' LDAP a échoué !" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "La requête LDAP a échoué !" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objet" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Le téléchargement a échoué !" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Le téléchargement a échoué : %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Erreur de communication avec le service d'infrastructure !" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Erreur de communication avec le service d'infrastructure : %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "Ce '%s' est en cours d'utilisation par : %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Ce '%s' est toujours en cours d’utilisation." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "Ce '%s' est en cours d’utilisation par les objets : %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Le fichier '%s' n'existe pas !" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Impossible d’ouvrir le fichier '%s' en lecture !" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Impossible d'ouvrir le fichier '%s' en écriture !" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "La valeur de '%s' est actuellement vide ou invalide, veuillez vérifier votre fichier de configuration !" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Impossible de supprimer le fichier '%s' !" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Impossible de créer le répertoire '%s' !" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Impossible de supprimer le répertoire '%s' !" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Vérification du support pour %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Installer et activer le module PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Installer et activer le module Pear %s." #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Impossible d’initialiser la classe '%s' ! Peut-être manque-t-il un plugin dans votre installation de FusionDirectory ?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "La base fournie n'est pas valide et a été réinitialisée à la valeur précédente !" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "Création d’un instantané" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "DN de l’objet dont vous créez un instantané" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Horodatage" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "Heure de création de l’instantané" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "Raison" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "Raison pour la création de cet instantané" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Restaurer" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "Restauration d’instantanés" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Instantanés" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "Instantanés existants pour cet objet" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Fichier" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Ligne" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Erreur PHP" #: include/php_setup.inc:62 msgid "class" msgstr "classe" #: include/php_setup.inc:70 msgid "function" msgstr "fonction" #: include/php_setup.inc:76 msgid "static" msgstr "statique" #: include/php_setup.inc:80 msgid "method" msgstr "méthode" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Trace" #: include/php_setup.inc:132 msgid "Type" msgstr "Type" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Arguments" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "La création de cette page a occasionné des erreurs d'après l'interpréteur PHP !" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Envoyer le rapport de bugs à l'équipe FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Envoyer un rapport de bug" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Afficher/Cacher l'information" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Avertissement de performance" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "La performance de votre annuaire est faible : la dernière requête a duré %.2fs !" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "Impossible de créer automatiquement des sous-arbres avec le RDN '%s' : object class non trouvée !" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "Impossible de créer automatiquement des sous-arbres avec le RDN '%s' : non supporté" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "lors de l'opération sur '%s' en utilisant le serveur LDAP '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "lors de l'opération sur le serveur LDAP %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "proc_open a échoué lors de l’exécution de ldapsearch" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "Erreur ligne %s, la première ligne d'une entrée ne peut pas commencer par un espace" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "Erreur ligne %s, les références à un fichier externe ne sont pas prises en charge." #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "Erreur ligne %s, l'attribut \"%s\" n'a pas de valeur" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "Erreur ligne %s, une entrée ne peut avoir qu'un seul dn" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "Erreur ligne %s, une d'entrée doit commencer par le dn" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "Erreur lors de l'importation du dn : \"%s\", veuillez vérifier votre fichier LDIF à partir de la ligne %s !" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Veuillez sélectionner les entrées désirées" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nom" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Description" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "Groupe POSIX %s" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Rôle %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Groupe %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Groupe de l’utilisateur" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Aucun" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Inconnu" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Éditer" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Supprimer" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Pas de définition de plugin pour l'initialisation de '%s', veuillez vérifier votre fichier de configuration." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "L'effacement a été interrompu par le plugin '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "Déplacer de \"%s\" à \"%s\" a échoué" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "O" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiO" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiO" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiO" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiO" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "secondes" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minutes" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "heures" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "jours" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Depuis un modèle" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "%s modèle" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Afficher les '%s'" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "SANS TITRE" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Paramètres du modèle" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Le nom de ce modèle " #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "Seulement l'onglet principal peut générer un dn" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "Impossible de générer le dn: pas de classe d’onglet parente pour \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "Impossible de générer le dn : pas d’infos sur le type d’objet pour la classe d’onglet \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Erreur lors de la sauvegarde" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Il existe déjà une entrée avec le même dn : %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "L'entrée %s n'existe pas" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "L'objet a changé depuis son ouverture dans FusionDirectory. Toutes les modifications qui peuvent être faites par d'autres seront perdus si vous enregistrez cette entrée!" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "Champ inconnu \"%s\"" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (requis)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Base de l'objet" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "La valeur \"%s\" pour le champ \"%s\" est pas dans la liste des choix possibles" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Impossible de lire le fichier importé : '%s'" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "Le fichier est vide" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "fichier non trouvé" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "le fichier n'est pas lisible" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d octets)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Téléverser" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Télécharger" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "Impossible de sauver la photo de l'utilisateur, FusionDirectory a besoin que la bibliothèque php \"imagick\" soit installée pour cela." #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "La valeur du champ multivalué \"%s\" n'est pas un tableau" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Valeur invalide pour %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "Erreur, date incorrecte  %s" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Un nombre entier entre %d et %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Un nombre entier supérieur à %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Un nombre entier inférieur à %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Un nombre à virgule entre %f et %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Un nombre à virgule supérieur à %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Un nombre à virgule inférieur à %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "Il y a eu un problème lors de la décompression de l’instantané" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "Dépendance récursive dans les champs de modèle: \"%1$s\" ne peut pas dépendre de \"%2$s\" vu que \"%2$s\" dépend déjà \"%1$s\"" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Onglet \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gère les listes de contrôle d'accès (ACL)" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Rôles ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "Type d'ACL inconnu '%s'!\nVous devez exécuter \"fusiondirectory-setup --migrate-acls\" pour migrer vos acls au nouveau format." #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Entrée inconnue '%s' !" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Tous les utilisateurs" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Le répertoire '%s' spécifié comme répertoire de compilation est inaccessible !" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "Attention: La session n'est pas chiffrée !" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "Attention: La durée de validité des sessions configurée dans votre fusiondirectory.conf sera remplacée par celle définie dans votre php.ini." #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "Le fichier de configuration de FusionDirectory %s/%s ne peut être lu. Veuillez exécuter fusiondirectory-setup --check-config." #: html/index.php:171 msgid "Smarty error" msgstr "Erreur Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "Le répertoire \"%s\" spécifié comme répertoire de compilation est inaccessible !" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Votre session FusionDirectory a expiré !" #: html/index.php:211 msgid "Your IP has changed!" msgstr "Votre IP a changé !" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "Paramètre de plugin «%s» invalide !" #: html/index.php:217 msgid "No session found!" msgstr "Aucune session trouvée !" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "La vérification des schémas LDAP a signalé des erreurs :" #: html/index.php:255 msgid "LDAP schema error" msgstr "La vérification des schémas LDAP a signalé des erreurs :" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Veuillez indiquer un nom d’utilisateur valide !" #: html/index.php:285 msgid "Please specify your password!" msgstr "Veuillez introduire votre mot de passe !" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Veuillez vérifier le nom d'utilisateur et le mot de passe." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Compte verrouillé. Veuillez contacter votre administrateur système !" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "Aucune valeur trouvée dans l'entête HTTP \"%s\"" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "L'utilisateur \"%s\" mentionné dans l’entête n'existe pas dans l'annuaire LDAP " #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "L'utilisateur \"%s\" mentionné dans l’entête correspond à plusieurs personnes dans l'annuaire LDAP " #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "L'utilisateur CAS \"%s\" n'existe pas dans l'annuaire LDAP " #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "L'utilisateur CAS \"%s\" correspond à plusieurs personnes dans l'annuaire LDAP " #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Votre navigateur a les cookies désactivés. Veuillez activer les cookies et recharger cette page avant de vous connecter !" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Le fichier de configuration de FusionDirectory %s/%s ne peut être lu. Abandon." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Adresse de courriel" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "Aucun compte utilisateur trouvé avec l'identifiant \"%s\"" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "Plusieurs comptes trouvés avec l’identifiant \"%s\"" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "Il n'y a pas de compte qui utilise le courriel \"%s\"" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "Il y a plusieurs comptes qui utilisent le courriel \"%s\"" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "L'utilisateur correspondant au courriel \"%s\" est verrouillé. Veuillez contacter votre administrateur système !" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contactez votre administrateur système, il y a eu un problème avec le serveur de courriel" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Le jeton n'est pas valide" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Un problème est survenu avec le serveur, le courriel de confirmation n'a pas été envoyé" #: html/main.php:115 msgid "PHP configuration" msgstr "Configuration de PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Erreur fatale : «Register globals» est activé. FusionDirectory ne permettra pas aux utilisateurs de se connecter tant que ceci n'est pas corrigé par un administrateur." #: html/main.php:142 msgid "Password change" msgstr "Changement de mot de passe" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Votre mot de passe va bientôt expirer, veuillez changer votre mot de passe !" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "Votre mot de passe a expiré, veuillez changer votre mot de passe." #: html/main.php:208 msgid "Running out of memory!" msgstr "Plus de mémoire disponible !" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Les vérifications des ACL de l'utilisateur ont été désactivés" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Erreur Fatale : Impossible de trouver une définition pour le plugin '%s' ! ('%s' n'est pas un fichier) !" #: html/main.php:305 msgid "Configuration Error" msgstr "Erreur de configuration" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Erreur fatale : toutes les variables POST n’ont pas été transférées par PHP - veuillez avertir votre administrateur !" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Bienvenue %s !" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Références" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Éditer les paramètres POSIX" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Répertoire Home" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Chemin du répertoire \"home\" de cet utilisateur" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Shell à utiliser lors de la connexion de l’utilisateur" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Groupe principal" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Groupe principal de cet utilisateur" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Statut du compte unix de l'utilisateur" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Forcer l’id d’utilisateur/groupe" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Force les valeurs des ids d’utilisateur et de groupe pour cet utilisateur." #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "Id d’utilisateur" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Id d’utilisateur à utiliser pour cet utilisateur" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "Id de groupe" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Id de groupe à utiliser pour cet utilisateur" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Appartenance aux groupes" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Compte" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "L'utilisateur doit changer son mot de passe lors de sa première connexion" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "L'utilisateur doit changer son mot de passe lors de la première connexion (il est nécessaire de remplir le champ «Délai»)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "Délai minimum entre les changements de mot de passe (jours)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "L'utilisateur ne sera pas habilité à changer son mot de passe avant ce nombre de jour (laisser vide pour désactiver)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Délai avant de forcer le changement de mot de passe (en jours)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "L'utilisateur sera forcé de changer son mot de passe après ce nombre de jours (laisser vide pour désactiver)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Date d'expiration du mot de passe" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Date après laquelle le mot de passe de l'utilisateur va expirer (laisser vide pour désactiver)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Délai d'inactivité avant de désactiver l'utilisateur (en jours)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Délai maximum d'inactivité après l'expiration du mot de passe avant que l'utilisateur soit désactivé (laisser vide pour désactiver)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Délai d'avertissement de l'utilisateur avant l'expiration de son mot de passe (en jours)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "L'utilisateur sera averti à partir de ce nombre de jours restant avant l'expiration de son mot de passe (laisser vide pour désactiver)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Système de confiance" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Mode de confiance" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Type d'autorisation pour ces hôtes" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "désactivé" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "accès complet" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "permettre l'accès a ces hôtes" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Autoriser cet utilisateur à se connecter uniquement sur cette liste d’hôtes" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatique" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "expiré" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "temps de grâce actif" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "actif" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "mot de passe expiré" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "mot de passe non modifiable" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Le temps d'attente du verrou a été dépassé. Verrou ignoré !" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Groupe de l'utilisateur %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Groupes et rôles" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Éditer les groupes et rôles de l’utilisateur" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Appartenance aux groupes" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Appartenance aux rôles" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Chiffrement des mots de passe" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Méthode de chiffrement des mots de passe" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Mot de passe" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Mot de passe (Laissez vide si vous ne voulez pas changer)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Mot de passe (de nouveau)" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Veuillez réintroduire le mot de passe pour éviter les erreurs" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Utilisateur" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Information du compte utilisateur" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Compte utilisateur" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Informations personnelles" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Nom de famille" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Nom de famille de cet utilisateur" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Prénom" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Prénom de cet utilisateur" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Courte description de l'utilisateur" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Photo" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "L'avatar pour cet utilisateur" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Information de contact organisationnelles" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Lieu" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "État" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adresse" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Adresse postale professionnelle" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "No. de bureau" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Numéro du bureau" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Téléphone" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Numéro de téléphone professionnel" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobile" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Numéro de mobile professionnel " #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Bip" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Numéro de bip professionnel" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Numéro de fax professionnel" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Site web" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Site web personnel" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Compte utilisateur" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Identifiant de l'utilisateur" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Mot de passe de l'utilisateur" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Informations de contact personnelles" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Nom à afficher" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "Nom de l'utilisateur tel qu'il devrait apparaître. Utilisé par le carnet d'adresse Exchange." #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Adresse postale" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Adresse postale personnelle" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Numéro de téléphone privé" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Numéro de téléphone privé" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Informations organisationnelles" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Titre" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "Titre d'une personne dans leur contexte organisationnel. Chaque titre est une valeur de cet attribut multivalué" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organisme" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Département" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "Département auquel l'utilisateur appartient" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Numéro du département" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Numéro du département" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "No. de l'employé" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Numéro de l'employé" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Type d'employé" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Responsable" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "La ppolicy \"%s\" n’a pas été trouvée dans le LDAP !" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Vous n’êtes pas autorisé à changer votre mot de passe" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Vous devez attendre %d secondes avant de changer votre mot de passe à nouveau" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "Le mot de passe est dans l'historique des mots de passe récents" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "Le nouveau mot de passe est le même que l’ancien" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Vous devez spécifier votre mode de passe actuel pour continuer." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "Les mots de passe entrés dans les champs 'Nouveau mot de passe' et celui dans le champ 'Répéter le nouveau mot de passe' ne concordent pas." #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nouveau mot de passe" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Le nouveau et l'ancien mot de passe sont trop similaires." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Le nouveau mot de passe est trop court." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Le mot de passe contient probablement des caractères Unicode qui sont problématique" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Statistiques sur les utilisateurs" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Statistiques utilisateurs" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Statistiques des groupes" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Comptes expirés" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Tableau de bord" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "Statistiques et informations diverses" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Rapports" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Statistiques" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "Mot de passes" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "Statistiques sur les mot de passe" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "Statistiques mots de passe" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Récupération de mot de passe" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Paramètres pour la fonction de récupération de mot de passe" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Paramètres de récupération de mot de passe" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Activer la récupération de mot de passe" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Activer ou non la fonctionnalité de récupération de mot de passe" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Adresse de courriel de l'émetteur" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Adresse de courriel de laquelle les messages seront envoyés" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Durée de validité du lien (minutes)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Nombre de minutes avant l'expiration du lien" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Chaine de caractères aléatoires pour les jetons" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Ceci est juste une mesure de sécurité, vous pouvez mettre ce que vous voulez ici, même des caractères au hasard" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Autoriser des adresses de messagerie alternatives" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Les utilisateurs pourront entrer une adresse de messagerie alternative pour récupérer leur mot de passe" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Premier message" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Sujet" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Sujet du premier message" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Lien de réinitialisation du mot de passe" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Corps du message (le premier %s est l'identifiant, le second est le lien)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Corps du premier message, envoyé lorsque l'utilisateur demande un nouveau mot de passe. Utilisez %s pour l'identifiant et le lien de récupération." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "Bonjour,\n\nVoici vos informations :\n- Identifiant : %s\n- Lien : %s\n\nCeci est seulement valide pour 10 minutes" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Second message" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Sujet du second message" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Réinitialisation du mot de passe réussie !" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Corps du message (%s est l'identifiant)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Corps du second message, envoyé pour confirmer que le mot de passe a été changé. Utilisez %s pour l’identifiant de l'utilisateur." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Bonjour,\n\nVotre mot de passe a été changé. \nVotre identifiant de connexion est toujours %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuration" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Configuration de FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "Écran de configuration de FusionDirectory" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Thème et apparence" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Langue" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Langue de l’application. Automatique utilisera la langue demandée par le navigateur. Ce paramètre peut être configuré par utilisateur." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Thème" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Thème à utiliser" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Fuseau Horaire" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Fuseau horaire à utiliser" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Installation des schémas" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "Validation des schémas" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Activer la validation des schémas lors de la connexion" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Préférences des mots de passe" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Méthode de chiffrement par défaut des mots de passe" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Méthode de chiffrement à utiliser par défaut" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Forcer la méthode de chiffrement par défaut" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Forcer l'utilisation de la méthode de chiffrement des mots de passe par défaut " #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Longueur minimum des mots de passe" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Longueur minimum des mots de passe utilisateurs" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Différence minimum des mots de passe" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Nombre minimum de caractères différents par rapport au précédent mot de passe" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Activer l'expiration de compte" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Activation des tests sur les attributs cachés durant la connexion à FusionDirectory et force le renouvellement du mot de passe ou bloque le compte" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "Royaume SASL" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "Opération Extérieur SASL" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Attribut à stocker dans l'attribut 'userPassword'" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Paramétrage de base" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Afficher les sommaires dans les listes" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Détermine si une barre d'état sera affichée en bas des listes pour indiquer les nombres et types des objets affichés" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Verrouillage de l’édition" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Vérifie si une entrée en cours d'édition a été modifiée par une application autre que FusionDirectory dans le même temps" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Activer la journalisation" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Activer la journalisation coté FusionDirectory." #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "Limite de taille LDAP" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Définit le nombre maximal d'objets LDAP retournés par défaut." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Connexion et session" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Attribut de connexion" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Attribut LDAP utilisé comme identifiant lors de la connexion" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forcer les connexions chiffrées" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Activer les vérifications PHP de sécurité pour forcer HTTPS lors de l’accès à l'interface web." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Avertir si la session ne sera pas chiffrée" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "Affiche un avertissement pour indiquer l'usage du protocole HTTP au lieu de HTTPS." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Durée de vie de la session" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "Définit la durée d'une session en secondes (0 pour désactiver)." #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "Authentification HTTP de base" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "Utiliser le protocole d'authentification Basic HTTP au lieu du formulaire de connexion." #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "authentification entêtes HTTP" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "Utiliser d'authentification par entêtes HTTP au lieu du formulaire de connexion." #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "Nom de l’entête" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "Nom de l'en-tête contenant l'identification utilisateur." #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Activer les instantanés" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Cela vous permet de sauver l’état de certaines entrées et de les restaurer plus tard" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base pour les instantanés" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "Branche LDAP dans laquelle les instantanés seront stockés." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Clé privée" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "Chemin vers la clef privée de FusionDirectory. Inutilisé actuellement." #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Chemin du certificat" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "Chemin vers le certificat public de FusionDirectory. Inutilisé actuellement." #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "Chemin du certificat CA" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "Chemin d'accès au CA public. Utilisé pour valider l'hôte du serveur Argonaut." #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "CAS" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "Activer CAS" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "CAS sera utilisé à la place de la connexion LDAP" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "Chemin du fichier contenant le certificat du CA public du serveur CAS" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Hôte" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "Hôte du serveur CAS" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Port" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "Port d’écoute du serveur CAS" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "Contexte CAS" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "Contexte CAS à utiliser" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Stockage des utilisateurs et groupes" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Attribut pour le DN des utilisateurs" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Attribut à utiliser pour le début du DN utilisateur" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "Modèle CN" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "Le modèle à utiliser pour construire le common name" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Règles de de nommage strictes" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Active la vérification stricte des noms d’utilisateur et de groupe" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "Id minimum de groupe/utilisateur" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "L’id d’utilisateur ou de groupe minimum assignable pour éviter des risques de sécurité avec des id égales à 0." #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Hook de nouvel id" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Un script à appeler pour trouver le prochain id libre pour les utilisateurs et groupes." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Départ pour les ids d’utilisateur" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Où commencer à chercher pour un nouvel id d’utilisateur libre." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Départ pour les ids de groupe" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Point de départ pour rechercher un id de groupe libre" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "Branche des utilisateurs" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "Branche où sont stockés les utilisateurs." #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "Branche des groupes" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Branche où sont stockés les groupes." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "Branche des rôles ACL" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "Branche où sont stockés les rôles ACL." #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Méthode d’allocation des ids" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Méthode pour allouer les ids d’utilisateur et de groupe" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Traditionnel" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Réservoir d’ids Samba" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "Minimum des ids d’utilisateur du réservoir" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "Valeur minimum pour les ids d’utilisateur du réservoir" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "Maximum des ids d’utilisateur du réservoir" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "Valeur maximum pour les ids d’utilisateur du réservoir" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "Minimum des ids de groupe du réservoir" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "Valeur minimum pour les ids de groupe du réservoir" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "Maximum des ids de groupe du réservoir" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "Valeur maximum pour les ids de groupe du réservoir" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "Restreindre les membres du rôle" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "Lorsqu'elle est activée uniquement les utilisateurs de la même branche ou les membres des groupes de la même branche peut être ajouté à un rôle." #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Débogage" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Afficher les erreurs" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Afficher les erreurs PHP en haut de l'écran. Cela doit être désactiver en environnement de production car des mots de passe peuvent être affichés." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Durée maximale d'une requête LDAP" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Arrêter les opérations LDAP si aucune réponse n'est obtenue dans un délai spécifié en secondes." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Journaliser les statistiques LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Stocker les statistiques LDAP via syslog. Cela aide à trouver les problèmes d'indexation et de mauvais filtres de recherche." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Niveau de débogage" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Afficher certaines informations à chaque chargement de page." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Divers" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "Hooks appelés quand des actions spécifiques surviennent" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "onglet" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "Onglet concerné pas ce hook" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "mode" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Quand appeler cette commande" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "cmd" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Commande qui sera appelée" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Hooks" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "Montrer le résultat du hook" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "Si activé, après réussite du hook, sa sortie textuelle est affichée dans une fenêtre à l'utilisateur." #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Shells disponibles" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Shells POSIX disponibles pour les utilisateurs de FusionDirectory" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "Shell par défaut" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "Shell utilisé par défaut lors de l'activation du tab Unix." #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "Afficher l’onglet ACL sur tous les objets" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "Pour des configurations ACL très spécifiques où vous avez besoin de donner des droits sur un seul objet." #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "Liste des catégories de département" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "Les catégories disponibles dans le menu déroulant départements" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Configuration des plugins" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Configuration des plugins" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "Configuration des plugins FusionDirectory" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Groupes d'objets" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "Branche des groupes d'objets" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Branche où seront stockés les groupes d'objets" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Forcer la demande de mot de passe" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "Utile si vous ajoutez un hook utilisant le mot de passe et que la méthode utilisée est SASL" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Configuration du tableau de bord" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "Configuration du plugin Tableau de bord pour FusionDirectory" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Tableau de bord - Schéma de nommage" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Nombre de chiffres" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Le nombre de chiffres à utiliser après le préfixe" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Préfixes" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Préfixes à utiliser pour les identifiants de machines" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Tableau de bord - Utilisateurs expirés" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Nombre de jours" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "Le nombre de jours avant expiration nécessaires pour qu’un compte apparaisse dans la liste «Prochains comptes expirés» du tableau de bord" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Départements" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "département" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propriétés" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Nom de %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Un nom pour ce %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Une courte description de ce %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Catégorie" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Catégorie de ce %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "Site Web" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "Site Web de %s" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Responsable de ce %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Pays" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Adresse postale pour ce %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Numéro de téléphone" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Numéro de fax" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "organisme" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domaine" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "domaine" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Gérer les départements" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "Gérer les départements, pays, composants de domaine, les domaines, les localités et les nœuds des organisations" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Utilisateurs et groupes" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Composant de domaine" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "composant de domaine" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Lieu" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "lieu" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Liste des départements" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "pays" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Gérer les utilisateurs" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "Gérer les comptes utilisateurs et leurs propriétés" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Verrouillage du compte" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "La méthode \"%s\" ne permet pas le verrouillage du mot de passe. Le compte \"%s\" n'a pas été verrouillé !" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Déverrouiller le compte" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Verrouiller le compte" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Liste des utilisateurs" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Nom de famille" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Prénom" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Verrouiller les utilisateurs" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Déverrouiller les utilisateurs" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Appliquer le modèle" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Créer un nouvel utilisateur depuis un modèle" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Éditer l’utilisateur" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Supprimer l'utilisateur" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Rôle" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Information du rôle" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Rôle organisationnel" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Information" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Nom du groupe" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Description du rôle" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Numéro de téléphone" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Numéro de fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "Les membres du rôle" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Ajouter des utilisateurs au rôle" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Gérer les groupes et les rôles" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "Permet de gérer des groupes d'objets, des groupes POSIX et des rôles " #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Éditer les propriétés du role" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Modifier les propriétés posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Afficher les groupes utilisateurs" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Afficher les groupes principaux" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Afficher les rôles organisationnels " #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Afficher les groupes d’applications" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "Afficher des groupes non identifiés" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Afficher les groupes de courriel" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Afficher les groupes Samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "Afficher les entrées DSA" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Afficher les groupes de serveurs" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Afficher les groupes de stations de travail" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Afficher les groupes de stations Windows" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Afficher les groupes de terminaux" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Afficher les groupes d’imprimantes" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Afficher les groupes de téléphones" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Type Inconnu : %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "Dn inexistant : %s" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Groupe d'objet" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Information du groupe d’objets" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Groupe" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Description courte pour ce groupe" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Objets membres" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Objets membres de ce groupe" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Autoriser ce groupe à se connecter uniquement sur cette liste d'hôtes" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "Mettre les stations de travail et les terminaux dans le même groupe est interdit" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Liste des groupes" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Information du groupe POSIX" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "Groupe POSIX" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "Groupe d’utilisateurs POSIX" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forcer le GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Forcer la valeur du GID pour ce groupe" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "GID de ce groupe" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Membres du groupe" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "création d'affectation ACL" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "Créer une affectation d'ACL sur un dn arbitraire" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "Dn" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "DN auquel vous souhaitez ajouter des affectations" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "Impossible de trouver le dn demande dans l'annuaire LDAP" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Affectations ACL" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "gestion des affectations ACL " #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "Affectations des rôles ACL pour les utilisateurs" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Affectation ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "Boite de dialogue d’affectation ACL" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Boite de dialogue des affectations de rôles de contrôle d’accès" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Mode" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "Est-ce que cela doit être appliqué au sous arbre complet ou seulement la base ?" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Sous branche" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Base seulement" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Rôle à appliquer" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Tous les utilisateurs" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Appliquer cette ACL pour tous les utilisateurs LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Membres" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Utilisateurs et groupes à qui appliquer ce rôle" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr ", et %d autres" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Affectation ACL" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Affectation des rôles de contrôle d’accès" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Affectations" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Affectations des rôles ACL pour cette base" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Affectations sur l'objet ou la branche %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Pas d'ACL pour cette catégorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL pour ces objets : %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Éditer les catégories ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Remettre à zéro les catégories ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Liste des catégories d'ACL disponibles" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Tous les objets dans le sous arbre actuel" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "Modifier ACL pour \"%s\"" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "lecture" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "écrire" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Afficher/Cacher la configuration avancée" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Créer des objets" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Déplacer des objets" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Supprimer des objets" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Donner la permission au propriétaire" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "L'objet complet" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Gestion des rôles ACL" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "Gérer les rôles ACL" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Contient les paramètres pour ces objets : %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Contrôle d'accès (ACL)" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Rôle ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Un nom pour ce rôle" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Description courte pour ce rôle" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "ACLs" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACLs qui font partie de ce groupe" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory ne fonctionnera PAS si vous ne corrigez pas cela." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory fonctionnera même si vous ne corrigez pas cela." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Créer un nouveau compte administrateur pour FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Ce dialogue vas automatiquement créer un nouveau super utilisateur dans votre arbre LDAP." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID de l’utilisateur" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Mot de passe (de nouveau)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Il semble que c'est votre première utilisation de FusionDirectory - nous n'avons pas trouvé de configuration. Ce programme d'aide à l'installation vous aidera à configurer FusionDirectory." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Qu’est ce que le programme d'aide à l’installation fera pour vous ?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Créer une simple configuration mono-site" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Essayer de trouver s’il existe des problèmes dans votre configuration PHP ou LDAP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Vous permettre de régler un ensemble d’options de base et avancées" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Assister la migration d’un annuaire LDAP existant" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Qu’est-ce que l’assistant d’installation ne fera PAS pour vous ?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Trouver toutes les erreurs de configuration possibles" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migrer toutes les situations LDAP possibles − faites des sauvegardes !" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Pour continuer :" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "Pour des raisons de sécurité vous devez vous authentifier en créant le fichier '%1', contenant l'ID de la session sur le serveur. Ceci peut être réalisé en exécutant la commande suivante :" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Cliquez sur 'Continuer' quand vous avez fini." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Ajouter les Object class obligatoires à la base LDAP" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Actuel" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Après migration" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Fermer" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "Ce dialogue permet de déplacer un ensemble d'entrées dans l’annuaire configuré. Exécuter cette opération peut améliorer votre service LDAP." #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "Soyez prudent avec cette opération ! Il peut exister des références qui pointent vers ces entrées. Le programme d’installation de FusionDirectory ne peut pas migrer ces références, vous préférerez peut-être annuler la migration dans ce cas." #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Déplacer les entrées sélectionnées " #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "Les entrées listées sont actuellement invisibles dans l’interface de FusionDirectory. Si vous voulez changer ceci pour certaines entrées, veuillez les sélectionner et utiliser le bouton 'Migrer' ci-dessous." #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Si vous voulez savoir ce qui sera effectué lorsque vous migrerez les entrées sélectionnées, utilisez le bouton 'Montrer les changements' pour voir le LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Montrer les changements" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Pendant l'inspection LDAP, nous allons chercher les problèmes classiques qui peuvent arriver lorsque l’on migre vers une administration basée sur FusionDirectory. Vous devriez régler les problèmes ci-dessous afin de faciliter l’administration." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Vérifier à nouveau" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Création du fichier de configuration" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "Exécutez %1 pour mettre les droits correctement sur le fichier fusiondirectory.conf" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Télécharger la configuration" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Statut : " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtre" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Mot de passe perdu" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "Les informations pour réinitialiser le mot de passe pour %1 ont été envoyées à l'adresse de courriel %2" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "Attention : ce courriel est uniquement valable pour %1 minutes." #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Cette fenêtre vous permet de changer votre mot de passe de manière simple. Entrez le mot de passe actuel et le nouveau mot de passe (deux fois) dans les champs ci-dessous et appuyez sur le bouton 'Changer'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Répertoire" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Confirmation du nouveau mot de passe" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Sécurité du mot de passe" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Changer" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Cliquez ici pour changer votre mot de passe" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Succès" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Votre mot de passe a été changé avec succès." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Entrez votre adresse de courriel actuelle dans le champ ci-dessous et appuyez sur le bouton «Changer»." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "=> Indiquez votre adresse complète, ex: Jules Martin => jules.martin@exemple.fr" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Courriel" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "La fonction de récupération des mots de passe n'est pas activée. Si vous avez perdu votre mot de passe, contacter votre administrateur réseau" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Fenêtre de connexion" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Veuillez utiliser votre nom d'utilisateur et votre mot de passe afin de vous connecter." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nom d'utilisateur" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "J’ai perdu mon mot de passe" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Connexion" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Cliquez ici pour vous connecter" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "L'option size limit rend les opérations LDAP plus rapides et permet au serveur LDAP d'avoir un niveau de charge plus léger. La façon la plus facile de gérer des grandes bases de données sans de longs temps d'attentes, serait de limiter la recherche à des valeurs plus petites et d'utiliser les filtres pour obtenir les valeurs que vous recherchez." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Veuillez choisir la façon de réagir pour cette session" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignorer cette erreur et montrer toutes les entrées retournées par le serveur LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignorer cette erreur et montrer toutes les entrées dans la limite de taille définie et laissez moi utiliser les filtres pour restreindre les données a visualiser" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Valider" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "Attention : Vous êtes sur le point de supprimer les objets suivants" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Veuillez vérifier que vous voulez effectuer cette action étant donné qu'il est impossible pour FusionDirectory de récupérer vos données." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "D'accord - si vous êtes sur - cliquez sur 'Supprimer' pour continuer ou sur 'Annuler' pour abandonner." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Accueil" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Déconnexion" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Connecté :" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "La session expire dans %d !" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "Attention : Vous êtes sur le point de restaurer l’instantané suivant" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "Toute modification apportée à l’objet depuis cet instantané sera perdue." #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "Donc - si vous êtes sûr - cliquez sur 'Continuer' pour continuer ou 'Annuler' pour annuler." #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuer" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Conflit de verrou détecté" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "\"%1\" est verrouille par \"%2\" depuis %3" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "Si la détection de ce verrou est fausse, une autre personne a manifestement fermé la fenêtre de son navigateur durant une opération de modification d'une entrée. Dans ce cas, vous pouvez supprimez le verrou en cliquant sur le bouton \"%1%\"." #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Lecture seule" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "Cela peut être utilisé par plusieurs groupes. Veuillez vérifier que vous voulez effectuer cette opération étant donné qu'il est impossible pour FusionDirectory de récupérer vos données." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Assistant copier & coller" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Certaines valeurs doivent être unique dans tout l'arbre et certaines combinaisons n'ont pas de sens. FusionDirectory vous montre les valeurs correspondantes. Veuillez régler les valeurs pour respecter les politiques de sécurité." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Veuillez vous souvenir que certaines propriétés comme les instantanés ne seront pas copiés !" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Ou si vous coupez ou copiez une entrée avec FusionDirectory et que vous effacez la source, vous pouvez rencontrer des erreurs en tentant de le coller à nouveau !" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Opération réalisée" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "Créer une nouvelle entrée à partir d'un modèle" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL assignés à l'entrée actuelle" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nouvelle ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Type ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Sélectionnez un type d’ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Paramètres supplémentaires pour le filtre" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Utiliser les membres de" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Membres disponibles" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Liste les destinataires possibles pour les messages" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Lister les destinataires du message" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL pour cet objet" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Rôles disponibles" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "L'équipe FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "%1 fait référence à %3" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "%1 fait référence au champ %3 du tab %2" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Cette objet n'a pas de relation avec d'autres objets." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Préférences utilisateur" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Effacer le mot de passe" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Attribuer un nouveau mot de passe" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Image personnelle" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Image de l'utilisateur" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Suppression de l'image personnelle" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Vous n'avez pas le droit de changer votre mot de passe" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Votre méthode de chiffrement des mots de passe ne sera pas changée !" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Votre mot de passe a été changé. N'oubliez pas de modifier les programmes qui l'utilisent." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "Il y a 1 groupe :" msgstr[1] "Il y a %1 groupes :" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "l'un deux est un groupe %1 " msgstr[1] "%2 sont des groupes %1" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "Il n’y a aucun groupe %1" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "Il y a 1 utilisateur :" msgstr[1] "Il y a %1 utilisateurs :" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "L'un d'entre eux a un compte %1" msgstr[1] "%2 d’entre eux ont un compte %1" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Aucun d’eux n’a un compte %1" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "Un d’entre utilisent la méthode %1" msgstr[1] "%2 d’entre utilisent la méthode %1" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "Un d'entre eux est verrouillé" msgstr[1] "%1 d’entre eux sont verrouillés" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Aucun d'entre eux n’est verrouillé" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "Il y a un compte expiré" msgstr[1] "Il y a %1 comptes expirés" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Il n'y a pas de compte expiré" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Manager concerné" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "Numéro de téléphone" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "Date d'expiration du mot de passe" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "Responsable" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "Courriel" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "Il y a un compte expirant dans les prochains jours" msgstr[1] "Il y a %2 comptes qui expirent dans les %1 prochains jours" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "Il n’y a pas de compte qui expire dans les %1 prochains jours" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Prochains comptes expirés" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Afficher les modèles" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Afficher les utilisateurs fonctionnels" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Afficher les utilisateurs POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Afficher les utilisateurs de courriel" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Afficher les utilisateurs Samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "Attention: vous êtes sur le point de supprimer les assignations d'ACL sur les objets suivants" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "Cela comprend toutes les affectations ACL faites sur ce(s) noeud(s). Si vous voulez la liste de ces assignations, annulez et ouvrez les objets." #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "Cliquez sur 'Supprimer' pour continuer ou sur 'Annuler' pour abandonner." fusiondirectory-1.0.19/locale/hu_HU/000077500000000000000000000000001304016502700172775ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/hu_HU/fusiondirectory.po000066400000000000000000003777571304016502700231210ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Szabi Fekete , 2016 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu_HU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Felhasználók" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Név" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Leírás" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Csoport neve" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Telefonszám" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Faxszám" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/id/000077500000000000000000000000001304016502700166635ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/id/fusiondirectory.po000066400000000000000000003774161304016502700224750ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Indonesian (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/it_IT/000077500000000000000000000000001304016502700172775ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/it_IT/fusiondirectory.po000066400000000000000000005326141304016502700231020ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Ilaria Montaruli , 2015 # Paola Penati , 2016-2017 # Paola Penati , 2016 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-13 17:11+0000\n" "Last-Translator: Paola Penati \n" "Language-Team: Italian (Italy) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Lingua preferita" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Impostazioni della lingua" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Questa tappa ti permette di impostare la tua lingua preferita." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "A questo punto , è possibile selezionare la lingua predefinita a livello di sito . Scegliendo \" automatico\" utilizzerà la lingua richiesta dal browser. Questa impostazione può essere sovrascritto per utente ." #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatico" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Verifica del modulo PHP e delle sue estensioni" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "Configurazione di installazione PHP (mostra informazione))" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Verifica dell'istallazione" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Verifiche di base della compatibilità PHP e delle estensioni necessarie" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Controllo della versione di PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP deve essere nella versione %s o superiore." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Aggiorna ad una versione supportata." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory ha bisogno di questo modulo per poter comunicare con il server LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory ha bisogno di questo modulo per l'interfaccia multilingue." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory ha bisogno di questo modulo per comunicare con differenti tipi di server e protocolli." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "FusionDirectory ha bisogno di questo modulo per codificare le variabili per l'uso di JavaScript." #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "FusionDirectory richiede questo modulo per filtrare una variabile con un filtro specificato." #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory ha bisogno di questo modulo per l'integrazione di Samba" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory richiede il modulo 'mhash' oppure 'sha1' per poter utilizzare l'algoritmo di criptaggio SSHA." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory ha bisogno di questo modulo per comunicare con il server IMAP." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory ha bisogno di questo modulo per gestire i caratteri Unicode." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory ha bisogno di questa estensione per gestire le immagini." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "modulo di compressione" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory ha bisogno di questa estensione per gestire gli snapshot (le copie istantanee)." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals è un meccanismo PHP che permette di registrare tutte le variabili globali affinchè gli scripts possano accedervi senza cambiare la portata delle variabili. Questo puó generare un rischio per la sicurezza." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Cerca l'opzione register_globals nel tuo file php.ini e impostalo su 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP utilizza questa variabile per cancellare delle vecchie sessioni." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Impostare questa variabile a \"1 giorno\" eviterà di perdere i coockies e le sessioni prima che siano realmente scadute." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Cerca la variabile 'session.gc_maxlifetime' nel tuo file php.ini e impostala a 86400 o un valore più grande." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Off" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Per non avere problemi nell'uso di FusionDirectory, è necessario impostare l'opzione 'session.auto_start' su 'Off' nel file php.ini." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Cerca la variabile 'session.auto_start' nel file php.ini e impostala su 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory ha un bisogno minimo di 128MB di memoria. Meno di 128MB di memoria causeranno degli errori imprevisti che non saranno riproducibili ! Aumenta la memoria per delle installazioni più complesse." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Cerca la variabile 'memory_limit' nel file php.ini e impostala su '128MB' o un valore più grande." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Questa opzione influenza la gestione delle uscite. Per aumentare le prestazioni, impostala su 'Off'." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Cerca la variabile 'implicit_flush' nel file php.ini e impostala su 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Il tempo di esecuzione deve essere di almeno 30 secondi." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Cerca la variabile 'max_execution_time' nel file php.ini e impostala su '30' o un valore più grande." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Aumenta la sicurezza del tuo server impostando la variabile 'expose_php' su 'Off'. PHP non trasmetterà alcuna informazione a proposito del server che stai configurando." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Cerca la variabile 'expose_php' nel file php.ini e impostala su 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Aumenta le prestazioni del tuo server impostando la variabile 'magic_quotes_gpc' su 'Off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Cerca la variabile 'zend.ze1_compatibility_mode' nel file php.ini e impostala su 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Benvenuto" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Benvenuto nell'interfaccia di aiuto alla configurazione di FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Messaggio di benvenuto" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migra" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Ispezione dell'annuario LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analisi dell'annuario LDAP per la compatibilità con FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "Dare tutti i diritti sugli utenti nel ramo dato" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "Permette agli utenti di modificare le proprie informazioni (uso di scheda e posix principale solo sulla base)" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "Permette agli utenti di modificare la loro password (usare solo su base)" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Ispezione delle classi di oggetti nell'oggetto radice" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Verifica del permesso di accesso al database LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Verifica degli utenti nascosti" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Verifica del super amministratore" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "Controllo per i ruoli ed i gruppi ACL predefiniti" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Verifica degli utenti al di fuori del ramo \"people\"" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Verifica dei gruppi al di fuori del ramo \"groups\"" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Verifica dei dipartimenti nascosti" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Verifica dei possibili doppioni UID" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "Verifica dei possibili doppioni GID" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "La richiesta al database LDAP è fallita!" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "Forse l'\"oggetto radice\" é mancante" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Fallito" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "L'oggetto di classe '%s' richiesto per FusionDirectory è mancante !" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Verifica la tua installazione." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Impossibile gestire il tipo di oggetto strutturale del tuo oggetto radice. Prova ad aggiungere manualmente la classe d'oggetto '%s'. " #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Errore LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "L'utente \"%s\" non ha accesso completo al vostro database LDAP." #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "L'utente \"%s\" non ha pieno accesso al database LDAP." #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Avvertimento" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Ho trovato %s utenti(e) che non saranno visibili in FusionDirectory che sono incompleti." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "Migrazione utente" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Errore durante la migrazione" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "Impossibile eseguire la migrazione di voce \"%s\":" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "FD 1.0.7 account amministrativi trovati: %s" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "FD 1.0.7 gruppi amministrativi trovati: %s" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "é possibile eseguire fusiondirectory-setup --migrate-acls dopo aver salvato il file do configurazione al termine della messa a punto per la migrazione." #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "Non vi è alcun account amministratore FusionDirectory 1.0.8 valido all'interno del vostro LDAP ." #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Crea" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Utenti" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Gruppi" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Non ho trovato alcun amministratore di FusionDirectory nel tuo annuario LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "Dà tutti i diritti su ogni oggetto" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Errore" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "I ruoli ACL di default non sono stati inseriti" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "Mancano alcuni ruoli ACL di default" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "Ruoli ACL di default sono stati inseriti" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "Impossibile aggiungere ruolo \"%s\" ACL " #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "Ho trovato %s utente(i) al di fuori del ramo \"%s\" configurato." #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Sposta gli utenti nel ramo utenti configurato nell'annuario" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "Impossibile spostare le entrate nel dipartimento richiesto!" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "L'entrata verrà spostata" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "verso" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Le seguenti reference saranno aggiornate" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Ho trovato %s gruppi al di fuori del ramo '%s' configurato." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "Sposta i gruppi nel ramo di gruppi configurato" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Ho trovato %s departimenti(o) che non saranno visibili in FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "Migrazione Dipartilento" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "Trovati %s valori duplicati per l'attributo \"uidNumber\":%s" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "Trovati %s valori duplicati per l'attributo \"gidNumber\":%s" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "Connessione LDAP" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nome del luogo" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "Nome di questo collegamento per mostrare nell'elenco dei server LDAP" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI di connessione" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "URI per contattare il server LDAP. Di solito inizia con ldap://" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Connessione TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "TLS dovrebbe essere usato per connetterlo a questo server LDAP?" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "Base del directory LDAP" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autentificazione" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "DN dell'account amministratore da utilizzare per il legame alla LDAP . La base viene automaticamente aggiunta." #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN dell'amministratore" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Password dell'amministratore" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "Password dell'account amministratore da utilizzare per il legame alla LDAP . " #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Stato" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Stato attuale" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "Risultato dell'ultimo tentativo di controllo dei vincoli LDAP e degli schemi di base." #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configurazione di LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Configurazione della connessione di LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Questa finestra permette di indicare la configurazione di base di LDAP per FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "La connessione anonima sul server '%s' è fallita !" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "La connessione dell'utente '%s' è fallita !" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Riprova" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "La connessione anonima al server '%s' è riuscita." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Aggiorna" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Specifica il nome utente e la password !" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "La connessione dell'utente '%s' al server '%s' è riuscita !" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "%s\nSchema \"%s\": %s" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Finito" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Finito - Scrivi il file di configurazione" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Scrivi il file di configurazione" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Il file di configurazione è attualmente accessibile in lettura a tutti. Aggiorna i permessi di accesso sul file !" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Il file di configurazione attualmente non è leggibile oppure non esiste." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Dopo aver scaricato e messo il file nella cartella %s, assicurati che sia solo l'account abilitato al server Web a poter leggere %s, mentre gli altri account non dovrebbero." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Errore di configurazione" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Completato" #: setup/class_setup.inc:248 msgid "Next" msgstr "Successivo" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Errore interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Registrazione nel giornale di sistema non riuscita : %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "Opzione '%s' non valida!" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Il tipo d'oggetto specificato è vuoto oppure non è valido !" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "non configurato" #: include/class_management.inc:165 msgid "Filter error" msgstr "Errore di filtro" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Il filtro non è completo!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Autorizzazioni" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Errore d'autorizzazione" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Non sei autorizzato a creare una 'copia instantanea' di %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Non sei autorizzato a restaurare una 'copia instantanea' di %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Nessuna dichiarazione per '% s' nel file di configurazione. Impossibile inizializzare il plugin !" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Root" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Invia" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Sopra" #: include/class_listing.inc:313 msgid "Down" msgstr "Sotto" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Ordina in modo crescente" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Ordina in modo decrescente" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Seleziona tutto" #: include/class_listing.inc:592 msgid "created by" msgstr "Creato da" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Vai al dipartimento base" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Sali di un dipartimento" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "Vai al dipartimento dell'utente" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Home" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Ricarica la lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Azioni" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copia" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Taglia" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Incolla" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Taglia questa voce" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copia questa voce" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Restaura le 'copie istantanee'" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Lista d'esportazione" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Restaura la 'copia istantanea'" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Crea una 'copia istantanea'" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Crea una nuova 'copia istantanea a partire da questi oggetti" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Errore fatale" #: include/class_xml.inc:66 msgid "in" msgstr "nel" #: include/class_xml.inc:68 msgid "on line" msgstr "on line" #: include/class_xml.inc:69 msgid "XML error" msgstr "Errore XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Impossibile cambiare la password, '%s' utente sconosciuto" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "é necessario compilare saslRealm o saslExop nello schermo di configurazione per usare SASL" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Errore di configurazione" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Pagina" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "L'esportazione PDF non è possibile: non ci sono librerie PDF installate." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Il canale richiesto non esiste! Contatta l'amministratore del sistema." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Annulla tutto" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Impossibile incollare" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Nome utente" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Modello" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "Modello di oggetti, utilizzato per creare diversi oggetti con valori simili" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nome del modello" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Errore fatale: non è stato definito nessuno spazio per le classi - esegui '%s' per porre rimedio al problema" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Errore fatale: impossibile inizializzare la classe '%s' - esegui '%s' per porre rimedio al problema" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "Fatale: Errore durante la connessione al server LDAP. Il server dice: '%s'" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "Il login (uid) non é unico all'interno della struttura LDAP. Per favore contattare il vostro amministratore di sistema." #: include/functions.inc:597 msgid "Authentication error" msgstr "Errore di autentificazione" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "Sembrerebbe che la password sia scaduta. Per favore utilizzare recupero password per cambiarla" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Errore all'aggiunta di un bloccaggio. Contatta i programmatori !" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Impossibile creare i dati per il bloccaggio nell'annuario LDAP. Contatta l'amministratore del sistema !" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "Il server LDAP ha risposto: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Sono stati trovati molteplici bloccaggi per lo stesso oggetto da bloccare. Questo non dovrebbe mai succedere. Ripulire le referenze multiple." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Il valore limite dell'entries %d è stato superato !" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Impostare il nuovo valore limite a %s et mostrare questo messaggio se lo stesso valore è superato" #: include/functions.inc:1128 msgid "Configure" msgstr "Configura" #: include/functions.inc:1133 msgid "incomplete" msgstr "incompleto" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Prosegui comunque" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Modifica malgrado l'avvertimento" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Sei sul punto di modificare la/le voce/voci %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Voci per pagina" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Applica filtro" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiB" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiB" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiB" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiB" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiB" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sPiB" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiB" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiB" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Il file '%s' non puó essere rimosso. Prova ad usare fusiondirectory-setup --check-directories per correggerne i privilegi di accesso." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Impossibile scrivere il file di revisione !" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Impossibile leggere il file di revisione !" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "'prossimo Hook ID\" non é disponibile. Usa una base predefinita!" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Avvertimento LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Impossibile trovare informazioni sugli schemi a partire dal server. Nessuna verifica degli schemi è stata effettuata !" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "Schema principale di FusionDirectory" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "Schema utilizzato per memorizzare la configurazione di FusionDirectory" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "Utilizzato per memorizzare le informazioni in modalità fiducia in utenti o gruppi." #: include/functions.inc:2585 msgid "Used to store templates." msgstr "Usato per memorizzare i modelli." #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "Usato per memorizzare le informazioni POSIX." #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "Manca la classe di oggetti necessaria \"%s\"!" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "Manca classe di oggetti optional \"%s\"!" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Classe(i) disponibile(i)" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "Avete installato il plugin di gruppi misti, ma la configurazione dello schema non supporta questo." #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "Per usare gruppi misti l'objetClass \"posixGroup\" deve essere AUSILIARIO" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "Il vostro schema é configurato per supportare gruppi misti, ma manca il plugin." #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "L'objectClass \"posixGroup\" deve essere STRUTTURALE" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Impossibile assegnare un ID libero:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "Metodo idAllocation sconosciuto !" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool non è univoco !" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "nessun ID disponibile !" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "Il numero massimo di tentativi è stato superato" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Impossibile assegnare un ID libero!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Impossibile trovare il file '%s' - esegui '%s' per porre rimedio al problema" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Tutti gli oggetti in questa categoria" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Correggi l'errore qui sotto e ricarica la pagina." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "L'impostazione \"%s\" del fuso orario nella vostra configurazione non é valida." #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Errore XML nel file fusiondirectory.conf: %s alla linea %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "Sembra che si stia tentando di decodificare qualcosa che non è codificato : \n%s
    Si prega di controllare non si stia utilizzando un file fusiondirectory.secrets mentre le password non sono crittografate." #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Errore di connessione al server LDAP. Contatta l'amministratore del sistema." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "Location \" %s\" non è stata trovata nel file di configurazione" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "La funzione 'copia istantanea' è attivata, ma la variabile richiesta '%s' non è configurata." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "La funzione 'copia istantanea' è attivata, ma il modulo di compressione richiesto è introvabile. Per favore installa '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Tutte le categorie" #: include/class_config.inc:1095 msgid "My account" msgstr "Identità personale" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Seleziona per avere la lista di oggetti del tipo '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Seleziona per avere la lista degli oggetti che contengono '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Seleziona per avere la lista degli oggetti che hanno '%s' attivato" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Seleziona per ricercare nella sottostruttura" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Cerca nella sottostruttura" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Questo oggetto sarà cancellato !" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "L'oggetto '%s' sarà cancellato !" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Questo oggetto sarà cancellato: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "L'oggetto '%s' sarà cancellato: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Questo oggetto sarà cancellato:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "L'oggetto '%s' sarà cancellato:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Questi oggetti saranno cancellati: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Gli oggetti '%s' saranno cancellati: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Non hai il permesso di cancellare questo oggetto !" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Non hai il permesso di cancellare l'oggetto:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Non hai il permesso di cancellare questi oggetti:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Non hai il permesso di creare questo oggetto !" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Non hai il permesso di creare l'oggetto:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Non hai il permesso di creare lquesti oggetti:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Non hai il permesso di modificare questo oggetto !" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "Non hai il permesso di modificare i campi \"%s\" di oggetto \"%s\"" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "Non hai il permesso di modificare l'oggetto:
    %s" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "Non hai il permesso di modificare questi oggetti:
    %s" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Non hai il permesso di visualizzare questo oggetto !" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Non hai il permesso di visualizzare l'oggetto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Non hai il permesso di visualizzare questi oggetti:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Non hai il permesso di spostare questo oggetto !" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Non hai il permesso di spostare l'oggetto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Non hai il permesso di spostare questi oggetti:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Informazioni per la connessione" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Impossibile connettersi al database %s !" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Impossibile selezionare la base dati %s !" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Nessun server %s definito !" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Impossibile interrogare il database %s !" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Il campo '%s' contiene una parola chiave riservata !" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Il comando '%s', specificato come connessione dell'estensione '%s' non esiste !" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "Il comando '%s' non è valido." #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "L'opzione '%s' del comando per l'estensione %s non è valida !" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "L'opzione '%s' del comando (%s) non è valida !" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "L'opzione '%s' del comando (%s) per l'estensione %s non è valida !" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Impossibile eseguire il comando '%s' !" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Impossibile eseguire l'opzione '%s' del comando per l'estensione %s !" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Impossibile eseguire l'opzione '%s' del comando (%s) !" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Impossibile eseguire l'opzione '%s' del comando (%s) per l'estensione %s !" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Il valore specificato per '%s' è troppo grande !" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' deve essere più piccolo di %s !" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Il valore specificato per '%s' è troppo piccolo !" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' deve essere %d o un valore più grande !" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' dipende da '%s' - indica entrambi i valori !" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "C'è un'altra entry con l'attributo '%s' nel sistema !" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "La entry '%s' usa già l'attributo '%s'!" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Il campo necessario '%s' è vuoto !" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Esempio:" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "Il campo '%s' contiene caratteri sbagliati" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' non è permesso:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' non è permesso !" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Estensione PHP %s mancante !" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Annulla" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Applica" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Registra" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Aggiungi" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Aggiungi %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Elimina" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Rimuovi %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Modifica..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Modifica %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Indietro" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Questa identità non possiede valide estensioni %s !" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Questa identità ha i parametri %s attivati. Puoi disattivarli cliccando sul bottone qui sotto." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Questa identità ha i parametri %s attivati. Per disattivarla hai bisogno di rimuovere prima di tutto i parametri %s !" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Questa identità ha i parametri %s disattivati. Puoi attivarli cliccando sul bottone qui sotto." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Questa identità ha i parametri %s disattivati. Per attivarli devi prima di tutto impostare i parametri %s !" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Imposta i parametri %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Rimuovi i parametri %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "Clicka sul bottone 'Modifica' qui sotto per cambiare le informazioni in questa finestra" #: include/class_msgPool.inc:662 msgid "January" msgstr "Gennaio" #: include/class_msgPool.inc:662 msgid "February" msgstr "Febbraio" #: include/class_msgPool.inc:662 msgid "March" msgstr "Marzo" #: include/class_msgPool.inc:662 msgid "April" msgstr "Aprile" #: include/class_msgPool.inc:663 msgid "May" msgstr "Maggio" #: include/class_msgPool.inc:663 msgid "June" msgstr "Giugno" #: include/class_msgPool.inc:663 msgid "July" msgstr "Luglio" #: include/class_msgPool.inc:663 msgid "August" msgstr "Agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "Settembre" #: include/class_msgPool.inc:664 msgid "October" msgstr "Ottobre" #: include/class_msgPool.inc:664 msgid "November" msgstr "Novembre" #: include/class_msgPool.inc:664 msgid "December" msgstr "Dicembre" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Domenica" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Lunedi" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Martedi" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Mercoledi" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Giovedi" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Venerdi" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sabato" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "L'operazione sul database è fallita!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "operazione di lettura" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "operazione di aggiunta" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "operazione di modifica" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "operazione di rimozione" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "operazione di ricerca" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "autentificazione" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "La richiesta inoltrata all'annuario LDAP %s è fallita!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "La richiesta inoltrata all'annuario LDAP è fallita!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Oggetto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "L'invio è fallito !" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Invio fallito: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Errore di comunicazione con il servizio d'infrastruttura !" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Errore di comunicazione con il servizio d'infrastruttura: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "Questo '%s' è attualmente utilizzato da questo oggetto: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "Questo '%s' è attualmente in uso." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "Questo '%s' è attualmente utilizzato da questi oggetti: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Il file '%s' non esiste !" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Il file '%s' non puó essere aperto in lettura !" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Il file '%s' non puó essere aperto in scrittura !" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "Il valore di '%s' nno è ancora stato configurato oppure non è valido, verifica il file di configurazione !" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Il file '%s' non puó essere cancellato !" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "La cartella '%s' non puó essere creata !" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "La cartella '%s' non puó essere cancellata !" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Verificazione del supporto per %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Istalla e attiva il modulo PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Installa e attiva il modulo Pear %s." #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Impossibile inizializzare la classe '%s' ! Forse manca un'estensione nell'installazione di FusionDirectory ?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "La base qui fornita non è valida ed è stata reimpostata al suo valore originario !" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "Creare una copia instantanea degli oggetti" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "Ripristinare snapshots" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Registrazione cronologica" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "Timestamp di questa creazione di snapshot" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "Motivo" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "Motivo della creazione di questa copia instantanea" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Anno-mese-giorno, Ore:minuti:secondi" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Restaura" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "Ripristinare snapshots" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Copie istantanee" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "Copia istantanea esistente per questo oggetto" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "File" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Linea" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Errore PHP" #: include/php_setup.inc:62 msgid "class" msgstr "classe" #: include/php_setup.inc:70 msgid "function" msgstr "funzione" #: include/php_setup.inc:76 msgid "static" msgstr "statico" #: include/php_setup.inc:80 msgid "method" msgstr "metodo" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Traccia" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argomenti" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "La creazione di questa pagina, secondo l'interprete PHP, ha generato degli errori ! " #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Invia i tuoi commenti a proposito di un bug al Team di FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Invia un rapporto di bug" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Mostra/Nascondi l'informazione" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Avvertimento sul rendimento" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "Il rendimento del tuo annuario LDAP è scarso: l'ultima richiesta è durata %.2fs !" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "Impossibile creare automaticamente delle sottostrutture con RDN \"%s\": alcun class object trovato!" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "Impossibile creare automaticamente delle sottostrutture con RDN \"%s\": non supportato" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "durante l'operazione su '%s' usando il server LDAP '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "durante l'operazione sul server LDAP %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "proc_open non é riuscito ad eseguire la ricerca LDAP" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "Errore alla Linea %s, la prima riga di una voce non puo'iniziare con uno spazio " #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "Errore alla linea %s, i riferimenti ad un file esterno non sono supportati" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "Errore alla linea %s, l'attribution \"%s\" non ha alcun valore" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "Errore alla linea %s, un blocco d'ingresso puo'avere solo un dn" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "Errore alla linea %s, un blocco d'ingresso dovrebbe iniziare con il dn" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "Errore durante l'importazione del dn: \"%s\", verifica il tuo file LDIF a partire dalla linea %s" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Seleziona le entries desiderate" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nome" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descrizione" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "Gruppo POSIX %s" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Ruolo %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Raggruppa %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Gruppo di utenti" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Nessuno" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Sconosciuto" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Modifica" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Elimina" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Non è stata trovata nessuna estensione per inizializzare '%s', verifica il file di configurazione." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "La cancellazione è stata interrotta dall'estensione '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "Passare da \"%s\" a \"%s\" non riuscito" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "secondi" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minuti" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "ore" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "giorni" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Modello" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "Modello %s" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Mostra %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "Nessuna etichetta" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "Impostazioni del template" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Questo è il nome del template" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "Solo la scheda principale puo' calcolare il dn" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "Non puo' calcolare il dn: nessuna scheda di classe parente per \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "Impossibile calcolare il dn: impossibile trovare le informazioni di objectType in questa classe scheda \"%s\"" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Errore durante il salvataggio" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "C'é già un'altra entry con il medesimo dn: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "La voce %s non esiste" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "L'oggetto é cambiato dopo l'apertura in FusionDurectory. Tutte le modifiche che possono essere state fatte da altri andranno perse se si salva questa voce !" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "Campo \"%s\" sconosciuto" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (necessario)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Base dell'oggetto" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "Il valore \"%s\" per il campo \"%s\" non si trova nella lista delle scelte possibili" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Impossibile leggere il file importato : %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "il file è vuoto" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "Il file non è stato trovato" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "Il file non puó essere letto" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d bytes)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Caricare" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Scarica" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "Impossibile salvare la foto dell'utente, Fusiondirectory necessita che il modulo PHP \"imagick\" sia installato " #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "Il valore del campo \"%s\" multivalutato non é un array" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Valore non valido per %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "Errore, la data non é corretta: %s" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Un numero intero compreso tra %d e %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Un numero intero più grande di %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Un numero intero più piccolo di %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Un numero con la virgola compreso tra %f e %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Un numero con la virgola più grande di %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Un numero con la virgola più piccolo di %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "C'é stato un problema nella decompressione dei dati di snapshot" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "La dipendenza riccorsiva nei campi di modello: \"%1$s\" non puo' dipendere da \"%2$s\" dato che \"%2$s\" dipende già da \"%1$s\"" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Tab \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gestire le liste di controllo degli accessi" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Ruoli ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "Tipo '%s'! ACL sconosciuto! Potrebbe seere necessario eseguire \"fusiondirectory-impostazione --migrare-acls\" per migrare gli ACL verso un nuovo formato." #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Voce '%s' sconosciuta !" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Tutti gli utenti" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "La cartella '%s' dichiarata come cartella di compilazione è inaccessibile !" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "Attenzione: la sessione non é crittografata!" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "Attenzione: la durata della sessione configurata nel fusiondirectory.conf verrà sostituita dalle impostazioni di php.ini." #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "La configurazione %s/%s di FusionDirectory non è leggibile. Esegui fusiondirectory-setup --check-config per risolvere questo problema." #: html/index.php:171 msgid "Smarty error" msgstr "Errore Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "Il directory \"%s\" specificato come directory di compilazione non é accessibile!" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "La tua sessione in FusionDirectory è scaduta!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "Il tuo IP è stato cambiato!" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "Parametro \"%s\" di plugin invalido" #: html/index.php:217 msgid "No session found!" msgstr "Nessuna sessione trovata!" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "Lo schema LDAP verifica gli errori riportati:" #: html/index.php:255 msgid "LDAP schema error" msgstr "Errore di schema LDAP" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Prego specifica un nome utente valido !" #: html/index.php:285 msgid "Please specify your password!" msgstr "Prego specifica la tua password !" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Verifica il nome utente e la password." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Conto bloccato. Contatta l'amministratore del sistema!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "Nessun valore trovato nell'header HTTP \"%s\"" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "L'utente header \"%s\" non è stato trovato nel LDAP" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "L'utente header \"%s\" corrisponde a più utenti in LDAP" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "Impossibile trovare l'utente \"%s\" CAS nell'annuario LDAP" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "L'utente CAS \"%s\" corrisponde a più utenti nell'annuario LDAP" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Il tuo navigatore web ha i cookies disattivati. Attiva i cookies e ricarica la pagina prima di connetterti !" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Il file di configurazione %s/%s non è leggibile. Operazione Annullata." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Indirizzo di posta elettronica" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "Alcun account trovato con login \"%s\" " #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "Trovati più accounts con login \"%s\"" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "Non c'è nessun account che usa l'indirizzo mail %s" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "Ci sono più account che usano l'indirizzo mail %s" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "L'utente che usa la mail \"%s\" é bloccato. Si prega di contattare l'amministratore di sistema." #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contattare l'amministratore, c'è stato un problema con il server di posta elettronica" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Questo token non è valido" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Si è verificato un problema con il server mail, la email di conferma non è stata inviata" #: html/main.php:115 msgid "PHP configuration" msgstr "Configurazione PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Errore fatale: Register globals è attivato. FusionDirectory rifiuterà ogni accesso utente finchè questo errore non sarà corretto da un amministratore." #: html/main.php:142 msgid "Password change" msgstr "Modifica della password" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "La tua password sta per scadere, per favore cambiala !" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "La tua password é scaduta, per favore impostarne una nuova." #: html/main.php:208 msgid "Running out of memory!" msgstr "Fine della memoria disponibile !" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Le verifiche ACL dell'utente sono state disattivate" #: html/main.php:289 msgid "Plugin" msgstr "Estensione" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Errore fatale: Impossibile trovare alcuna definizione per il plugin '%s' ('%s' non è un file)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Errore di configurazione" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Errore fatale: non tutte le variabili POST sono state trasferite da PHP - per favore informane l'amministratore!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Benvenuto %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Riferimenti" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Modifica le impostazioni POSIX dell'utente" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Home directory" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Il path verso la cartella personale di questo utente" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Quale shell dovrà essere usata quando l'utente sarà connesso" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Gruppo primario" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Gruppo primario per questo utente" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Stato di questo account utente unix" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Forza l'id utente/gruppo" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Forza valori ID utente e ID gruppo per questo utente" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "Utente" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Valore utente per questo utente" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "numero del Gruppo" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Valore del numero del gruppo per questo utente" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Gruppi di appartenenza" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Account" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "L'utente dovrà cambiare la password alla prima connessione" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "L'utente deve cambiare password al primo login (serve un valore di ritardo prima di forzare il cambio password)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "Lasso di tempo minimo tra le modifiche delle password (giorni)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "L'utente non sarà in grado di cambiare la propria password prima di questo numero di giorni (lasciare vuoto per disabilitare)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Richiamo prima dell'obbligo di modifica della password (giorni)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "L'utente sarà obbligato di cambiare la sua password dopo questo numero di giorni (lasciare vuoto per disabilitare)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Data di scadenza della password" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Data dopo la quale questa password utente scadrà (lasciare vuoto per disabilitare)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Periodo di inattività prima della disattivazione dell'account utente (giorni)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Ritardo massimo di inattività dopo la scadenza della password prima che l'utente venga disabilitato (lasciare vuoto per disabilitare)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Richiamo per l'utente prima che la password scada (giorni)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "L'utente sarà avvertito questo numero di giorni prima della scadenza della sua password (lasciare vuoto per disabilitare)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Sistema di fiducia" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modalità di fiducia" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Tipo di autorizzazione per questi host" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "disattivato" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "accesso completo" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "autorizza l'accesso a questi host" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Consenti all'utente di connettersi solo a questo elenco di host" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatico" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "Scaduto" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Il tempo di grazia è attivo" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "Attivo" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "Password scaduta" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "Password non modificabile" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Il tempo d'attesa per il blocco è scaduto. Blocco ignorato !" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Gruppo di utenti %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Gruppi e ruoli" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "Modifica gruppi e ruoli degli utenti" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Gruppi di appartenenza" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Ruoli di appartenenza" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Algoritmo di memorizzazione delle password" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Algoritmo da usare per la password" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Password" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Password (lasciare vuoto se non si desidera cambiarla)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Ripeti password" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Stessa password come sopra, per evitare errori" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Utente" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Informazioni account utente" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Account utente" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Informazioni personali" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Cognome" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Cognome utente" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Nome" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Nme utente" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Breve descrizione dell'utente" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Foto" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "Avatar di questo utente" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Informazioni di contatto organizzativo" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Località" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Regione" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Indirizzo" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Indirizzo postale ufficio" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Stanza No." #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Numero dell'ufficio" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefono" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Telefono ufficio" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Cellulare" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Telefono cellulare professionale" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Cercapersone" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Numero pager ufficio" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Numero fax ufficio" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Home Page" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Pagina Web personale" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Informazioni account utente" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Login utente" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Password dell'utente" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Informazioni personali utente" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Mostra il nome" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "Nome col quale questo utente dovrebbe apparire. Usato da Exchange." #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Indirizzo di casa" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Indirizzo postale di casa" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Numero di telefono privato" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Numero di telefono di casa" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Informazioni organizzazione" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Titolo" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "Titolo di una persona nel proprio contesto organizzativo. Ogni titolo è una valore di questo attributo multivalore" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organizzazione" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Dipartimento" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "Dipartimento al quale appartiene l'utente" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Dipartimento No." #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Numero del dipartimento" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Matricola No." #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Matricola dell'impiegato" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Qualifica" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Manager" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "Impossibile trovare %s nell'annuario LDAP" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Non le é permesso cambiare la propria password" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Devi attendere %d secondi prima di cambiare di nuovo la password" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "La password si trova nella cronologia delle vecchie password" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "La password non è stata cambiata dal valore esistente" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Devi specificare la tua 'Password attuale' per procedere." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "Le password che hai inserito come \" Nuova password \" e \"Ripeti nuova password\" non corrispondono." #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Imposta la nuova password" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "La password che hai definito come 'Nuova password' è troppo simile a quella attuale." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "La 'Nuova password' immessa è troppo corta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "La password contiene caratteri Unicode eventualmente problematici!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Statistiche sugli utenti" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Statistiche utenti" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Gruppi di statistiche" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Account scaduti" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Dashboard" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "Statistiche e informazioni varie" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Reporting" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Statistiche" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "Passwords" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "Statistiche sulle passwords" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "Statistiche passwords" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Recupero della password" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Gestione delle impostazioni per il recupero della password" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Impostazioni per il recupero della password" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Attivare il recupero della password" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Sia che si attivi o no la funzione di recupero password" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Indirizzo email del mittente" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Indirizzo e-mail da cui la mail sarà inviata" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Durata del link (minuti)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Numero di minuti prima che il link di recupero scada" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Stringa aleatoria per il tokens" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Solo una misura di sicurezza, potete mettere qualsiasi cosa dentro, anche dei caratteri casuali" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Consentire l'uso di indirizzi alternativi" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Gli utenti possono usare uno dei loro indirizzi email alternativi per il recupero della loro password" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Prima email" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Oggetto" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Soggetto della prima email" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] link verso il recupero della password" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Corpo del messaggio (il primo %s è il login, il secondo è il link)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Corpo del messaggio della prima email, inviata quando l'utente chiede una nuova password. %s è usato per il login utente e il link di recupero." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "Buongiorno,\n\necco le votre informazioni:\n- Login : %s\n\n- Link : %s\n\n\nQuesto link é valido solo per 10 minuti." #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Seconda email" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Soggetto della seconda email" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Il recupero della password è stato eseguito con successo" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Corpo del messaggio (%s è il login utente)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Corpo del messaggio della seconda email, inviata per confermare la modifica della password. %s è usato per il login dell'utente." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Salve,\n\nLa tua password è stata modificata.\nIl tuo login è sempre %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configurazione" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Configurazione di FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "Schermo di configirazione di FusionDirectory" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Temi e apparenze" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Lingua" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Linguaggio dell'applicazione. Se 'automatico' oppure non disponibile, verrà usato quello richiesto dal browser. Questa impostazione puó essere ridefinita per utente." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Tema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Tema da usare" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Fuso orario" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Fuso orario da usare" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Impostazione schema" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "Convalida dello schema" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Attivare la validazione degli schemi alla connessione" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Impostazioni per la password" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Algoritmo di memorizzazione delle password" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Algoritmo di default da usare" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Forza l'algoritmo di default" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Forza l'uso dell'algoritmo di default per le password" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Lunghezza minima per le password" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Lunghezza minima per le password utente" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Differenze minime della password" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Numero minimo di caratteri diversi rispetto alla vecchia password" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Utilizza una scadenza per l'account" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Attiva gli attributi di test della password durante la connessione a FusionDirectory e forza il rinnovo della password oppure blocca l'account" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "SASL Realm" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "SASL Exop" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Attributo da salvare nell'attributo userPassword" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Impostazioni di base" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Mostra il riepilogo negli elenchi" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Determina se una barra di stato verrà visualizzata nella parte inferiore delle liste, visualizzando una breve sintesi del tipo e del numero di elementi nella lista." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Blocco modifica" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Controlla se una voce attualmente in fase di modifica è stata modificata al di fuori di FusionDirectory nel frattempo." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Attiva il debugging" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Log degli eventi dal lato di FusionDirectory." #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "Dimensione massima dell'annuario LDAP" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Definisce il numero di voci ottenibili da LDAP come impostazione predefinita." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Connessione e sessione" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Attributo di connessione" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Quale attributo LDAP deve essere utilizzato come nome di login durante il login." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forza le connessioni criptate" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Abilita i controlli di sicurezza PHP per forzare l'accesso cifrato (https) verso l'interfaccia web." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Mostra un avvertimento quando la sessione non è criptata" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "verrà visualizzato un avvertimento all'utente quando si utilizza http invece di https." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Durata di vita della sessione" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "Definisce, in secondi, quando una sessione scade (0 per disabilitare)" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "Autentificazione HTTP Basic" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "Usa protocollo di autenticazione HTTP Basic anziché il modulo di login." #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "Autenticazione HTTP Header" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "Utilizzare l'autenticazione HTTP Header anziché il modulo di login." #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "Nome intestazione" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "Nome dell'header contenente identificativo utente." #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Attiva le copie istantanee" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Questo abilita la possibilità di salvare alcuni stati delle entrate per poterle in seguito restaurare" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base per le copie istantanee" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "La base dove gli snapshot saranno immagazzinati nell'annuario LDAP." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Percorso della chiave" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "Percorso a chiave privata FusionDirectory . Inutilizzato per ora." #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Percorso del Certificato" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "Percorso al certificato di FusionDirectory; Inutilizzato per ora." #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "Percorso del certificato CA" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "Percorso al certificato CA. Usato per convalidare l'host del Server Argonaut." #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "CAS" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "Abilita CAS" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "IL Login CAS verrà usato al posto del bind LDAP" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "Percorso del file contenente il certificato CA sul server CAS" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Host" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "Host del server CAS" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Porta" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "Porta sulla quale il server CAS è all'ascolto" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "Contesto CAS" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "Contesto CAS da utilizzare" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Ramo dell'annuario dove sono immagazzinate le informazioni sugli utenti e i gruppi" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Tipo di attributo DN degli utenti" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Attributo da usare all'inizio del dn degli utenti" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "Modello CN" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "Modello da usare per costruire il nome comune del campo" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Regola di denominazione rigorosa" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Consente il controllo rigoroso di nomi utente e di gruppo" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "Gruppo/utente minimo ID" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "Il minimo utente o grupp ID assegnabile per evitare perdite di sicurezza con iaccount ID 0." #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Id hook successivo" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Script da nominare per trovare il prossimo numero ID libero per gli utenti o i gruppi." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Numero base per questo ID utente" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Dove cominciare a cercare un nuovo id libero per un utente." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Numero base per questo id gruppo" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Dove cominciare a cercare un nuovo id libero per un gruppo ." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "RDN utenti" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "Ramo nel quale gli utenti sono immagazzinati" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "RDN gruppi" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Il ramo nel quale i gruppi saranno immagazzinati." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "Ruolo ACL RDN" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "Ramo nel quale i ruoli ACL sono immagazzinati" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Metodo di assegnazione Id" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Metodo per allocare utente / gruppo id" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Tradizionale" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Id del pool di Samba unix" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "Minimo pool id dell'utente" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "Valore minimo di un id utente quando si utilizza il metodo pool" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "Id utente pool max" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "Valore massimo di un id utente quando si utilizza il metodo pool" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "Id utente pool min" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "Valore minimo di un id gruppo quando si utilizza il metodo pool" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "Id gruppo pool min" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "Valore massimo di un id gruppo quando si utilizza il metodo pool" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "Limitare i membri del ruolo" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "Quando è abilitato solo gli utenti dello stesso ramo o membri di gruppi dello stesso ramo possono essere aggiunti ad un ruolo." #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Debugging" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Mostra gli errori" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Mosta gli errori PHP nella parte alta della schermata. Questo dovrebbe essere disabilitato nelle installazioni di produzione, a causa di possibili password che potrebbero passare in chiaro." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Durata massima di una richiesta LDAP" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Interrompi le azioni LDAP se non ci sono risposte nel tempo limite impartito in secondi." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Inserisci le statistiche dell'annuario LDAP nel giornale di sistema" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Invia le statistiche di timing LDAP al syslog. Questo può aiutare a trovare i problemi di indicizzazione o i filtri di ricerca erronei." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Livello per il debug" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Mostra alcune informazioni su ogni caricamento della pagina." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Altro" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "Hooks che sarà chiamato quando un'azione specificasi verifica" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "tab" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "Il tab concernente questo hook" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Modalità" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Quando chiamare questo comando" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "comando" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Il comando che sarà chiamato" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Connessioni" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "Mostra hook di uscita" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "Quando l'esecuzione dell'hook é abilitata con successo il risultato é mostrato all'utente tramite una finestra di dialogo." #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Shell disponibili" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Shell POSIX disponibili per gli utenti FD" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "Shell di default" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "Shell utilizzato per impostazione predefinita durante l'attivazione scheda Unix." #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "Mostra tab ACL su tutti gli oggetti" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "Per l'impostazione di diritti ACL molto specifici potreste aver bisogno di dare accesso ad un singolo oggetto." #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "Categorie di reparto disponibili" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "Categorie disponibili nel menu a discesa" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Configurazione dei plugins" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Configurazione plugins" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "Configurazione dei plugins di FusionDirectory" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Gruppi di oggetti" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "OGroup RDN" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Ramo nel quale i gruppi di oggetti saranno salvati" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "Obbligare a chiedere la password" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "Utile se si aggiunge un gancio con valore di password quando le password degli utenti SASL vengono modificate" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Configurazione dashboard" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "Configurazione del plugin dashbord di FusionDirectory" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Schema nome dashbord" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Numero di cifre" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "NUmero di cifre da usare dopo il prefisso" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Prefissi" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Prefissi da usare per gli Id del computer" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Utenti dashbord scaduti" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Numero di giorni" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "Numero di giorni prima della scadenza necessari per un account per mostrare nel dashboard la prossima scadenza degli account" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Dipartimenti" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "dipartimento" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Proprietà" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Nome dell' %s " #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Nome unico per questo %s " #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Breve descrizione di questo %s " #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categoria" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Categoria di questo %s " #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "Sito Web" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "Sito Web di questo %s" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Responsabile di questo %s " #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Stato" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Indirizzo postale di questo %s " #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Numero di telefono" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Facsimile di numero di telefono" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "Organizzazione" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Dominio" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "Dominio" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Gestisci i dipartimenti" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "Gestire i reparti, i paesi, i componenti di dominio, i domini, le località e le note di organizzazione," #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Utenti e gruppi" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Oggetto di Dominio" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "Oggetto di dominio" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Nome della località" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "Località" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Elenco dei dipartimenti" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "Paese" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Gestisci gli utenti" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "Gestire gli account utente e le loro proprietà" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Blocco dell'account" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "La metodologia password \"%s\" non sopporta il blocco. L'account \"%s\" non é stato bloccato!" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Sblocca l'account" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Blocca l'account" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Elenco degli utenti" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Cognome" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Nome" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Blocca gli utenti" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Sblocca gli utenti" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Applica il modello" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Nuovo utente a partire dal modello" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Modifica utente" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Elimina utente" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Ruolo" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Informazioni sul ruolo" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Ruolo organizzativo" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informazione" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Nome del gruppo" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Descrizione del ruolo" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Numero di telefono" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Numero di Fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "Membri del ruolo" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Aggiungi degli utenti per il ruolo" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Gestione dei gruppi e dei ruoli" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "Vi permette di gestire gruppi di oggetti, gruppi e ruoli POSIX" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Modifica le proprietà del ruolo" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Modifica le proprietà posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Mostra i gruppi di utenti" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Mostra i gruppi principali" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Mostra i ruoli organizzativi" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Mostra i gruppi di applicazioni" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "Mostra gruppi non identificati" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Mostra i gruppi di posta elettronica" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Mostra i gruppi samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "Mostra voci DSA" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Mostra i gruppi di servers" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Mostra i gruppi di workstations" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Mostra i gruppi" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Mostra i gruppi di terminali" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Mostra i gruppi di stampanti" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Mostra i gruppi di telefoni" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Tipo sconosciuto : %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "Non esiste il dn: %s" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Gruppo di oggetti" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Informazioni gruppo di oggetti" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Gruppo" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Breve descrizione del gruppo" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Oggetti membri" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Oggetti membro di questo gruppo" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Consenti all'utente di connettersi solo a questo elenco di host " #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "Non é consentito mettre workstations e terminali nello stesso gruppo" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Elenco dei gruppi" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Informazioni gruppo POSIX" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "Gruppo POSIX" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "Gruppo utenti POSIX" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forza il GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Forzare il valore GID per questo gruppo" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "Valore GID per questo gruppo" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Membri del gruppo" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "Creazione assegnazione ACL" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "Crea assegnazione ACL su un dn arbitrario" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "Dn" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "DN per il quale si desiderano aggiungere assegnazioni" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "Impossibile trovare il dn che avete inserito nell'LDAP" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Assegnazioni ACL" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "Gestione delle assagnazioni ACL" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "Gestione delle assegnazioni dei ruoli ACL per gli utenti" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Gestione delle ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "Assegnazione Dialog ACL" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Gestione della lista di controllo degli accessi" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modalità" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "Si applica ad una sottostruttura completa oppure soltanto alla base?" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Sottostruttura" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Base" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Ruolo da applicare" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Per tutti gli utenti" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Applica questo ACL a tutti gli utenti LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Membri" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Utenti o gruppi a cui assegnare questo ruolo" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr ", e %d altri" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Assegnazioni ACL" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Gestione della lista di controllo degli accessi" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Assegnazioni" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Assegnazioni ACL per questa base" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Assegnazioni su un ogetto o sottostruttura %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Nessuna ACL per questa categoria" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL per questi oggetti: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Modifica la categoria di ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Resetta la categoria di ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Elenco delle categorie di ACL disponibili" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Tutti gli oggetti nell'attuale sottostruttura" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "Modifica ACL per \"%s\"" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "lettura" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "scrittura" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Mostra/Nascondi le opzioni avanzate" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Creare degli oggetti" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Sposta degli oggetti" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Elimina degli oggetti" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Concedere l'autorizzazione al proprietario" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "L'oggetto al completo" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Gestione dei ruoli ACL" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "Gestire i ruoli ACL" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Contiene i parametri per questi oggetti: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Ruoli di controllo d'accesso" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Ruolo ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Nome unico per questo ruolo" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Breve descrizione di questo ruolo" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "ACL" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACL appartenenti a questo gruppo" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "Fusiondirectory NON funzionerà prima di aver corretto questo." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "Fusiondirectory funzionerà anche senza aver corretto questo." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Crea un nuovo account amministratore di FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Questa finestra ti permette di aggiungere automaticamente un super-amministratore al tuo albero LDAP." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID dell'utente" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Password (ripeti)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Sembra che sia la prima volta che avvii FusionDirectory - per il momento non trovo nessun file di configurazione. Questo assistente ti potrà aiutare durante la fase di configurazione." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Cosa farà per te il il programma d'assistenza ?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Crea una semplice configurazione mono sito" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Prova a vedere se ci sono dei problemi nella configurazione di PHP o di LDAP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Puoi scegliere tra le opzioni di base o quelle avanzate " #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Migrazione assistita di un annuario LDAP esistente" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Cosa l'assistente non farà per te ?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Trovare ogni possibile errore di configurazione" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migra ogni possibile configurazione LDAP - fai delle copie !" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Per continuare:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "Per motivi di sicurezza é necessario autenticarsi per l' installazione creando il file ' % 1 ', contenente l'ID di sessione corrente sui server filesystem locale. Questo può essere fatto eseguendo il comando seguente :" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Premi il bottone 'Continua' quando avrai finito." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Aggiungi la classe di oggetto richiesta alla base LDAP" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Attuale" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Dopo la migrazione" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Chiuso" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "Questa finestra di dialogo consente di spostare un paio di voci nell'albero configurato. In questo modo si può raddrizzare il servizio LDAP ." #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "Fate attenzione con questa opzione! Ci possono essere riferimenti che puntano a queste voci . Il setup di FusionDirectory non puo' migrare i riferimenti, di conseguenza potreste voler annullare la migrazione in questo caso." #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Sposta gli utenti selezionati in questo ramo" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "Le voci listate sono al momento invisibili nell'interfaccia di FusionDirectory. Se desiderate cambiare questo solo per un paio di voci, selezionatele e usate il tasto \"Migrare\" qui di seguito." #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Se vuoi sapere cosa sarà fatto quando migrerai le \"entries\" selezionate, usa il bottone \"Mostra i cambiamenti\" qui sotto, per vedere il file LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Mostra le modifiche" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Durante l'ispezione LDAP, analizzeremo i problemi classici che possono sopraggiungere durante la migrazione verso un sistema d'amministratione basato su FusionDirectory. Potrai correggere i seguenti errori al fine di procurarti una facile amministrazione del sistema." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Verifica di nuovo" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Crea il file di configurazione" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "Eseguire %1 per mettere le giuste autorizzazioni su fusiondirectory.conf " #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Scarica il file di configurazione" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Stato :" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtro" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Password dimenticata" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "Le informazioni per resettare la password di %1 sono stati inviati all'indirizzo di posta elettronica %2" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "Attenzione: questa e-mail é valida soltanto per %1 minuti." #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Questa finestra di dialogo fornisce un modo semplice per cambiare la tua password. Immetti la nuova password (due volte) nei campi sottostanti e premi il pulsante 'Modifica'." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Cartella" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Ripeti la nuova password" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Livello di sicurezza della password" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Modifica" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Premi qui per cambiare la tua password." #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Completato" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "La tua password è stata modificata." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Inserisci il tuo indirizzo mail nel campo sottostante e premi il pulsante 'Modifica'" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "=> Usa la tua e-mail nel formato lungo, per es.: John Doe => john.doe@example.com" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Indirizzo di posta elettronica" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Il recupero della password non è attivato. Se hai perso la tua password, contatta il tuo amministratore di rete." #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Schermata di connessione" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Usa il tuo nome utente e la tua password per accedere all'amministrazione del sistema." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nome utente" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Ho dimenticato la mia password" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Entra" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Clicca qui per connetterti" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "L'opzione \"dimensione massima\" rende les operationi LDAP più veloci e permette di alleggerire il carico di lavoro del server LDAP. La maniera più semplice di gestire enormi basi di dati senza avere lunghi tempi d'attesa è quella di limitare la ricerca a dei piccoli valori e di utilizzare i filtri per ottenere i valori ricercati." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Scegli il modo di reagire per questa sessione" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignora questo errore e mostra tutte le voci restituite dal server LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignora questo errore e mostra tutte le voci che rientrano nel sizelimit definito e lasciami invece utilizzare i filtri per limitare i dati da visualizzare " #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Attiva" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "Attenzione! Stai per cancellare i seguenti oggetti" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Assicurati che vuoi davvero eseguire l'azione visto che poi sarà impossibile per FusionDirectory recuperare i tuoi dati." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Quindi - se sei sicuro - premi 'Rimuovi' per continuare oppure 'Annulla' per interrompere." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Principale" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Termina la sessione" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Connesso:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "La sessione termina a %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "Attenzione! Stai per cancellare i seguenti oggetti" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "Qualsiasi modifica apportata all'oggetto da questa istantanea sarà persa." #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "Quindi - se sei sicuro - premi 'Continua' per continuare oppure 'Annulla' per interrompere." #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continua" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Rilevato un conflitto di chiusura" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "\"%1\" é stato bloccato da \"%2\" dalle %3" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "Se questo conflitto di chiusura è falso, un'altra persona potrebbe aver chiuso il navigatore web durante un'operazione di inserimento dati. In questo caso puoi togliere il blocco premendo il tasto \"%1\"." #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Solo lettura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "Questo puo' essere utilizzato da diversi gruppi. Si prega di controllare due volte se si vuole veramente fare questo in quanto non vi è alcun modo per FusionDirectory per ottenere di nuovo i vostri dati." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Guida per il copia & incolla" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Alcuni valori devono essere univoci nella directory completa, mentre alcune combinazioni non hanno senso. FusionDirectory mostra i valori corrispondenti. Mantieni i valori qui sotto per soddisfare i criteri di sicurezza." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Ricorda che certe propietà, come fare una 'copia instantanea', non saranno copiate!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Oppure se copi o tagli una voce con FusionDirectory e poi ne cancelli l'origine, potrai incorrere in errori tentando di incollarla di nuovo!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operazione eseguita" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "Crea un nuovo oggetto usando i modelli" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL attribuita alla voce attuale" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nuova ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "ACL Tipo" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Seleziona un tipo di ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Opzioni supplementari per il filtro" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Utilizza il membro da" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Membri disponibli" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Elenca i destinatari possibili per i messaggi" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Elenca i destinatari del messaggio" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL per questo oggetto" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Ruoli disponibili" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Il team di FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "< strong> % 1 < / strong> referenze < strong> % 3 < / strong>" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "%1 referenze nostro campo %3 dalla scheda %2" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Questo oggetto non ha relazioni con altri oggetti." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Impostazioni dell'utente" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Rimuovi la password" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Imposta la nuova password" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Foto personale" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Foto personale" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Elimina foto" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Non hai il permesso di cambiare la tua password in questo momento." #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "L'algoritmo della tua password non puó essere cambiato !" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Hai cambiato con successo la tua password. Ricorda di modificare tutti i programmmi configurati per usarla." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "C'é 1 gruppo:" msgstr[1] "Ci sono %1 gruppi:" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "Uno di essi é un gruppo %1 " msgstr[1] "%2 sono %1 gruppi" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "Non c'é alcun gruppo %1" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "C'é un utente" msgstr[1] "Ci sono %1 utenti:" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "Uno di essi ha un account %1" msgstr[1] "%2 di essi hanno %1 account" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Nessuno di essi ha %1 di account" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "Uno di essi usa il metodo %1" msgstr[1] "%2 di essi usa il metodo %1" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "L'1% di essi sono bloccati" msgstr[1] "L'1% di essi sono bloccati" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Nessuno di loro è bloccato" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "C'é un account scaduto" msgstr[1] "Ci sono %1 di accounts scaduti" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Non ci sono account scaduti" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "Responsabile interessato" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "Numero di telefono" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "Data di scadenza della password" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "Responsabile" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "mail" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "C'é un account in scadenza nei prossimi 1% giorni " msgstr[1] "Ci sono %2 di accounts in scadenza nei prossimi 1% giorni " #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "Non c'é alcun account in scadenza nei prossimi %1 giorni" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Prossimi account che scadranno" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Mostra i modelli" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Mostra gli utenti funzionali" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Mostra gli utenti POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Mostra gli utenti di posta elettronica" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Mostra gli utenti di Samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "Attenzione: si sta per cancellare le assegnazioni ACL sui seguenti oggetti" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "Cio' include tutte le assegnazioni ACL fatte su questo nodo(i). Se si desidera l'elenco delle assegnazioni, si prega di annullare e aprire l'oggetto." #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "Premi \"Rimuovi\" per continuare oppure \"Annulla\" per interrompere" fusiondirectory-1.0.19/locale/lv/000077500000000000000000000000001304016502700167105ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/lv/fusiondirectory.po000066400000000000000000004007261304016502700225110ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Latvian (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP kļūda" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Brīdinājums" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Izveidot" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Lietotāji" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Kļūda" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Iekšējā kļūda" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Atļauja" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Darbības" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "Veids" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Vārds " #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Apraksts" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Labot" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Noņemt" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "E-pasta adrese" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Uzvārds" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Vārds" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Atrašanās vieta" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Valsts" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adrese" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Tālrunis" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobilais" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Peidžeris" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fakss" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Mājas pasta adrese" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Mājas tālruņa numurs" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Nosaukums" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organizācija" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Nodaļa" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Valsts" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Tālruņa numurs" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Uzvārds" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Vārds" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informācija" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Faksa numurs" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Biedri" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Lietotāja ID" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtrs" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "E-pasts" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Ja esat pārliecināts, spiediet \"izdzēst\", lai turpinātu, vai \"Atcelt\", lai pārtrauktu. " #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/nb/000077500000000000000000000000001304016502700166665ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/nb/fusiondirectory.po000066400000000000000000003777301304016502700224770ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Norwegian Bokmål (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Feil" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP-feil" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Opprett" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Feil" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Navn" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Beskrivelse" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Endre" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Fjern" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Bruker" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Vert" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Egenskaper" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Etternavn" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filter" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/nl/000077500000000000000000000000001304016502700167005ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/nl/fusiondirectory.po000066400000000000000000004503711304016502700225020ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Dutch (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Gewenste taal" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Taal setup" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Deze stap laat je toe om je gewenste taal te kiezen." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatisch" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "PHP module en extensie verificaties" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Installatie verificatie" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Standaard verificatie voor PHP compatibiliteit en extensies" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "PHP versie word geverifiëerd" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP moet versie %s zijn of meer" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Upgrade aub naar de gesupporteerde versie." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory heeft deze module nodige om te kunnen communiceren met de LDAP server." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory heeft deze module nodig voor een internationale inferface." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory heeft deze module nodig om te kunnen communiceren met verschillende types van servers en protocollen." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory heeft deze module nodig voor samba integratie." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory heeft of de 'mhash' of de 'sha1' module nodig om gebruik te maken van SSHA encryptie." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory heeft deze module nodig om met de IMAP server te kunnen communiceren." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory heeft deze module nodig om unicode strings te kunnen behandelen." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory heeft deze extensie nodig om afbeeldingen te kunnen bewerken." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "compressie module" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory heeft deze extensie nodig om snapshots te kunnen behandelen." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals is een PHP mechanisme om alle globale variabelen te registreren en toegankelijk te maken vanuit scripts zonder de scope te moeten aanpassen. Dit kan een veiligheidsrisico vormen. " #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Zoek voor 'register_globals' in je php.ini en schakel het 'uit'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP gebruikt deze waarde voor de vuilbak verzamelaar en om oude sessies te verwijderen." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Deze waarde naar 1 dag plaatsen kan het verliezen van de sessies en cookiesdoor timeout voorkomen." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Zoek voor 'session.gc_maxlifetime' in je php.ini en plaats het naar 86400 of hoger." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Uit" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Om FusionDirectory zonder problemen te kunnen gebruiken, de moet je de session.auto_start optie in je php.ini naar 'Off' wijzigen." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Zoek naar 'session.auto_start' in je php.ini en zet de waarde naar 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory heeft tenminste 128MB geheugen nodig. Het lager dan deze limiet plaatsen kan errors veroorzaken die niet hergeproduceerd kunnen worden! Vergroot deze waarde voor grotere installaties." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Zoek voor 'memory_limit' in je php.ini en plaats het naar '128M' of hoger." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Deze optie beinvloed de PHP output handling. Zet deze optie uit, om performantie te verhogen." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Zoek naar 'implicit_flush' in je php.ini and zet de waarde 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "De uitvoertijd zou minstens 30 seconden moeten zijn." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Zoek naar 'max_execution_time' in je php.ini en zet het naar '30' of hoger." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Verhoog de veiligheid van de server door de optie expose_php naar 'off' te plaatsen. PHP zal geen informatie over de server die je draait verzenden als je dit doet." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Zoek naar 'expose_php' in je php.ini en zet het naar 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Verhoog je server performantie door de optie magic_quotes_gpc naar 'off' te plaatsen." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Zoek naar 'zend.ze1_compatibility_mode' in je php.ini en plaats het naar 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Welkom" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Welkom bij de FusionDirectory setup wizard" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Het welkomstbericht" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migratie" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "LDAP inspectie" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analyseer je huidige LDAP voor FusionDirectory compatibiliteit" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Inspectie van de object classes in root object" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Rechten aan het nakijken voor de LDAP databank" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Verificatie voor onzichtbare gebruikers" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Verificatie voor super administrator" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Verificatie voor gebruikers buiten de people tree" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Verificatie voor groepen buiten de groups tree" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Verificatie voor onzichtbare departementen" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Verificatie voor duplicate UID nummers" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "LDAP query faalde" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Mislukt" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Ontbrekende FusionDirectory object class '%s'!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Kijk je installatie na aub." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Kan het structurele object type van je root object niet gebruiken. Probeer de object class '%s' manueel toe te voegen." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP fout" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Waarschuwing" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "%s gebruiker(s) gevonden die niet zichtbaar zijn in FusionDirectory of die incompleet zijn." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Migratie error" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Aanmaken" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Gebruikers" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Groepen" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Er is geen FusionDirectory administrator account in je LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Fout" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Verplaats gebruikers in deze geconfigureerde user tree" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "naar" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "De volgende referenties zullen upgedate worden" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Vond %s groepen buiten de geconfigureerde tree '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Vond %s departement(en) die niet zichtbaar zullen zijn in FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Naam van de locatie" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "Connectie URI" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "TLS connectie" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Basis" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Authentificatie" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "Beheerders DN" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Beheerders wachtwoord" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Status" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Huidige status" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "LDAP setup" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "LDAP connectie setup" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Deze dialoog zorgt voor de basis configuratie van de LDAP connectiviteit voor FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Anonieme bind naar server '%s' is mislukt! " #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Bind als gebruiker '%s' is mislukt!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Opnieuw proberen" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Anonieme bind naar server '%s' is succesvol." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Ververs" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Specifieer aub een gebruikersnaam en paswoord!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Bind als gebruiker '%s' naar server '%s' is succesvol!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Opslaan" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Voltooid - schrijf configuratie bestand" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Schrijf configuratie bestand" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Je configuratie bestand is momenteel wereldleesbaar. Update aub de bestandsrechten!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "De configuratie is momenteel niet leesbaar of bestaat niet." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Na het downloaden en plaatsen van het bestand onder %s, verifieer aub dat de gebruiker die de webserver draait de mogelijkheid heeft om %s te lezen, terwijl andere gebruikers dit niet kunnen." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Setup error" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Voltooid" #: setup/class_setup.inc:248 msgid "Next" msgstr "Volgende" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Interne fout" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Logging faalde: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Gespecifieerd objectType is leeg of ongeldig!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "niet geconfigureerd" #: include/class_management.inc:165 msgid "Filter error" msgstr "Filter fout" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Deze filter is niet compleet!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Rechten" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Permissiefout" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "U heeft geen toestemming om een snapshot te maken voor %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "U heeft geen toestemming om een snapshot te herstellen voor %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Geen tab declaratie voor '%s' gevonden in je configuratie bestand. Kan plugin instantie niet aanmaken!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Basis" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Verwerk" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Omhoog" #: include/class_listing.inc:313 msgid "Down" msgstr "Omlaag" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Selecteer alles" #: include/class_listing.inc:592 msgid "created by" msgstr "aangemaakt door" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Ga naar basis afdelingen" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Ga een afdeling omhoog" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Home" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Lijst herladen" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Acties" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Kopieer" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Knip" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Plakken" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Deze invoer knippen" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Deze invoer kopieren" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Restaureer snapshots" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Export lijst" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Restaureer snapshot" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Maak snapshot" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Maak een nieuw snapshot van dit object" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Fatale fout." #: include/class_xml.inc:66 msgid "in" msgstr "in" #: include/class_xml.inc:68 msgid "on line" msgstr "op lijn" #: include/class_xml.inc:69 msgid "XML error" msgstr "XML error" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Kan wachtwoord niet wijzigen, onbekende gebruiker '%s'" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Configuratie fout" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Pagina" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Geen PDF export mogelijk: Er is geen FPDF library geinstalleerd." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Gevraagde kanaal bestaat niet! Gelieve je Systeembeheerder te contacteren." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Annuleer alles" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Kan niet plakken" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Inlognaam" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Sjabloon" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Sjabloon naam" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Fatale error: geen class locaties gedefinieerd - draai aub '%s' om dit op te lossen" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Fatale error: kan class '%s' niet instantiëren - probeer '%s' te draaien om dit op te lossen" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAAL: Fout bij het verbinden met de LDAP server. De server meldt: '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Authentificatie error" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Error tijdens het toevoegen van de lock. Contacteer de programmeurs!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Kan de locking informatie voor de LDAP tree niet aanmaken. Gelieve je systeembeheerder te contacteren!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "LDAP server returned: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Verschillende locks zijn teruggevonden voor het object dat je wilt in lock plaatsen. Dit zou niet mogen gebeuren - Opschonen van meerdere referenties." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "De hoeveelheidslimiet van %d invoeren is overschreden!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Stel de nieuwe hoeveelheidslimiet in op %s en toon me dit bericht indien de limiet nog steeds overschreden wordt." #: include/functions.inc:1128 msgid "Configure" msgstr "Instellen" #: include/functions.inc:1133 msgid "incomplete" msgstr "onvolledig" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Toch doorgaan" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Alsnog bewerken" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Je staat op het punt de LDAP inzending/inzendingen te wijzigen %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Regels per pagina" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Filter toepassen" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Bestand '%s' kon niet verwijderd worden. Probeer fusiondirectory-setup --check-directories om de rechten correct te plaatsen." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Kan niet wegschrijven naar revisie bestand!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Kan revisie bestand niet lezen!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "LDAP waarschuwing" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Kan geen schema informatie krijgen van de server. Geen schema verificatie mogelijk!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Class(es) beschikbaar" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Kan geen vrij ID toekennen:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "onbekende idAllocation methode!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >=%sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool is niet uniek!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "Geen ID beschikbaar!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "maximum pogingen overschreden!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Kan geen vrij ID toekennen!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Kan bestand '%s' niet vinden - gebruik aub '%s' om dit op te lossen" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Alle objecten in deze categorie" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Los aub de bovenstaande error op en herlaad de pagina." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "XML fout in fusiondirectory.conf: %s op regel %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Kan niet binden met de LDAP. Gelie je systeembeheerder te contacteren." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "De snapshot functionaliteit is aan, maar de vereiste variabele '%s' is niet ingesteld." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "De snapshot funcionaliteit is geactiveerd, maar de vereiste compressie module ontbreekt. Installeer aub '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Alle categoriën" #: include/class_config.inc:1095 msgid "My account" msgstr "Mijn account" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Selecteer om objecten van type '%s' te tonen." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Selecteer om objecten die '%s' bevatten te tonen." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Selecteer om objecten te tonen die '%s' actief hebben" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Selecteer om binnen subonderdelen te zoeken" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Zoek in subtrees" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Dit object zal verwijderd worden!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Dit '%s' obkect zal verwijderd worden!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Dit object zal verwijder worden: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Dit '%s' object zal verwijderd worden: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Dit object zal verwijderd worden:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Dit '%s' object zal verwijderd worden:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Deze objecten zullen verwijderd worden: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Deze '%s' objecten zullen verwijderd worden: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Je hebt geen rechten om dit object te verwijderen!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Je hebt geen rechten om dit object te verwijderen:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Je hebt geen rechten om deze objecten te verwijderen:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Je hebt geen rechten om dit object aan te maken!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Je hebt geen rechten om dit object aan te maken:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Je hebt geen rechten om deze objecten aan te maken:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Je hebt geen rechten om dit object te wijzigen!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Je hebt geen rechten om dit object te bekijken!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Je hebt geen rechten om dit object te bekijken:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Je hebt geen rechten om deze objecten te bekijken:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Je hebt geen rechten om dit object te verplaatsen!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Je hebt geenr rechten om dit object te verplaatsen:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Je hebt geen rechten om deze objecten te verplaatsen:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Connectie informatie" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Kan niet connecteren met %s databank!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Kan %s databank niet selecteren!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Geen %s server gedefinieerd!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Kan geen query maken naar %s databank!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Het veld '%s' bevat een gereserveerd keyword!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Commando gespecifieerd als %s hook voor plugin '%s' bestaat niet!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "'%s' commando is niet geldig!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "'%s' commando voor plugin %s is niet geldig!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "'%s' commando (%s) is niet geldig!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "'%s' commando (%s) voor plugin %s is niet geldig!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Kan '%s' commando niet uitvoeren!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Kan '%s' commando voor plugin %s niet uitvoeren!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Kan '%s' commando (%s) niet uitvoeren!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Kan '%s' commando (%s) voor plugin %s niet uitvoeren!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Waarde voor '%s' is te groot!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' moet kleiner zijn dan %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Waarde voor '%s' is te klein!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' moet %d zijn of hoger!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' hangt af van '%s' - geef aub beidde waarden in!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Er is al een inzending met dit '%s' attribuut in het systeem!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Het vereiste veld '%s' is leeg!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' is niet toegelaten:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' zijn niet toegelaten!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "%s PHP extensie ontbreekt!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Annuleren" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Toepassen" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Opslaan" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Toevoegen" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Voeg %s toe" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Verwijderen" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Verwijder %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Wijzig..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Wijzig %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Terug" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "De account heeft geen geldige %s extensies!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Deze account heeft %s opties actief. Je kan deze desactiveren door op ze te klikken hieronder." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Deze account heeft %s opties actief. Om ze te desactiveren, zal je de %s opties eerst moeten verwijderen!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Deze account heeft %s opties op non-actief. Om ze te activeren kan je hieronder op ze klikken." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Deze account heeft %s opties op non-actief. Om ze te activeren moet je de %s opties eerst toevoegen!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Voeg %s opties toe" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Verwijder %s opties" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Januari" #: include/class_msgPool.inc:662 msgid "February" msgstr "Februari" #: include/class_msgPool.inc:662 msgid "March" msgstr "Maart" #: include/class_msgPool.inc:662 msgid "April" msgstr "April" #: include/class_msgPool.inc:663 msgid "May" msgstr "Mei" #: include/class_msgPool.inc:663 msgid "June" msgstr "Juni" #: include/class_msgPool.inc:663 msgid "July" msgstr "Juli" #: include/class_msgPool.inc:663 msgid "August" msgstr "Augustus" #: include/class_msgPool.inc:663 msgid "September" msgstr "September" #: include/class_msgPool.inc:664 msgid "October" msgstr "Oktober" #: include/class_msgPool.inc:664 msgid "November" msgstr "November" #: include/class_msgPool.inc:664 msgid "December" msgstr "December" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Zondag" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Maandag" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Dinsdag" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Woensdag" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Donderdag" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Vrijdag" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Zaterdag" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Databank operatie faalde!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "lees operatie" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "voeg operatie toe" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "wijzig operatie" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "verwijder operatie" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "zoek operatie" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "authentificatie" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s faalde!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "LDAP operaite faalde!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Object" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Upload faalde!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Upload faalde: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Communicatie met de infrastructuur dienst faalde!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Communicatie met de infrastructuur dienst faalde: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "De '%s' is nog steeds in gebruik door dit object: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "De '%s' is nog steeds in gebruik." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "De '%s' is nog steeds in gebruik door deze objecten: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Bestand '%s' bestaat niet!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Kan bestand '%s' niet openen om te lezen!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Kan bestand '%s' niet openen om te schrijven!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "De waarde voor '%s' is momenteel niet geconfigureerd of niet geldig, verifieer aub je configuratie bestand!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Kan bestand '%s' niet verwijderen!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Kan folder '%s' niet maken!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Kan folder '%s' niet verwijderen!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Verificatie voor %s support" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Installeer en activeer de %s PHP module." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Installeer en activeer de %s Pear module." #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Kan class '%s' niet initializeren! Misschien ontbreekt er een plugin in je FusionDirectory setup?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "De opgegeven base is niet geldig en is veranderd naar de vorige waarde!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Timestamp" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d,H-i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Restaureer" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Bestand" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Regel" #: include/php_setup.inc:53 msgid "PHP error" msgstr "PHP fout" #: include/php_setup.inc:62 msgid "class" msgstr "klasse" #: include/php_setup.inc:70 msgid "function" msgstr "functie" #: include/php_setup.inc:76 msgid "static" msgstr "statisch" #: include/php_setup.inc:80 msgid "method" msgstr "methode" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Trace" #: include/php_setup.inc:132 msgid "Type" msgstr "Type" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumenten" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Er is minimaal één PHP fout opgetreden bij het genereren van deze pagina!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Stuur probleemrapport naar het FusionDirectory Teal" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Stuur probleemrapport" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Informatie weergeven/verbergen" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Performantie waarschuwing" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "LDAP performantie is slecht: laatste query duurde ongeveer %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "bij het bewerken van '%s' op LDAP server '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "bij het bewerken van LDAP server %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Gelieve de items te selecteren" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Naam" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Omschrijving" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Gebruikersgroep" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Geen" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Onbekend" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Bewerken" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Verwijderen" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Geen plugin definities gevonden om '%s' te initializeren, verifieer aub je configuratie bestand." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Het verwijder proces is geannuleerd door plugin '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "seconden" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "minuten" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "uren" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "dagen" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Kan geupload bestand niet lezen: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "bestand is leeg" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "bestand niet gevonden" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "bestand onleesbaar" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Uploaden" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Downloaden" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "Rechten" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Beheer access control lists" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "ACL rollen" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Onbekende inzending '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Alle gebruikers" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Directory '%s' die opgegeven is als compileer directory is niet toegankelijk!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "Smarty error" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Je FusionDirectory sessie is vervallen!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Geef a.u.b. een geldige gebruikersnaam op!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Geef a.u.b. uw wachtwoord op!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Controleer a.u.b. de gebruikersnaam/wachtwoord combinatie." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Accound geblokkeerd. Contacteer aub je systeembeheerder!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Cookies zijn uitgeschakeld in uw browser. Schakel cookies a.u.b. in en herlaad deze pagina voordat u inlogt!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "FusionDirectory configuratie %s/%s is niet leesbaar. Geannuleerd." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "E-mail adres" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Contacteer je systeembeheerder, er was een probleem met de mailserver" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "Deze token is niet geldig" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Er was een probleem met de mail server, de bevestiging werd niet verstuurd" #: html/main.php:115 msgid "PHP configuration" msgstr "PHP configuratie" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Fatale error : Registreer globals in aan. FusionDirectory zal login weigeren als dit niet opgelost wordt door een admin." #: html/main.php:142 msgid "Password change" msgstr "Paswoord wijzigen" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Je paswoord gaat vervallen, gelieve je paswoord te wijzigen!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Bijna zonder geheugen!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Gebruiker ACL verificatie is niet actief" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Fatale error: Kan plugin definities niet vinden voor plugin '%s' ('%s' is geen bestand)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Configuratie Error" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Fatale error: niet alle POST variabelen zijn verplaatst naar PHP - Informeer aub je administrator!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Welkom %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referenties" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Wijzig gebruikers POSIX opties" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Persoonlijke map" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Primaire groep" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Groep lidmaatschap" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Account" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Het wachtwoord moet bij de eerste aanmelding gewijzigd worden" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Systeem vertrouwen" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Vertrouwensmodus" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "gedeactiveerd" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "volledige toegang" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "sta toegang op deze computers toe" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatisch" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "verlopen" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "gratie tijd actief" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "actief" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "paswoord is vervallen" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "paswoord niet wijzigbaar" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Timeout tijdens het wachten voor een lock. lock is genegeerd!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Paswoord methode" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Wachtwoord" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Gebruiker" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Persoonlijke informatie" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Achternaam" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Voornaam" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Plaats" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Provincie" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adres" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Kamer nr." #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Kamernummer" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefoon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "GSM" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pieper" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Homepage" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Getoonde naam" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Postadres thuis" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Telefoon privé" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Prive nummer" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Organisatie informatie" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Titel" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organisatie" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Afdeling" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Afdeling nr." #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Departement nummer" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Personeel nr." #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Werknemer nummer" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Functie" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Beheerder" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "U moet uw huidige wachtwoord opgeven om door te kunnen gaan." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nieuw wachtwoord" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Het huidige wachtwoord en het nieuwe wachtwoord lijken te veel op elkaar." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Het nieuw opgegeven wachtwoord is te kort." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Het paswoord bevat mogelijke probleemgevende Unicode karakters!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Paswoord herstel" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Instellingen voor de wachtwoord herstel feature" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Paswoord herstel opties" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Activeer paswoord herstel" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Zender email adres" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Email adres van waaruit de mails zullen verzonden worden" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Link geldigheid (minuten)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Onderwerp" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Paswoord herstel link" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Paswoord herstel succesvol" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Hallo,⏎ ⏎ Je paswoord is gewijzigd ⏎ Je login is nog steeds %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuratie" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Kijk en voel" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Taal" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Thema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Tijdzone" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Paswoord opties" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Paswoord minimum lengte" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Gebruik account expiration" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Toon overzicht in lijsten" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Login en sessie" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Login attribuut" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Forceer gëencrypteerde connecties" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Verwittig mij als de sessie niet gëencrypteerd is" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Sessie levensduur" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Activeer snapshots" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Snaphosts basis" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Host" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Poort" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "People and group opslag" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "People DN attribuut" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Debugging" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Maximum LDAP query tijd" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Log LDAP statistieken" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Debug level" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Terminal Service diverse" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Modus" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Inhakers" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Objectgroepen" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Afdelingen" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "afdeling" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Eigenschappen" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categorie" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Land" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Telefoonnummer" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domein" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Gebruikers en groepen" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Domein Component" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localiteit" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lijst met afdelingen" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Beheer gebruikers" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Account locking" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Deblokkeer account" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Blokkeer account" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lijst met gebruikers" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Achternaam" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Naam" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Blokkeer gebruikers" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Deblokkeer gebruikers" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Template toepassen" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Nieuwe gebruiker vanaf template" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Bewerk gebruiker" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Verwijder gebruiker" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Funktie" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informatie" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Beschrijving van de rol" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Telefoonnummer" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Fax nummer" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Voeg gebruikers toe voor de rol" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Wijzig posix eigenschappen" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Toon primaire groepen" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Toon mailgroepen" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Toon Samba groepen" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Objectgroep" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Groep" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Lidmaatschap objecten" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lijst met groepen" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forceer GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Groepsleden" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "ACL toekenning" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modus" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Groepsleden" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Geen ACL opties voor deze categorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL voor deze objecten: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Wijzig ACL categorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Reset ACL categorie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Toon beschikbare ACL categoriëen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Alle objecten in huidige subtree" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "alleen lezen" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "afleveren, lezen & schrijven" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Toon/verberg geavanceerde opties" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Maak objecten" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Verplaats objecten" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Verwijder objecten" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Rechten toekennen aan eigenaar" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Volledig object" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Bevat opties voor deze objecten: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Access control rollen" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "ACL rol" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory zal NIET werken zonder dit op te lossen. " #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory zal werken zonder dit op te lossen." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Maak een nieuwe FusionDirectory administrator account" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Deze dialoog zal automatisch een nieuwe super administrator toevoegen in je LDAP tree." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Gebruikers ID" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Paswoord (opnieuw)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Dit blijkt de eerste keer te zijn dat je FusionDirectory start - we vonden op dit moment geen configuratie. Deze simpele wizard is hier om je te helpen FusionDirectory op te zetten." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Wat doet deze wizard voor jou ?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Maak een basis, single site configuratie" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Probeer problemen te vinden met je PHP en LDAP setup" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Laat je kiezen van een set basis of geavanceerde configuratie switches" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Begeleide migratie van bestaande LDAP trees" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Wat doet deze wizard NIET voor jou ?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Vind elke mogelijke configuratie error" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migreer elke mogelijke LDAP setup - maak backup dumps!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Klik op de 'Next' knop wanneer je klaar bent." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Voeg benodigde object classes naar de LDAP base" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Huidige" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Na de migratie" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Sluiten" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Als je wilt weten wat er zal gebeuren wanneer je de geselecteerde inzendingen migreerd, gebruik de 'Toon veranderingen' knop om de LDIF te bekijken." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Toon wijzigingen" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Tijdens de LDAP inspectie, gaan we verschillende pitfalls verifiëren dit kan gebeuren wanneer er een migratie gebeurd van FusionDirectory base LDAP administratie. Je zou de onderstaande problemen moeten oplossen, om de services vlot te laten verlopen." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Verifieer nogmaals" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Maak je configuratie bestand" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Systeem configuratie" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Status:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filter" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Paswoord vergeten" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Deze dialoog zorgt voor een simpele manier om je paswoord de wijzigen. Vul het nieuwe paswoord in (tweemaal) in onderstaande velden en klik op de 'Verander' knop." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Directory" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Nieuw wachtwoord opnieuw" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Wachtwoord sterkte" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Wijzig" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Klik hier om je paswoord te wijzigen" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Succes" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Je paswoord is succesvol gewijzigd." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Vul je huidige e-mail adres in in onderstaand veld en klik op de 'Verander' knop." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "E-mail" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Paswoord herstel is niet geactiveerd. Als u uw wachtwoord verloren hebt, gelieve dan uw beheerder te contacteren" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Login scherm" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Gebruik aub je gebruikersnaam en paswoord om in te loggen in het administratie systeem van de site." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Gebruikersnaam" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Ik ben mijn wachtwoord vergeten" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Inloggen" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Klik hier om in te loggen" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "De grootte limiet optie maakt LDAP bewerkingen sneller en behoedt de LDAP server voor een te grote werkdruk. De eenvoudigste manier om met grote databases te werken zonder lange timeouts is door zoekopdrachten in grootte te beperken en door filters te gebruiken voor de informatie die u zoekt." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Kies a.u.b. de manier waarop gereageerd moet worden voor deze sessie" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "Negeer deze fout en toon alle gegevens die de LDAP server teruggeeft" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "Negeer deze fout en toon alle gegevens die passen binnen de gedefiniëerde grootte limiet en laat me daarvoor in de plaats filters gebruiken" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Stel in" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Controleer a.u.b. of u dit daadwerkelijk wil doen, aangezien er geen mogelijkheid voor FusionDirectory is om uw data terug te krijgen." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Indien u zeker bent drukt u dan 'Verwijderen' om door te gaan of 'Annuleren' om te annuleren." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Hoofdmenu" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Uitloggen" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Aangemeld:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Sessie vervalt in %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Doorgaan" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Er is een blokkade conflict gedetecteerd" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Read only" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Kopieer en plak wizard" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Sommige waarden moeten uniek zijn in de volledige directory terwijl sommige combinaties geen zin hebben. FusionDirectory toont de relevante attributen. Behoud aub de waarden hieronder om de policies te vervullen." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Onthoud dat sommige eigenschappen zoals snaphots zijn en niet kunnen gekopieerd worden!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Of als je een kopie of knip doet van een inzending in FusionDirectory en de bron van het object verwijderd kan je errors krijgen tijdens het plakken van het object!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Bewerking afgerond" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL toegekend voor huidige inzending" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nieuwe ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "ACL type" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Selecteer een ACL type" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Extra filter opties" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Gebruik leden van" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Beschikbare leden" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Toon bericht mogelijke doelen" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Toon bericht ontvangers" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL voor dit object" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Beschikbare rollen" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Het FusionDirectory team" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Dit object heeft geen relatie met andere objecten." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Gebruikersinstellingen" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Wachtwoord wissen" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Nieuw wachtwoord instellen" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Persoonlijk plaatje" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Persoonlijk plaatje" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Plaatje verwijderen" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Je hebt momenteel geen rechten om je paswoord te wijzigen" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Je paswoord hash methode zal niet worden aangepast!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "U heeft succesvol uw wachtwoord veranderd. Denkt u eraan dat u alle programma's die dit wachtwoord gebruiken ook aanpast!" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "telefoonNummer" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Toon sjablonen" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Toon functionerende gebruikers" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Toon POSIX gebruikers" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Toon Mail gebruikers" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Toon Samba gebruikers" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/pl/000077500000000000000000000000001304016502700167025ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/pl/fusiondirectory.po000066400000000000000000004131451304016502700225020ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Polish (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Preferowany język" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Ustawienia językowe" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Tek krok umożliwia wybranie preferowanego języka." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatycznie" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Sprawdzenie instalacji" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Sprawdzam wersję PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Proszę zaktualizować do wspieranej wersji." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "moduł kompresji" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Wyłączone" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Witaj" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Wiadomość powitalna" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Niepowodzenie" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "błąd LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Ostrzeżenie" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Błąd migracji" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Utwórz" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Użytkownicy" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupy" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Błąd" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Przenieś użytkowników do skonfigurowanego drzewa" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "do" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nazwa lokalizacji" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Kontener" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN Administratora" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Hasło Administratora" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Status" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Obecny status" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Ustawienia LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Ponawia" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Odśwież" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Zakończ" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Zapisz plik konfiguracyjny" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Błąd ustawień" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "Następne" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Błąd wewnętrzny" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "nieskonfigurowane" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Uprawnienie" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Główny" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Wyślij" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Góra" #: include/class_listing.inc:313 msgid "Down" msgstr "W dół" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Wybierz wszystko" #: include/class_listing.inc:592 msgid "created by" msgstr "utworzone przez" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Idź do głównego departamentu" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Idź jeden departament wyżej" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Katalog domowy" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Przeładuj listę" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Akcje" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Kopiuj" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Wytnij" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Wklej" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Wytnij ten obiekt" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Kopiuj ten obiekt" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Odtwórz snapshot" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Utwórz spanshot" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Utwórz nowy snapshot z tego obiektu" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Błąd krytyczny" #: include/class_xml.inc:66 msgid "in" msgstr "w" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Błąd konfiguracji" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Strona" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Anuluj wszystko" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Nie można wkleić" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Login" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Szablon" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nazwa Szablonu" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "BŁĄD: Nie można połączyć się z serwerem LDAP. Odpowiedź serwera '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Błąd autentykacji" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Limit wielkości %d elementów został przekroczony!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Ustaw nowy limit rozmiaru na %s i pokaż ten komunikat jeśli limit wciąż jest przekroczony" #: include/functions.inc:1128 msgid "Configure" msgstr "Konfiguruj" #: include/functions.inc:1133 msgid "incomplete" msgstr "niepełne" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Kontynuuj mimo wszystko" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Edytuj mimo wszystko" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Wpisów na stronie" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Zastosuj filtr" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Ostrzeżenie LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Wszystkie obiekty w tej kategorii" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Błąd XML w pliku fusiondirectory.conf: %s w linii %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "Wszystkie kategorie" #: include/class_config.inc:1095 msgid "My account" msgstr "Moje konto " #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Zaznacz aby wyszukiwać wewnątrz poddrzew" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Anuluj" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Zastosuj" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Zapisz" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Dodaj" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Dodaj %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Usuń" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Usuń %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Edytuj..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Edytuj %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Wróć" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Styczeń" #: include/class_msgPool.inc:662 msgid "February" msgstr "Luty" #: include/class_msgPool.inc:662 msgid "March" msgstr "Marzec" #: include/class_msgPool.inc:662 msgid "April" msgstr "Kwiecień" #: include/class_msgPool.inc:663 msgid "May" msgstr "Maj" #: include/class_msgPool.inc:663 msgid "June" msgstr "Czerwiec" #: include/class_msgPool.inc:663 msgid "July" msgstr "Lipiec" #: include/class_msgPool.inc:663 msgid "August" msgstr "Sierpień" #: include/class_msgPool.inc:663 msgid "September" msgstr "Wrzesień" #: include/class_msgPool.inc:664 msgid "October" msgstr "Październik" #: include/class_msgPool.inc:664 msgid "November" msgstr "Listopad" #: include/class_msgPool.inc:664 msgid "December" msgstr "Grudzień" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Niedziela" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Poniedziałek" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Piątek" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sobota" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Obiekt" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Błąd komunikacji z usługą infrastruktury!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Błąd komunikacji z usługą infrastruktury: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Plik '%s' nie istnieje!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Czas" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "Odtwórz" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Plik" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Linia" #: include/php_setup.inc:53 msgid "PHP error" msgstr "błąd PHP:" #: include/php_setup.inc:62 msgid "class" msgstr "klasa" #: include/php_setup.inc:70 msgid "function" msgstr "funkcja" #: include/php_setup.inc:76 msgid "static" msgstr "statyczna" #: include/php_setup.inc:80 msgid "method" msgstr "metoda" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Śledzenie" #: include/php_setup.inc:132 msgid "Type" msgstr "Typ" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argumenty" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Tworzenie tej strony spowodowało, że interpreter PHP zwrócił błędy!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Przełącz informacje" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Ostrzeżenie wydajności" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "podczas działania na '%s' używając serwera LDAP '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "podczas połączenia z serwerem LDAP '%s'" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Imię" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Opis" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupa użytkownika" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Nieznane" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Edytuj" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Usuń" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Proces usuwania został anulowany przez dodatek '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "godzin" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "dni" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Wgraj" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Ściągnij" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Nieznany wpis '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Katalog '%s' podany jako katalog kompilacji jest niedostępny!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "Błąd Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Proszę podać prawidłową nazwę użytkownika!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Proszę podać prawidłowe hasło!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Proszę sprawdzić kombinację login/hasło." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Twoja przeglądarka ma wyłączone cookies. Proszę włączyć cookies i przeładować stronę przed logowaniem!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Adres email" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Konfiguracja PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "Zmiana hasła" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "Dodatek" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "Błąd konfiguracji" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Witaj %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Zależności" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Katalog domowy" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Grupa podstawowa" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Przynależność do grup" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Konto" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Użytkownik musi zmienić hasło przy pierwszym logowaniu" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Zaufanie systemowe" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Tryb zaufania" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "wyłączone" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "pełen dostęp" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "zezwól na dostęp do tych hostów" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatyczne" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "wygasło" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Czas prolongaty aktywny" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "Aktywne" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "hasło wygasło" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "hasło niezmienialne" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Hasło" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Użytkownik" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Informacje osobiste" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Nazwisko" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Imię" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Lokalizacja" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Stan" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adres" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Numer pokoju" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Numer pokoju" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Komórka" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Strona domowa" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Wyświetl nazwę" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Adres domowy" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Telefon prywatny" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Numer telefonu domowego" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Informacje organizacyjne" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Tytuł" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organizacja" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departament" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Numer departamentu" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Numer departamentu" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Numer pracownika" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Numer pracownika" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Typ pracownika" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Proszę podać obecne hasło aby kontynuować." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nowe hasło" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Hasło podane jako nowe jest zbyt podobne do obecnego." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Hasło podane jako nowe jest za krótkie." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Konfiguracja" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Język" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Strefa czasowa" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Minimalna długość hasła" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Port" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Różne" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Tryb" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Zaczepy" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupy obiektów" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departamenty" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "departament" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Właściwości" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Kategoria" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Kraj" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Numer telefonu" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domena" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista departamentów" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Zarządzaj użytkownikami" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Blokowanie konta" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Odblokuj konto" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Zablokuj konto" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista użytkowników" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Nazwisko" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Imię" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Edytuj użytkownika" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Pełniona funkcja" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informacja" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Numer telefonu" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Numer fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Pokaż podstawowe grupy" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Pokaż grupy samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Grupa obiektu" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupa" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Dodaj członka" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista grup" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Wymuś GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Członkowie grupy" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Tryb" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Członkowie" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Brak ustawień ACL w tej kategorii" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista dostępnych kategorii ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Wszystkie obiekty w obecnym poddrzewie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "czytanie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "zapisywanie" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Utwórz obiekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Przenieś obiekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Usuń obiekty" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Zawiera ustawienia dla tych obiektów: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Identyfikator użytkownika" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Obecne" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Zamknij" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Konfiguracja pobierania" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Status:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtr" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Katalog" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Zmień" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Kliknij tutaj aby zmienić swoje hasło" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Powodzenie" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Twoje hasło zostało pomyślnie zmienione." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Email" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Ekran Logowania" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nazwa użytkownika" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Zaloguj" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Kliknij tutaj aby się zalogować" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "Limit rozmiaru powoduje szybsze operacje LDAP i zapobiega nadmiernemu obciążeniu serwera LDAP. Najprostrzym sposobem działania na dużych bazach bez opóźnień jest ograniczanie wyszukiwań do mniejszej ilości wyników oraz użycie filtrów dla otrzymania poszukiwanych elementów." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Proszę wybrać sposób reakcji dla tej sesji" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "Ignoruj ten błąd i pokaż wszystkie elementy które zwraca serwer LDAP" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignoruj ten błąd i pokaż wszystkie elementy które zmieszczą się w zdefiniowanych limicie rozmiaru i pozwól mi użyć filtrów" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Ustaw" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Jeśli jesteś pewien - naciśnij 'Usuń' aby kontynuować lub 'Anuluj' aby anulować." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Główne" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Wyloguj" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Zalogowano:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Kontynuuj" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Wykryto konflikt blokady" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Tylko do odczytu" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Pamiętaj, że niektóre właściwości jak snapshoty nie zostaną skopiowane!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operacja zakończona" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nowy ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "typ ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Wybierz typ ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Użyj członków z" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Dostępni członkowie" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Wyświetl możliwe cele wiadomości" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Wyświetl odbiorców wiadomości" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Ten obiekt nie posiada powiązań z innymi obiektami." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Ustawienia użytkownika" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Wyczyść hasło" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Ustaw nowe hasło" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Osobiste zdjęcie" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Zdjęcie użytkownika" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Usuń obrazek" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Pomyślnie zmieniono hasło. Proszę pamiętać aby zmienić również ustawienia w programach skonfigurowanych do używania tego hasła." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Pokaż szablony" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/pt/000077500000000000000000000000001304016502700167125ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/pt/fusiondirectory.po000066400000000000000000004107411304016502700225110ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Portuguese (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Erro" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Erro de LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Atenção" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Criar" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Usuários" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupos" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Erro" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Estatus" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Recarregar" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Finalizar" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Erro interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "desconfigurado" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Raiz" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Submeter" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Para cima" #: include/class_listing.inc:313 msgid "Down" msgstr "Para baixo" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Ir para departamento raiz" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Subir um departamento" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Origem" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Recarregar lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Ações" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Colar" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Erro de configuração" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Impossível colar" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Login" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Modelo" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Nome modelo" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurar" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Editar mesmo assim" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Aplicar filtro" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Todos os objetos nessa categoria" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Erro de XML no fusiondirectory.conf: %s na linha %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Não foi possível realizar bind para o LDAP. Por favor, contacte o administrador do sistema." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "Todas as categorias" #: include/class_config.inc:1095 msgid "My account" msgstr "Minha conta" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Selecione para listar objetos do tipo '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Selecione para listar objetos contendo '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Selecione para listar objetos que possuem '%s' habilitado" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Selecione para pesquisar dentro das sub-árvores" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Procurar em subárvores" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Esse objeto será apagado!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Esse objeto '%s' será apagado!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Esse objeto será apagado: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Esse objeto '%s' será apagado: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Esse objeto será apagado:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Esse objeto '%s' será apagado:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Estes objetos serão apagados: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Estes objetos '%s' serão apagados: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Você não tem permissão para apagar esse objeto!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Você não tem permissão para apagar o objeto:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Você não tem permissão para apagar estes objetos:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Você não tem permissão para criar esse objeto!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Você não tem permissão para criar o objeto:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Você não tem permissão para criar estes objetos:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Você não tem permissão para modificar esse objeto!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Você não tem permissão para ver esse objeto!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Você não tem permissão para ver o objeto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Você não tem permissão para ver estes objetos:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Você não tem permissão para mover esse objeto!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Você não tem permissão para mover o objeto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Você não tem permissão para mover estes objetos:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Informação da conexão" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Não foi possível conectar ao banco de dados %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Não foi possível selecionar o banco de dados %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Servidor %s não definido!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Não foi possível pesquisar no banco de dados %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "O campo '%s' contém uma palavra reservada!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "O comando especificado como %s, relativo ao plugin '%s', não existe!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "O comando '%s' é inválido!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "O comando '%s' para o plugin %s is invalid!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "O comando '%s' (%s) é inválido!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "O comando '%s' (%s) para o plugin %s é inválido!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Não foi possível executar o comando '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Não foi possível executar o comando '%s' para o plugin %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Não foi possível executar o comando '%s' (%s) para o plugin %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Cancelar" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplicar" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Salvar" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Adicionar" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Deletar" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "Voltar" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Janeiro" #: include/class_msgPool.inc:662 msgid "February" msgstr "Fevereiro" #: include/class_msgPool.inc:662 msgid "March" msgstr "Março" #: include/class_msgPool.inc:662 msgid "April" msgstr "Abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "Maio" #: include/class_msgPool.inc:663 msgid "June" msgstr "Junho" #: include/class_msgPool.inc:663 msgid "July" msgstr "Julho" #: include/class_msgPool.inc:663 msgid "August" msgstr "Agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "Setembro" #: include/class_msgPool.inc:664 msgid "October" msgstr "Outubro" #: include/class_msgPool.inc:664 msgid "November" msgstr "Novembro" #: include/class_msgPool.inc:664 msgid "December" msgstr "Dezembro" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Domingo" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Segunda" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Terça" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Quarta" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Quinta" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Sexta" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Sábado" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objeto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Alerta de performance" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "A performance do LDAP está ruim: a última pesquisa levou cerca de %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "enquanto executava em '%s' usando LDAP server '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "enquanto executava no LDAP server %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nome" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descrição" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupo do usuário" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Desconhecido" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Editar" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Remover" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gerenciar listas de controle de acesso" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Regras de ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Entrada desconhecida '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Por favor, especifique um nome de usuário válido!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Por favor, especifique sua senha!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Por favor, verifique a combinação usuário / senha" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Seu navegador está com suporte a cookies desabilitado. Por favor, habilite-o e recarregue essa página antes de entrar!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "Senha alterada" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Bem vindo %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referências" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Diretório pessoal" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Grupo primário" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Membros do grupo" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Conta" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "O usuário deve alterar sua senha no primeiro acesso" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Sistema de confiança" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modo de confiança" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "desabilitado" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "acesso completo" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "permitir acesso a estas máquinas" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automático" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "expirado" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "ativo" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Senha" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Usuário" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Informação pessoal" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Último nome" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Primeiro nome" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Localização" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Estado" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Endereço" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Nº da sala" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Fone" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Celular" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Página pessoal" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Caixa postal residencial" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Telefone privativo" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Informação organizacional" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organização" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departamento" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Nº do departamento" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Nº do empregado" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Tipo de empregado" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Você precisa especificar sua senha atual para continuar." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nova senha" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "A senha utilizada como nova e atual são muito similares." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "A senha utilizada como nova é curta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuração" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Configurações de senha" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupos de objeto" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departamentos" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propriedades" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "País" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista dos departamentos" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista de usuários" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Sobrenome" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Nome fornecido" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Papel" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informação" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista dos grupos" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Forçar GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Membros do grupo" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Membros" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Todos os objetos na subárvore atual" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "leitura" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "escrita" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Exibir/Ocultar configurações avançadas" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Criar objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Mover objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Remover objetos" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Conceder permissão para o dono" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Objeto completo" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Contém configurações para estes objetos: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID do usuário" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Fechar" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Diretório" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Nova senha repetida" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Alterar" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Clique aqui para alterar sua senha" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Sucesso" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Sua senha foi alterada com sucesso." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nome do usuário" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Entrar" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Clique aqui para logar" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Definir" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Então, se você tem certeza, pressione 'Deletar' para continuar ou 'Cancelar' para abortar." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Principal" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Sair" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Logado:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuar" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Conflito de travamento detectado" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operação finalizada" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Configurações do usuário" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Senha limpa" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Definir nova senha" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Foto pessoal" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Foto do usuário" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Remover foto" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Sua senha foi alterada com sucesso. Lembre-se de alterar todos os programas que a usem." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/pt_BR/000077500000000000000000000000001304016502700172755ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/pt_BR/fusiondirectory.po000066400000000000000000004334211304016502700230740ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Benoit Mortier , 2016 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Idioma desejado" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Configuração de idioma" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Esta etapa permite que você selecione seu idioma preferido." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automático" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Módulo de PHP e checagem de extensões" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Checagem de instalação" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Verificando a compatibilidade básica com PHP e extensões" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Checando versão do PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "A versão do PHP deverá ser %s ou superior." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Por favor, atualize para uma versão suportada." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory necessita deste módulo para conversar com seu servidor LDAP." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory necessita deste módulo para uma interface internacionalizada." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory necessita deste módulo para se comunicar com diferentes tipo de servidores e protocolos." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory requer este módulo para integação com o samba." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory necessita tanto do módulo 'mhash' quanto do módulo 'sha1' para fazer uso da criptografia SSHA." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "O FusionDirectory necessita deste módulo para conversar com um servidor IMAP" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory requer esta extensão para lidar com strings unicode." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory requer esta extensão para lidar com imagens." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "módulo de compressão" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory requer esta extensão para lidar com snapshots." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals é um mecanismo do PHP utilizado para registrar todas as variáveis globais para serem acessíveis por meio de scripts sem modificar o escopo. Isto pode ser um risco à segurança." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Procurar por 'register_globals' em seu php.ini e marcado como 'Desativado'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP usa este valor para deletar sessões antigas do garbage collector." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Procurar por 'session.gc_maxlifetime' no seu php.ini e configurá-lo para 86400 ou maior." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Desativar" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Pesquisar por 'session.auto_start' no seu php.ini e configurá-lo como 'Desligado'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Procurar por 'implicit_flush' no seu php.ini e configurá-lo como 'Desligado'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "O tempo de Execução deve ser no mínimo 30 segundos." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Pesquisa por 'max_execution_time' no seu php.ini e defina-o como '30' ou superior." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Pesquisar por 'expose_php' no seu php.ini e defina-o como 'Desligado'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Aumente o desempenho do seu servidor definindo magic_quotes_gpc para 'desligado'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Pesquisar por 'zend.ze1_compatibility_mode' no seu php.ini e defina-o como 'Desligado'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Bem-vindo" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Bem vindo ao assistente de configuração do FusionDirectory" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "A mensagem de \"bem vindo\"" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Inspeção LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analisar seu LDAP atual para verificação de compatibilidade com o FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Inspecionando classes de objeto em objeto root" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Checando permissão para banco de dados LDAP" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Checando por usuários invisíveis" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Checando por super administrador" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Checando por usuários fora da árvore de pessoas" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Checando por grupos fora da árvore de grupos" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Checando por departamentos invisíveis" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Checando por números de UID duplicados" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "Consulta em LDAP falhou" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Falhou" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Erro de LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Aviso" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Criar" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Usuários" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupos" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Não existe uma conta de administrador do FusioDirectory no seu LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Erro" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Encontrado %s grupos fora da árvore configurada '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Nome do local" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI da conexão" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "conexão TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Base" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autenticação" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN do administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Senha do administrador" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Estado" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Status atual" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Configuração de LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Configuração da conexão de LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Este diálogo executa a configuração básica da conectividade LDAP para o FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Ligação anônima para o servidor '%s' falhou!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Ligação como usuário '%s' falhou!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Tente novamente" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Ligação anônima para o servidor '%s' bem sucedida." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Atualizar" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Por favor, especifique usuário e senha!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Ligação como usuário '%s' para o servidor '%s' bem sucedida!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Fim" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Erro de configuração" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Concluído" #: setup/class_setup.inc:248 msgid "Next" msgstr "Próximo" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Erro interno" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Registro de dados falhou: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "objectType especificado está vazio ou inválido!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "Erro no filtro" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "O filtro está incompleto!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Permissão" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Erro de permissão" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Você não tem permissões para criar um snapshot para %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Você não tem permissões para restaurar um snapshot para %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Subir" #: include/class_listing.inc:313 msgid "Down" msgstr "Descer" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Selecionar tudo" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Página inicial" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Ações" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copiar" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Recortar" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Colar" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Restaurar snapshots" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Restaurar snapshot" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Criar snapshot" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Criar um novo snapshots deste objeto" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Erro fatal" #: include/class_xml.inc:66 msgid "in" msgstr "dentro" #: include/class_xml.inc:68 msgid "on line" msgstr "online" #: include/class_xml.inc:69 msgid "XML error" msgstr "Erro de XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Erro de configuração" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Cancelar tudo" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Login" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Modelo" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Erro de autenticação" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "Configurar" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Arquivo '%s' não pode ser deletado. Tente fusiondirectory-setup --check-directories para ajustas as permissões." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "'nextIdHook' não está disponível. Utilizando base padrão." #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Não foi possível localizar o arquivo '%s' - execute '%s' para solucionar o problema" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "A funcionalidade de snapshots está habilitada, mas a variável necessária '%s' não está definida." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "A funcionalidade de snapshots está habilitada, mas está faltando o módulo de compressão necessário. Por favor, instale '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Todas as categorias" #: include/class_config.inc:1095 msgid "My account" msgstr "Minha conta" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Procurar em sub-árvores" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Esse objeto será apagado!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Esse objeto '%s' será apagado!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Esse objeto será apagado: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Esse objeto '%s' será apagado: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Esse objeto será apagado:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Esse objeto '%s' será apagado:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Esses objetos serão apagados: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Esses objetos '%s' serão apagados: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Você não possui permissões para apagar esse objeto!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Você não possui permissões para apagar o objeto:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Você não possui permissões para apagar esses objetos:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Você não possui permissões para criar esse objeto!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Você não possui permissões para criar o objeto:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Você não possui permissões para criar esses objetos:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Você não possui permissões para modificar esse objeto!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Você não possui permissões para ver esse objeto!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Você não possui permissões para ver o objeto:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Você não possui permissões para ver esses objetos:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Você não possui permissões para mover esse objeto!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Você não possui permissões para mover o objeto:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Você não possui permissões para mover esses objetos:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Informação de conexão" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Não é possível conectar-se ao banco de dados %s" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Não é possível selecionar o banco de dados %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Não há servidor %s definido!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Não é possível consultar banco de dados %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "O campo '%s' contém uma palavra-chave reservada! " #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Comando especificado como gancho %s para o plugin '%s\" não existe!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "comando '%s' é inválido!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "comando '%s' para o plugin %s é inválido!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "comando '%s' (%s) é inválido!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "comando '%s' (%s) para o plugin %s é inválido!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Impossível executar o comando '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Impossível executar o comando '%s' para o plugin %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "impossível executar o comando '%s' (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Impossível executar o comando '%s' (%s) para o plugin %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Cancelar" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Aplicar" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Salvar" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Adicionar" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Deletar" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Editar..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "Voltar" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "fevereiro" #: include/class_msgPool.inc:662 msgid "March" msgstr "março" #: include/class_msgPool.inc:662 msgid "April" msgstr "abril" #: include/class_msgPool.inc:663 msgid "May" msgstr "maio" #: include/class_msgPool.inc:663 msgid "June" msgstr "junho" #: include/class_msgPool.inc:663 msgid "July" msgstr "julho" #: include/class_msgPool.inc:663 msgid "August" msgstr "agosto" #: include/class_msgPool.inc:663 msgid "September" msgstr "setembro" #: include/class_msgPool.inc:664 msgid "October" msgstr "outubro" #: include/class_msgPool.inc:664 msgid "November" msgstr "novembro" #: include/class_msgPool.inc:664 msgid "December" msgstr "dezembro" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "domingo" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "segunda-feira" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "terça-feira" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "quarta-feira" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "quinta-feira" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "sexta-feira" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "sábado" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objeto" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Data e hora" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Arquivo" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "Tipo" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Por favor, selecione as entradas desejadas" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Nome" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Descrição" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Grupo de usuário" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Nenhum" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Desconhecido" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Editar" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Remover" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "segundos" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "dias" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Mostrar %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "SEM RÓTULO" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Erro ao salvar" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Já há uma entrada com o mesmo dn: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "A entrada %s não é existente" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (required)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Base de objeto" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Não é possível ler arquivo enviado: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "arquivo está vazio" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "arquivo não encontrado" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "arquivo não é legivel" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Upload" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Download" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Valor inválido para %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Um inteiro entre %d e %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Um inteiro maior que %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Um inteiro menor que %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Um float entre %f e %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Um float maior que %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Um float menor que %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Gerenciar Listas de Controle de Acesso (ACLs)" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Papéis de ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Todos os usuários" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Diretório '%s' especificado como diretório de compilação não está acessível!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "Arquivo de configuração %s/%s do FusionDirectory não está legível. Por favor, execute fusiondirectory-setup --check-config para corrigir isto." #: html/index.php:171 msgid "Smarty error" msgstr "Erro Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Sua sessão foi encerrada!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Por favor, especifique um nome de usuário válido!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Por favor, especifique sua senha!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Por favor, verifique o usuário ou senha." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Conta bloqueada. Entre em contato com o administrador do sistema!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Cookies estão desabilitados. Por favor, habilite os cookies em seu navegador e atualize esta página antes de efetuar o login!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Abortado. Configuração %s/%s do FusionDirectory não pôde ser lida." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Endereço de email" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Entre em contato com o administrador, houve um problema com o servidor de e-mail." #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Configuração PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Erro fatal: O registro global do PHP, register_globals, está ativado. Não será possível realizar login enquanto o problema não for solucionado por um administrador." #: html/main.php:142 msgid "Password change" msgstr "Mudança de senha" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Sua senha está prestes a expirar. Por favor, altere a senha!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Memória virtual baixa!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Checagem de Usuário de ACL desativada" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "Erro de Configuração" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Erro faral: As variáveis POST não foram todas transferidas pelo PHP - por favor, informe ao administrador!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Bem-vindo %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referências" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Diretório principal" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "O pacote para o diretório principal deste usuário" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Conta" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Sistema de confiança" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Modo de confiança" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "desabilitado" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Acesso total" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Permitir acesso a esses servidores" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Permitir apenas que este usuário conecte-se à lista de hosts" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automático" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "senha expirada" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Método de autentcação" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Método de hash para usar na senha" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Senha" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Senha (Mantenha vazio caso não deseje alterar)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Senha novamente" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Mesma senha como acima, para evitar erros" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Usuário" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Sobrenome" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Nome" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Localização" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Estado" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Endereço" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Número da sala" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefone" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Celular" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Página inicial" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Nome de exibição" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Endereço residencial" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Telefone residencial" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Título" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organização" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Departamento" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Número do departamento" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Número do funcionário" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Tipo de funcionário" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Gerente" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Você precisa especificar sua atual senha para prosseguir." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nova senha" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "A nova senha é muito similar à senha atual." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "A nova senha é muito curta." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "A senha contém caracteres Unicode problemáticos." #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Estatísticas a respeito de usuários" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Contas expiradas" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Estatísticas" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Recuperação de senha" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Configurações para recuperar senha" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Configurações de recuperação de senha" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Ativar recuperador de senha" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Endereço de e-mail do remetente" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "E-mail a partir dos e-mail que serão enviados" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Validade do link (minutos)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Número de minutos antes do link de recuperação expirar" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "graça para simbolos " #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Apenas uma medida de segurança, você pode botar qualquer coisa lá, até caracteres aleatórios" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Permitir o uso de endereços alternativos" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Os usuário também serão capazes de entrar no endereço alternativo para recuperar sua senha" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Primeiro e-mail" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Assunto" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Assunto do primeiro e-mail" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Link de recuperação de senha" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Corpo(primeiro %s é o login, segundo é o link)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Corpo do primeiro e-mail, envie quando o usuário perguntar pela nova senha. Use %s para o login e o link de recuperação." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Segundo e-mail" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Assunto do segundo e-mail" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Senha recuperada com sucesso" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Corpo (%s é o login)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Corpo do segundo e-mail, enviado para confirmar senha alterada. Use %s para Login de usuário. " #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Olá,\n\nSua senha foi alterada.\nSeu login permanece %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Configuração" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Idioma" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Idioma da aplicação. Se for \"automático\" ou indisponível, será utilizado o padrão do navegador. Essa configuração pode ser substituída pelo usuário. " #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Tema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Fuso horário" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Configurações de senha" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Comprimento mínimo de senha" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Habilitar snapshots" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Base de snapshots" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "A base onde os snapshots devem ser armazenados dentro do LDAP." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "Chave de pacote" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "Caminho de certificado" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Host" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Porta" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Método de alocação de id" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Tradicional" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Pool de id samba unix" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Diversos" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Modo" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Ganchos" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Grupo de objetos" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Departamentos" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "departamento" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Propriedades" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Categoria" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "País" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Número de telefone" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domínio" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Gerenciar departamentos" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Usuários e grupos" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Componente de domínio" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Localização" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Lista de departamentos" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Gerenciar usuários" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Bloqueando conta" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Desbloquear conta" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Bloquear conta" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Lista de usuários" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Sobrenome" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Primeiro nome" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Usuários bloqueados" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Usuários desbloqueados" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Aplicar modelo" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Novo usuário para modelo" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Editar usuário" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Remover usuário" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Atribuição" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Informação" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Descrição da atribuição" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Número de telefone" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Número de Fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Adicionar usuários para a atribuição" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Editar propriedades do posix" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Grupo de objeto" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupo" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Lista de grupos" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Atribuições de ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Modo" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Membros" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Sem configurações de ACL para esta categoria" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL para estes objetos: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Editar categoria de ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Reiniciar categoria de ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista de categorias de ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Todos objetos na atual sub-árvore" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Cargos de controle de acesso" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "Cargo ACL" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "O FusionDirectory NÃO irá rodar sem a correção disto." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "O FusionDirectory irá rodar sem a correção disto." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID de usuário" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Senha (novamente)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Clique no botão 'Próximo' quando tiver terminado." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Fechar" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Caso você deseja saber o que será feito após migrar as entradas selecionada, use o botão 'Mostrar mudanças' para ver o LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Mostrar mudanças" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Crie seu arquivo de configuração" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Configuração de download" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Estado:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filtro" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Diretório" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Nova senha repetida" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Grau de segurança da senha" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Alterar" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Clique aqui para alterar sua senha" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Sucesso" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Sua senha foi alterada com sucesso." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Email" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "A recuperação de senha não foi ativada. Se você perdeu a sua senha, por favor, entre em contato com o administrador." #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Tela de login" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Utilize seu nome de usuário e senha para fazer login no sistema de administração do site." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Nome de usuário" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Esqueci a senha" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Acessar" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Clique aqui para fazer login" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "A opção de limite de tamanho faz com que as operações de LDAP fiquem mais rápidas e auxiliem o servidor à não sobrecarregar. A maneira mais fácil de lidar com banco de dados grandes sem longos timeouts, seria limitando sua pesquisa para valores menores e utilizando filtros para obter as entradas que você está procurando." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Por favor, escolha a maneira de reação para esta sessão" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "Ignorar este erro e mostrar todas as entradas retornadas pelo servidor LDAP." #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "Ignorar este erro e mostrar todas as entradas que se enquadram no limite de tamanho definido, e me deixar utilizar filtros ao invés. " #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Definir" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Favor clicar duas vezes se você quer realmete executar esta ação. O FusionDirectory não poderá desfazê-la." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Se você tem certeza, pressione 'Delete' para continuar ou 'Cancel' para desistir." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Principal" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Sair" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Logado como:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Continuar" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Conflito de bloqueio detectado" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Somente leitura" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Assistente de copiar e colar " #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Alguns valores precisam ser únicos no diretório completo caso algumas combinações não façam sentido. FusionDirectory mostra os atributos relevantes. Favor manter os valores abaixo para satisfazer os critérios." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Lembre-se que algumas propriedades como a de snapshots tirados não serão copiadas!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Ou se você copiar ou recortar um registro com FusionDirectory e deletar o objeto fonte, você provavelmente encontrará erros enquanto cola este objeto novamente!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "A operação foi concluída com êxito" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "ACL atribuída para entrada atual" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Nova ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Selecione um tipo de ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Opções adicionais de filtros" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Usar membros de" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Membros disponíveis" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Lista possíveis alvos da mensagem" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Lista de destinatários da mensagem" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL para este objeto" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Papéis disponíveis" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Equipe do FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Imagem de usuário" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Remover imagem" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Nenhum deles está travado" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Não há contas expiradas" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "correio" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Próximas contas a expirar" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Mostrar templates" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/ru/000077500000000000000000000000001304016502700167155ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ru/fusiondirectory.po000066400000000000000000005533121304016502700225160ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: # Alexey Matveev, 2015-2016 # Alexey Matveev, 2016 msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Russian (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Предпочитаемый язык" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Настройка языка" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Этот шаг позволяет выбрать предпочитаемый вами язык." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "В этом месте вы можете выбрать язык по умолчанию для всего сайта. При выборе \"автоматически\" будет и использоваться язык запрошенный браузером. Эта настройка может быть переопределена для каждого пользователя." #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Автоматически" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Контроль за установкой" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Основная проверка совместимости PHP и расширений" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Проверка PHP версии" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP должен быть %s версии или старше" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Пожалуйста обновитесь до поддерживаемой версии." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory требуется модуль для связи с вашим LDAP сервером." #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory требуется модуль для интернационализации интерфейса." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirectory требуется этот модуль для взаимодействия с различными типами серверов и протоколов." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory требуется модуль для интеграции с samba." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory требуется один из модулей 'mhash или 'sha1', чтобы использовать SSHA шифрование." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory требуется модуль для связи с IMAP сервером." #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory требуется модуль для обработки юникод строк." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory требуется расширение для обработки изображений." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "модуль сжатия" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory требуется расширение для обработки снапшотов." #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals механизм PHP, предоставляющий доступ ко всем глобальным переменным из скриптов без изменения области видимости. Это не безопасно." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Найдите 'register_globals' в вашем php.ini и переключите в 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "Это значение используется PHP сборщиком мусора, чтобы удалять старые сессии." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Найдите 'session.gc_maxlifetime' в вашем php.ini и установите в 86400 или больше." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Выкл" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "Чтобы во время использования FusionDirectory не возникло ни каких проблем, опция 'session.auto_start' должна быть установлена в 'Off' в вашем php.ini." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Найдите 'session.auto_start' в вашем php.ini и установите его в 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory нужно не меньше 128МБ памяти. Настройка этого предела ниже может привести к ошибкам, которые не воспроизводятся! Увеличьте его в большинстве случаев." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Найдите 'memory_limit' в вашем php.ini и установите его в '128M' или больше." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Найдите 'implicit_flush' в вашем php.ini и установите его в 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Время исполнения, должно быть не менее 30 секунд." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Найдите 'max_execution_time' в вашем php.ini и установите его в значение '30' или больше." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Повысить безопасность сервера установив опцию expose_php в 'off'. PHP не будет отправлять ни какую информацию о сервере, запускающему, в этом случае." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Найдите 'expose_php' в вашем php.ini и установите в 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Повысите производительность вашего сервер установив setting magic_quotes_gpc в 'off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Найдите 'zend.ze1_compatibility_mode' в вашем php.ini и установите в 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Добро пожаловать" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Добро пожаловать в мастер настройки FusionDirectory!" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Сообщение приветствия" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Перемещение" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Инспекция LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Анализ вашего текущего LDAP для совместимости с FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "Дать полные права на пользователей в выбранной ветке" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Проверка прав для LDAP базы" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Проверка на невидимых пользователей" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Проверка для супер администратора" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Проверка на пользователей за пределами дерева людей" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Проверка на группы за пределами дерева для них" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Проверка на невидимые подразделения" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "LDAP запрос не удался" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Ошибка" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Пропущен объектный класс FusionDirectory '%s'!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Пожалуйста проверьте вашу установку." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Ошибка LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Предупреждение" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Найден пользователь(и) %s, которые будут не видны в FusionDirectory или которые не полные." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Ошибка перемещения" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "Найдена учетная запись администратора FD 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "Найдена административная группа FD 1.0.7: %s" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "Нет рабочей учетной записи администратора FusionDirectory 1.0.8 в вашем LDAP." #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Создать" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Пользователи" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Группы" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Нет учетной записи администратора FusionDirectory в вашем LDAP." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Ошибка" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "ACL ролей по умолчанию не вставлены" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "Некоторые ACL ролей по умолчанию пропущены" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "ACL ролей по умолчанию вставлен" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Переместить пользователей в настроенное дерево пользователей" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Следующие ссылки будут обновлены" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Найдены группы %s, выходящие за пределы настроенного дерева '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Найдены подразделение(я) %s, которые будет не видны в FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Местоположение" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "URI подключения" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "TLS соединение" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Ветка" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Аутентификация" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "DN администратора" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Пароль администратора" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Состояние" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Текущее состояние" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Настройки LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Настройки LDAP соединения" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Этот диалог выполняет основную настройку LDAP соединения для FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Сбой при анонимном привязывании к серверу '%s'!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Сбой при привязки под пользователем '%s'!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "Повторить" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Анонимное подключение (bind) а к серверу '%s' удалась." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Обновить" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Пожалуйста укажите пользователя и пароль!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Привязка под пользователем '%s' к серверу '%s' удалась!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Готово" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Завершение - запишите конфигурационный файл" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Запись конфигурационного файла" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Конфигурационный файл доступе только для чтения. Пожалуйста обновите права на файл." #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Конфигурационный файл не читается или не существует вовсе." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "После скачивания и размещения файла в %s, убедитесь что пользователь из под которого запущен веб-сервера может читать %s, в то время как другие пользователи не должны." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Ошибка настройки" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Завершено" #: setup/class_setup.inc:248 msgid "Next" msgstr "Далее" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Внутренняя ошибка" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Не удалось войти: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Указанный объектный тип пустой или неверный!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "Не настроено" #: include/class_management.inc:165 msgid "Filter error" msgstr "Ошибка фильтра" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Фильтр неполный!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Права" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Ошибка доступа" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Вам не разрешено создавать снапшот для %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Вам не разрешено восстанавливать снапшот для %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "В конфигурационном файле не найдено объявление вкладки для '%s'. Не могу создать экземпляр плагина!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Отправить" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "По убыванию" #: include/class_listing.inc:313 msgid "Down" msgstr "Вниз" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "Сортировать по возврастанию" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "Сортировать по убыванию" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Выбрать все" #: include/class_listing.inc:592 msgid "created by" msgstr "создано" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Перейти в корень подразделений" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Перейти вверх на одно подразделение" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "Перейти к подразделению пользователя" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Обновить список" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Действия" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Копировать" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Вырезать" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Вставить" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Вырезать эту запись" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Копировать эту запись" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Восстановить снапшоты" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Экспортировать список" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Восстановить снапшот" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Создать снапшот" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Создать новый снапшот из объекта" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Фатальная ошибка" #: include/class_xml.inc:66 msgid "in" msgstr "в" #: include/class_xml.inc:68 msgid "on line" msgstr "на строке" #: include/class_xml.inc:69 msgid "XML error" msgstr "Ошибка XML" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Не могу изменить пароль, неизвестный пользователь '%s'" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Ошибка конфигурации" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Страница" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Невозможно экспортировать в PDF: не установлена библиотека FPDF." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Запрашиваемый канал не существует! Пожалуйста свяжитесь с вашим системным администратором." #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Отменить все" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Не могу вставить" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Имя пользователя" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Шаблон" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Название шаблона" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Критическая ошибка: не могу создать экземпляр класса '%s' - попробуйте запустить '%s' чтобы исправить это" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "FATAL: Ошибка при подключении к LDAP. Сервер сообщил '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "Логин (uid) не уникальный внутри LDAP дерева! Пожалуйста свяжитесь с вашим администратором." #: include/functions.inc:597 msgid "Authentication error" msgstr "Ошибка аутентификации" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Ошибка при добавлении блокировки. Свяжитесь с разработчиками!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Невозможно создать информацию о блокировки в LDAP дереве. Пожалуйста свяжитесь с вашим администратором!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "LDAP сервер вернул: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Найдены множественные блокировки для заблокированного объекта. Это не должно было случиться - очистите их." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Найдено более %d объектов." #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Установить новое значение лимита в %s и показать мне это сообщение если лимит будет исчерпан." #: include/functions.inc:1128 msgid "Configure" msgstr "Настроить" #: include/functions.inc:1133 msgid "incomplete" msgstr "не полный" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Продолжить в любом случае" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Редактировать в любом случае" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Вы собираетесь редактировать LDAP запись/записи %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Записей на странице" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Применить фильтр" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "%sB" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "%sKiB" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "%sMiB" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "%sGiB" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "%sTiB" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "%sPiB" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "%sEiB" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "%sZiB" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "%sYiB" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Файл '%s' не может быть удален. Попробуйте fusiondirectory-setup --check-directories чтобы исправить права." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Не могу записать файл проверки!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Не могу прочитать файл проверки!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Предупреждение LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Не могу получить информацию о схемах с сервера. Проверить схемы невозможно!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Доступные класс(ы)" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Не могу выделить свободный ID:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr " неизвестный idAllocation метод!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool не уникальна!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "нет доступных ID!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "Превышено максимальное число попыток!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Не могу выделить свободный ID!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Не могу обнаружить файл '%s' - пожалуйста запустите '%s', чтобы исправить это." #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Все объекты в этой категории" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Пожалуйста исправьте ошибку выше и обновите страницу." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "Настройка часового пояса '%s' в вашей конфигурации не правильная." #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Ошибка XML в fusiondirectory.conf: %s в строке %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Не могу привязаться к LDAP. Пожалуйста свяжитесь с системным администратором." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "Функционал снапшотов включен, но требуемая переменная '%s' не установлена." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "Функционал снапшотов включен, но требуемый модуль сжатия отсутствует. Пожалуйста установите '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Все категории" #: include/class_config.inc:1095 msgid "My account" msgstr "Моя учетная запись" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Выбрать список объектов типа '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Выбрать список объектов содержащих '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Выбрать список объекто у которых включен '%s'" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Выберите для поиска внутри поддеревьев" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Искать в поддеревьях" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Этот объект будет удален!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Объект '%s' будет удален!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Объект будет удален: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Объект '%s' будет удален: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Объект будет удален:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Объект '%s' будет удален:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Эти объекты будут удалены: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Объекты '%s' будут удалены: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "У вас недостаточно прав для удаления этого объекта!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "У вас недостаточно прав для удаления этого объекта:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "У вас недостаточно прав для удаления этих объектов:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "У вас недостаточно прав для создания этого объекта!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "У вас недостаточно прав для создания этого объекта:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "У вас недостаточно прав для создания этих объектов:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "У вас недостаточно прав для изменения этого объекта!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "У вас недостаточно прав для просмотра этого объекта!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "У вас недостаточно прав для просмотра этих объектов:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "У вас недостаточно прав для просмотра этих объектов:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "У вас недостаточно прав для перемещения этого объекта!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "У вас недостаточно прав для перемещения этого объекта:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "У вас недостаточно прав для перемещения этих объектов:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Информация о подключении" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Немогу подключиться к %s базе данных!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Не могу выбрать %s базу!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Не могу отправить запрос %s базе данных!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Поле '%s' содержит зарезервированные слова!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "неверная команда '%s'" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "Неверная команда '%s' для плагина '%s'!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Не могу выполнить '%s' команду!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Не могу выполнить '%s' команду для плагина %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Не могу выполнить '%s' команду (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Не могу выполнить '%s' команду (%s) для плагина %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Значение '%s' слишком большое!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' должно быть меньше чем %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Значение '%s' слишком маленькое!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' должен быть %d или больше!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' зависит от '%s' - пожалуйста предоставьте оба значения!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Запись с '%s' атрибутом уже есть в системе!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "Запись '%s' уже имеет атрибут '%s'!" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Обязательное поле '%s' пусто!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "Пример:" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "Поле '%s' содержит недопустимые символы." #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Пропущено %s PHP расширение!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Отмена" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Применить" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Сохранить" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Добавить" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Добавить %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Удалить" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Удалить %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Изменить..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Изменить %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Назад" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Для этой учетной записи нет корректных расширений %s!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "В этой учетной записи настройки %s включены. Вы можете отключить их, щелкнув ниже." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "В этой учетной записи настройки %s включены. Чтобы отключить еë, вам нужно вначале удалить настройки %s!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "В этой учетной записи настройки %s отключены. Вы можете включить их, щелкнув ниже." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "В этой учетной записи настройки %s отключены. Чтобы включить её, вам нужно вначале добавить настройки для %s." #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Добавить параметры %s" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Удалить параметры %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Январь" #: include/class_msgPool.inc:662 msgid "February" msgstr "Февраль" #: include/class_msgPool.inc:662 msgid "March" msgstr "Март" #: include/class_msgPool.inc:662 msgid "April" msgstr "Апрель" #: include/class_msgPool.inc:663 msgid "May" msgstr "Май" #: include/class_msgPool.inc:663 msgid "June" msgstr "Июнь" #: include/class_msgPool.inc:663 msgid "July" msgstr "Июль" #: include/class_msgPool.inc:663 msgid "August" msgstr "Август" #: include/class_msgPool.inc:663 msgid "September" msgstr "Сентябрь" #: include/class_msgPool.inc:664 msgid "October" msgstr "Октябрь" #: include/class_msgPool.inc:664 msgid "November" msgstr "Ноябрь" #: include/class_msgPool.inc:664 msgid "December" msgstr "Декабрь" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Воскресенье" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Понедельник" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Вторник" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Среда" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Четверг" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Пятница" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Суббота" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Сбой при выполнении операции в базе данных!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "операция чтения" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "операция добавления" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "операция изменения" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "операция удаления" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "операция поиска" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "аутентификация" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "Сбой при выполнении операции в LDAP!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Объект" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Сбой при загрузке!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Сбой при загрузке: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "'%s' по-прежнему используется этим объектом: %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "'%s' по-прежнему используется." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "'%s' по-прежнему используется этими объектами: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Файл '%s' не существует!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Не могу открыть файл '%s' для чтения!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Не могу открыть файл '%s' для записи!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "Значение для '%s' до сих пор не настроено или неверно, пожалуйста проверьте ваш конфигурационный файл!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Не могу удалить файл '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Не могу создать папку '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Не могу удалить папку '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Проверка поддержки %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Установите и активируйте %s PHP модуль." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Установите и активируйте %s Pear модуль." #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Не могу инициализировать класс '%s'! Может быть какой то плагин пропущен в настройках FusionDirectory?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Дата" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "Снапшоты" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Файл" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Строка" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Ошибка PHP" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "Тип" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Аргументы" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Создание этой страницы помогла PHP интерпретатору выявить некоторые ошибки!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Послать отчет об ошибке команде FusionDirectory" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Отправить отчет об ошибке" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Предупреждение о производительности" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "Низкая производительность LDAP: последний запрос занял около %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "во время операции на '%s' использовался LDAP сервер '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "во время операции на LDAP сервер %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Пожалуйста выберете нужные записи" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Название" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Описание" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "POSIX группа %s" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "Роль %s" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "Группа %s" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Группа пользователя" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Неизвестно" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Изменить" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Удалить" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Процесс удаления был отменен плагином '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "Не удалось переместить из \"%s\" в \"%s\"" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "B" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "KiB" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "MiB" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "GiB" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "TiB" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "секунды" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "минуты" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "часы" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "дни" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "Из шаблона" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "шаблон %s " #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Показать %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "Это название шаблона" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Ошибка при сохранении" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Уже есть запись с таким dn: %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "Запись %s не существует" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "Неизвестное поле \"%s\"" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (обязательный)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Не могу прочесть загруженный файл: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "файл пустой" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "файл не найден" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "файл не читаем" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "%s (%d байт)" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Загрузить" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Скачать" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Неверное значение для %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "Целое число от %d до %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "Целое число больше %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "Целое число меньше %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Вещественное число от %f до %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Вещественно число больше %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Вещественное число меньше %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "Были проблемы при распаковке данных снапшота" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "Вкладка \"%s\"" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "Доступ" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Управление списками контроля доступа (ACL)" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "ACL ролей" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "Неизвестный тип ACL '%s'!\nВозможно вам нужно запустить \"fusiondirectory-setup --migrate-acls\", чтобы перенести ваши acls в новый формат." #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Неизвестная запись '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Все пользователи" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "Не прочесть конфигурацию FusionDirectory %s/%s. Чтобы исправить это пожалуйста запустите fusiondirectory-setup --check-config." #: html/index.php:171 msgid "Smarty error" msgstr "Ошибка Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Время вашей сессии истекло!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "Ваш IP адрес изменен!" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "Проверка схемы LDAP сообщает об ошибке:" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Введите корректное имя пользователя!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Введите свой пароль!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Проверьте, правильно ли вы ввели имя пользователя и пароль." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Учетная запись заблокирована. Пожалуйста свяжитесь с вашим системным администратором." #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "CAS пользователь \"%s\" не может быть найден в LDAP" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "CAS пользователь \"%s\" соответствует нескольким пользователям в LDAP" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "В вашем браузере отключены куки. Пожалуйста включите их и обновите эту страницу перед входом в систему! " #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "Конфигурация FusionDirectory %s/%s не читаема. Прервано." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Адрес электронной почты" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "Не найден аккаунт с логином \"%s\"" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "Найдено множество учетных записей с логином \"%s\"" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Свяжитесь с вашим системным администратором, были проблемы с почтовым сервером" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Были проблемы с почтовым сервером, имэйл подтверждения не отправлены" #: html/main.php:115 msgid "PHP configuration" msgstr "Настройки PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Критическая ошибка: Register globals is on. FusionDirectory не позволит залогиниться до тех пор пока это не будет исправлено администратором." #: html/main.php:142 msgid "Password change" msgstr "Изменить пароль" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Срок действия вашего пароля почти закончился, пожалуйста измените его!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "Ваш пароль истек, пожалуйста установите новый." #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "Плагин" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Критическая ошибка: не все POST переменные переданы в PHP - пожалуйста сообщите вашему системному администратору!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Добро пожаловать %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Ссылки" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Редактировать POSIX настройки пользователя" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Домашний каталог" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Путь к домашнему каталогу пользователя" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Оболочка" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Какой шелл должен использоваться, когда пользователь заходит в систему" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Основная группа" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Основная группа пользователя" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Статус учетной записи unix у пользователя" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "Принудительный id пользователя/группы" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "Навязанное значение идентификатора пользователя и группы для этого пользователя" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "Id пользователя" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "Значение идентификатора пользователя" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "Id группы" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "Значение идентификатора группы" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Членство в группах" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Учетная запись" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Пользователь должен сменить пароль при первом входе в систему" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "Пользователь должен будет изменить пароль при первом входе (нужно указать значение для \"Задержка до принудительного изменения пароля\")" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "Минимальная задержка между изменениями пароля (дни)" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Задержка до принудительного изменения пароля (дни)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "У пользователя насильно будет изменен пароль после указанного количества дней (оставить пустым, чтобы отключить)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Дата окончания действия пароля" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Дата после которой пароль пользователя истечет (оставить пустым что бы отключить)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Через сколько отключать пользователя (дни)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Сколько подождать до отключения пользователя, после истечения пароля (оставить пустым, чтобы отключить)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "За сколько предупреждать об окончании действия пароля (дни)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "Предупреждать пользователя об окончании действия его пароля за указанное количество дней (оставить пустым, чтобы отключить)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Системные доверия" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Режим доверия" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Тип авторизации для этих хостов" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "отключен" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "полный доступ" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "разрешить доступ только на эти хосты" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Пользователю разрешено подключаться только к хостам из списка" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "автоматически" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "Истек" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "активный" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "срок действия параля истек" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "Пароль не изменяем" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Время ожидания блокировки истекло. Игнорирование блокировки!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "Группа пользователя %s" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "Группы и роли" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "Принадлежит группам" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "Принадлежит ролям" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Парольный метод" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Применяемый метод для хэша пароля" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Пароль" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Пароль (Оставьте пустым, если не хотите его менять)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Пароль еще раз" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Пользователь" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "Информация об учетной записи пользователя" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "Учетная запись пользователя" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Личная информация" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Фамилия" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "Фамилия пользователя" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Имя" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "Имя пользователя" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "Краткое описание пользователя" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "Фотография" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "Аватар пользователя" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "Рабочая контактная информация" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Местоположение" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Адм. единица" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Адрес" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "Рабочий почтовый адрес" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Номер комнаты" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Номер комнаты" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Телефон" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "Рабочий номер телефона" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Мобильный" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "Рабочий номер мобильного телефона" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Пейджер" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "Рабочий номер пейджера" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Факс" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "Рабочий номер факса" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Домашняя страница" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "Персональная домашняя страница" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "Информация об учетной записи" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "Логин этого пользователя" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "Пароль пользователя" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "Личная контактная информация" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "Отображаемое имя" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "Домашний адрес" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Домашний почтовый адрес" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Личный телефон" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Домашний телефон" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Информация об организации" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "Заголовок" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Организация" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Подразделение" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Номер подразделения" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Номер отдела" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Номер работника" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Номер работника" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Форма трудоустройства" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Руководитель" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "Вам не разрешено изменять свой пароль" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "Вы должны подождать %d секунд перед повторным изменением пароля" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "Пароль присутствует в истории старых паролей" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Для продолжения укажите свой текущий пароль." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Новый пароль" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Новый и текущий пароли слишком похожи." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Новый пароль слишком короткий." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Пароль содержит символы Unicode, которые могут проблемы!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "Статистика о пользователях" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "Статистика по пользователям" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "Статистика по группам" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "Просроченные учетные записи" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "Информационная панель" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "Отчеты" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "Статистика" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Восстановление пароля" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Настройки для функции восстановления пароля" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Настройки восстановления пароля" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Включить восстановление пароля" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "Включить или нет функцию восстановления пароля" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Адрес электронной почты отправителя" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Адрес электронной почты с которого будут отправляться письма" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Ссылка действительна (минуты)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Количество минут до истечения срока годности ссылки для восстановление " #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Соль для токенов" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Просто мера безопасности, вы можете вставить сюда все что угодно, даже случайные символы" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Разрешить исользование альтернативных адресов" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Пользователям также нужно ввести один из их дополнительных адресов для восстановления пароля" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Первое письмо" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Тема" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Тема первого письма" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Ссылка для восстановления пароля" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Тело (вначале логин %s, вторая ссылка)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Тело первого письма, отправляется когда пользователь запрашивает новый пароль. Использует %s логин и ссылку для восстановления." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Второе письмо" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Тема второго письма" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Пароль восстановлен успешно" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Тело (%s логин)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Тело второго письма, отправляется, чтобы подтвердить, что пароль был изменен. Использует %s логин пользователя." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Привет,\n\nВаш пароль был изменен.\nВаш логин по прежнему %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Настройки" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "Настройки FusionDirectory" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Внешний вид" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Язык" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Язык приложения. Если 'автоматически' или отсутствует, тогда будет спрошено у браузера какой использовать. Эта настройка может быть переопределена каждым пользователем." #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Тема" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Тема, которая будет использоваться" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Часовой пояс" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Часовой пояс, который будет использован" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Настройка схемы" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Включить проверку схемы при входе." #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Настройки пароля" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Метод хеширования пароля по умолчанию" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Используемый по умолчанию метод хеширования пароля" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Заставлять использовать хеш по умолчанию" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Принуждать использовать метод хеширования пароля по умолчанию" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Минимальная длина пароля" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Минимальная длинна пароля пользователя" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Минимальная разница в паролях" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Минимальное количество отличных символов от последнего пароля" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Использовать учетные записи с истекающим сроком действия" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Основные настройки" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Показать краткую информацию о списках" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Определяет, будет ли внизу каждого списка отображена строка состояния с краткой информацией о типе и количестве элементов списка." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Блокировка редактирования" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Проверьте, не была ли редактируемая вами запись изменена вне FusionDirectory в это же время." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Включить логирование" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Регистрация событий на стороне FusionDirectory" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "Ограничение размера LDAP" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Определяет количество записей, которые можно получить из LDAP по умолчанию." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Вход в систему и сессии" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Атрибут для входа" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Какой LDAP атрибут необходимо использовать в качестве логина при входе в систему." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Принудительно шифровать соединения" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Принудительно использовать шифрованный доступ (https) к веб интерфейсу, включив проверку безопасности PHP." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Предупреждать если сеанс не зашифрован" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "будут отображаться предупреждения для пользователя, когда http будет использоваться вместо https." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Время жизни сессии" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Включить снапшоты" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Это позволяет сохранять определенное состояние записей и позже его восстанавливать." #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Базовая запись снапшотов" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "Базовая запись, где снапшоты должны будут храниться внутри LDAP." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "SSL" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "Путь к сертификату CA" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "CAS" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "Включить CAS" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Хост" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Порт" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Местоположение пользователей и групп" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "DN атрибут пользователя" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Атрибут используемый у пользователей в начале dn" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Политика строго присваивания имен" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "Включить строгую проверку имен для пользователей и групп" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "Минимальный id групп/пользователей" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "Наименьший идентификатор пользователя или группы, который может быть назначен, чтобы избежать дыры в безопасности с идентификатором учетной записи равным 0." #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "Скрипт, который будет вызваться при нахождении следующего свободного номера id для пользователей иил групп." #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "Начальное значение для id пользователя" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Откуда начинать смотреть значение для нового свободного id пользователя." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "Начальное значение для id группы" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Откуда начинать смотреть значение для нового свободного id группы." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr " RDN пользователей" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "Ветка где пользователели хранятся." #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "RDN групп" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Ветка в которой хранятся группы." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "RDN для ACL ролей" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "Ветка в которой хранятся ACL ролей." #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Метод выделения id" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "Метод выделения идентификаторов для пользователей и групп" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Традиционный" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Пул id для samba и unix" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "Минимальное значение id пользователей в пуле" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "Минимальное значение для id пользователя, при использовании пул метода" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "Максимальное значение id пользователя в пуле" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "Максимальное значение для id пользователя, при использовании пул метода" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "Минимальное значение id группы в пуле" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "Минимальное значение для id группы, при использовании пул метода" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "Максимальное значение id группы в пуле" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "Максимальное значение для id группы, при использовании пул метода" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Отладка" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Отображение ошибок" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Показывать PHP ошибки в верхней части экрана. Следует отключить при рабочем использовании, потому что там могут быть отображены пароли." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Максимальное время LDAP запроса" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Остановить работу с LDAP если нет ответа за определенное количество секунд." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Лог статистики обращений к LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Отслеживать продолжительность обращений к LDAP в syslog. Это может помочь найти проблемы в индексировании и плохих фильтров поиска." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Уровень отладки" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Отображать следующую информацию при каждой загрузке странице." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Разное" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "вкладка" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "Режим" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "Когда вызывать эту команду" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "cmd" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Команда, которая будет вызвана" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Хуки" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Доступные оболочки" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Доступные POSIX шеллы для пользователей FD" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "Показать вкладку ACL для всех объектов." #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "Доступные категории подразделений" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "Доступные категории подразделений в раскрывающемся списке" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Плагины" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Настройки плагинов" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Настройки плагинов" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "FusionDirectory настройка плагинов" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Объединения" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Ветка в которой объекты групп будут храниться" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "Настройка информационной панели" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "Настройка плагина информационной панели FusionDirectory" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "Название схемы для информационной панели" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "Количество цифр" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "Количество цифр используемых после префикса" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "Префиксы" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "Префексы, которые будут использоваться для идентификаторов компьютеров" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "Информационная панель - пользователи с истекшим сроком действия" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "Количество дней" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Подразделения" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "отдел" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Свойства" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "Название %s" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "Название для %s" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "Короткое описание для %s" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Категория" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "Категория для %s" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "Сайт" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "Сайт %s" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "Руководитель этого %s" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Страна" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "Почтовый адрес для %s" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "Номер телефона" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "Номер факса" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "организации" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Домен" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "домен" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Управление подразделениями" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "Управление подразделениями, странами, доменными компонентами, доменами, местоположениями и организационными удиницами" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "Пользователи и группы" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Доменный компонент" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "доменный компонент" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Местоположение" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "Местоположения" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Список подразделений" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "страна" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Управление пользователями" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "Управление аккаунтами пользователей и их свойствами" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Блокировка учётной записи" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "Парольный метод \"%s\" не поддерживает блокирование. Аккаунт \"%s\" не будет заблокирован!" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Разблокировать акаунт" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Заблокировать акаунт" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Список пользователей" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Фамилия" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Имя" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Заблокировать пользователей" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Разблокировать пользователей" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Применить шаблон" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Новый пользователь из шаблона" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Редактировать пользователя" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Удалить пользователя" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Роль" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "Информация о роли" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "Организационная роль" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Информация" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "Название этой группы" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "Описание роли" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Телефон" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Факс" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "Добавить пользователей для роли" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "Управление группами и ролями" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "Управление объектами группы, POSIX группы и роли" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "Редактировать свойства роли" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Редактировать posix свойства" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "Показать группы пользователей" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Показать основные группы" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "Показать организационные роли" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "Показать группы приложений" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "Показать неопознанные группы" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Показывать группы mail" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Показать группы samba" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "Показать группы серверов" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "Показать группы рабочих станций" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "Показать группы рабочих станций с Windows" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "Показать группы терминалов" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "Показать группы принтеров" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "Показать группы телефонов" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "Неизвестный тип: %s" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "Не существующий dn: %s" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Объект группы" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "Информация об объекте группы" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Группа" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "Краткое описание группы" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Включаемые объекты" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "Объекты, члены этой группы" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "Позволить подключаться этой группе только к хостам из списка" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Список групп" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "Информация об POSIX группе" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "POSIX группа" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Указать GID вручную" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "Указать значение GID для группы" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "GID значение для этой группы" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Члены группы" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "Dn" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "Назначения ACL" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "Управление назначением ACL ролей пользователям" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "Назначение ACL" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "Диалог назначения ролей управления доступом" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "Режим" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "Применить это действие ко всему поддереву или только к его основе?" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "Subtree" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "Только к основе" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "Применить роль" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "Для всех пользователей" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "Применить этот ACL для всех пользователй LDAP" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Члены" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "Пользователи или группы, которым будет назначена эта роль." #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "Назначение ACL" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "Назначения ролей управления доступом" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "Назначения" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "Назначенные роли ACL для этой корневой записи" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "Назначения на объекты или поддеревья %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Нет ACL настроек для этой категории" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL для объектов: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Редактировать категорию ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Сбросить категорию ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Список доступных ACL категорий" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Все объекты в текущем поддереве" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "Редактировать ACL для \"%s\"" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "чтение" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "запись" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Показать/скрыть дополнительные настройки" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Создать объекты" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Переместить объекты" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Удалить объекты" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Наделить правами доступа владельца" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Объект целиком" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "Управление ACL ролей" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "Управление ACL ролей" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Содержит настройки для этих объектов: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Роли контроля доступа" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "ACL роли" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "Имя роли" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "Короткое описание для этой роли" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "ACLs" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "ACLs, которые являются частью этой группы" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory НЕ сможет продолжить работу без исправления этой ошибки." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory сможет продолжить работу без исправления этой ошибки." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Создать новую учетную запись администратора FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Этот диалог автоматически добавит нового суперадминистратора в ваше дерево LDAP," #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Идентификатор пользователя" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Пароль (еще раз)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Похоже, что вы запустили FusionDirectory впервые, поскольку мы не смогли найти ни одной конфигурации. Этот простой мастер поможет вам в настройке." #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Что мастер делает?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Создает базовую конфигурацию для одного узла" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Пробую найти проблемы с настройками PHP и LDAP" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Позволяет вам выбрать из набора основных и расширенных переключателей конфигурации" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Управляет переносом существующих LDAP деревьев" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Что этот мастер НЕ делает?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Найти все возможные ошибки конфигурации" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Перенести все возможные настройки LDAP - сделайте резервную копию!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "Для продолжения:" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "Для обеспечения безопасности установки вам нужно подтвердить подлинность, создав на сервере файл '%1', содержащий ID сессии. Для этого выполните следующую команду: " #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "По завершении нажмите кнопку \"Далее\"" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "После миграции" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Закрыть" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "Этот диалог позволяет переместить несколько записей в дереве конфигурации. Эти действия могут привести в порядок ваш LDAP сервер." #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "Переместить выделенные записи внутрь дерева" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "Перечисленные записи сейчас не видны в интерфейсе FusionDirectory. Если вы хотите изменить это только для нескольких записей, просто выделите их и используйте кнопку 'Переместить' ниже." #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Если вы хотите знать, что будет сделано при переселении выбранных записей, воспользуйтесь кнопкой 'Показать изменения', чтобы посмотреть на LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Показать изменения" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Во время осмотра LDAP мы собираемся проанализировать некоторые типичные ошибки, возникающие в процессе переноса FusionDirectory LDAP администратором. Вы можете исправить найденные проблемы, чтобы обеспечить стабильную работу служб." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Проверить снова" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Создайте конфигурационный файл" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Скачать конфигурацию" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Состояние:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Фильтр" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Забыли пароль" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Этот диалог предназначен для смены пароля. Введите новый пароль дважды в доступные ниже поля и нажмите кнопку \"Изменить\"." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Каталог" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Надежность пароля" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Изменить" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Нажмите, чтобы сменить пароль" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Успешно" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Ваш пароль был успешно изменен." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Введите ваш текущий адрес электронной почты в нижние поле и нажмите кнопку 'Изменить'." #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "Email" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Функция восстановления пароля не активирована. Если вы потеряли пароль, обратитесь к системному администратору." #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Окно входа" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Пожалуйста используйте свое имя и пароль что бы войти в систему администрирования сайтом." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Имя пользователя" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Не помню пароль" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Войти" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Нажмите на эту кнопку, чтобы войти в систему" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "Ограничение на количество возвращаемых объектов позволяет ускорить операции поиска и предохраняет сервер LDAP от большой нагрузки. Простейший способ снизить время обработки запроса при обслуживаии большой базы данных это установить минимальное значение. Кроме того, будет очень полезно использовать фильтры для просмотра только ограниченного количества объектов." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Выберите тип реакции для данной сессии" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "игнорировать ошибку и показать все найденые объекты" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Установить" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "Предупреждение: вы собираетесь удалить следующие объекты" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Итак - если вы уверены - нажмите 'Удалить', чтобы продолжить или 'Отмена' чтобы прервать." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Начало" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Выход" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Пользователь:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Сессия закончится через %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Продолжить" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Конфликт блокировок" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Только для чтения" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Мастер копирования" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Помните, что некоторые свойства, такие как сделанные снапшоты, не будут скопированы" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Если вы скопируете или вырежете запись с помощью FusionDirectory и удалите исходный объект, вы можете получить ошибки при вставке этого объекта снова!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Операция выполнена" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "Создание нового объекта используя шаблоны" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Назначенный ACL для текущей записи" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Новый ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Тип ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Выберите тип ACL" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Дополнительные опции фильтра" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Использовать членов из" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Доступные члены" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL для этого объекта" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Доступные роли" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "Команда FusionDirectory" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Данный объект не имеет ссылок на другие объекты" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Настройки пользователя" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Установить новый пароль" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Изображение" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Фотография пользователя" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Удалить изображение" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "У вас недостаточно прав, чтобы изменить пароль." #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Парольный метод не будет изменен!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Вы успешно сменили свой пароль. Не забудьте изменить нужные настройки использующих его программ." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "Есть %1 группа:" msgstr[1] "Есть %1 группы:" msgstr[2] "Есть %1 групп:" msgstr[3] "Есть %1 групп:" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "У одной из них %1 группа" msgstr[1] "У %2 из них %1 группа" msgstr[2] "У %2 из них %1 группа" msgstr[3] "У %2 из них %1 группа" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "Ни у кого нету %1 группы" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "Есть %1 пользователь:" msgstr[1] "Есть %1 пользователя:" msgstr[2] "Есть %1 пользователей:" msgstr[3] "Есть %1 пользователей:" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "У одного из них есть %1 аккаунт" msgstr[1] "У %2 из них есть %1 аккаунт" msgstr[2] "У %2 из них есть %1 аккаунт" msgstr[3] "У %2 из них есть %1 аккаунт" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "Ни у одногр из них нету %1 аккаунта" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "Один из них заблокирован" msgstr[1] "%1 из них заблокированы" msgstr[2] "%1 из них заблокированы" msgstr[3] "%1 из них заблокированы" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "Ни один из них не заблокирован" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "Нет учетных записей с истекшим сроком действия" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "uid" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "cn" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "В ближайшие %1 дней нет учетной записи, срок работы которой истечет." #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "Следующая просроченная учетная запись" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Показать шаблоны" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Показывать функциональных пользователей" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Показывать пользователей POSIX" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Показать пользователей Почты" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Показывать пользователей Samba" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "Нажмите 'Удалить', чтобы продолжить или 'Отменить', чтобы прервать." fusiondirectory-1.0.19/locale/ru@petr1708/000077500000000000000000000000001304016502700202305ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ru@petr1708/fusiondirectory.po000066400000000000000000004003721304016502700240260ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Russian Petrine orthography (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/ru@petr1708/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru@petr1708\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/sv/000077500000000000000000000000001304016502700167175ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/sv/fusiondirectory.po000066400000000000000000004610221304016502700225140ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Swedish (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Föredraget språk" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Språkinställningar" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Det här steget låter dig välja ditt föredragna språk." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Automatiskt" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "PHP modul- och tilläggskontroll" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Installationskontroll" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Grundläggande kontroll för PHP-kompatibilitet och tillägg" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Kontrollerar PHP-version" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP måste vara version %s eller högre." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Vänligen uppgradera till en version som stöds." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "FusionDirectory kräver den här modulen för att prata med din LDAP-server" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "FusionDirectory kräver den här modulen för ett internationaliserat gränssnitt." #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "FusionDirecotyr kräver den här modulen för att kommunicera med olika typer av servrar och protokoll." #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "FusionDirectory kräver den här modulen för integrationen med Samba." #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "FusionDirectory kräver antingen en modul för antingen 'mhash' eller 'shah' för at kunna använda SSHA-kryptering." #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "FusionDirectory kräver den här modulen för att kunna prata med en IMAP-server" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "FusionDirectory kräver den här modulen för att hantera unicode-strängar." #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "imagick" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "FusionDirectory kräver det här tillägget för att hantera bilder." #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "compression-modul" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "FusionDirectory kräver det här tillägget för att hantera ögonblicksbilder" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "register_globals är en PHP-mekanism för att registrera alla globala variabler så de är tillgängliga från skript utan att ändra scope. Detta kan vara en säkerhetsrisk." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Sök efter 'register_globals' i din php.ini och ställ in den som 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP använder det här värdet för garage collection för att ta bort gamla sessioner" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Att ställa in det här värdet till en dag kommer att förhindra förlust av sessioner och cookies innan de verkligen når time out." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Sök efter 'session.gc_maxlifetime' i din php.ini och sätt den till 86400 eller högre." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Av" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "För att använda FusionDirectory utan problem, bör session.auto_start i din php.ini sättas till 'Off'." #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Sök efter 'session.auto_start' i din php.ini och sätt den till 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "FusionDirectory behöver åtminstone 128MB minne. En inställning under denna gräns kan orsaka fel som inte är reproducerbara. Öka värdet för större installationer." #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "Sök efter 'memory_limit' i din php.ini och ställ in den på '128M' eller högre." #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Den här inställningen påverkar PHPs utdata-hantering. Stäng av den för att öka prestanda." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Sök efter 'implicit_flush' i din php.ini och sätt den till 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Exekveringstiden bör vara åtminstone 30 sekunder." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Sök efter 'max_execution_time' i php.ini och sätt den till '30' eller högre." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Öka serversäkerheten genom att sätta expose_php till 'off'. PHP kommer i så fall inte sända någon information om servern du kör på." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Sök efter 'expose_php' i din php.ini och sätt den till 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Öka din serverprestanda genom att sätta magic_quotes_gpc till 'off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Sök efter 'zend.ze1_compatibility_mode' i php.ini och sätt den till 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Välkommen" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "Välkommen till FusionDirectory setup wizard" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Välkomstmeddelandet" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Migrera" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "LDAP-inspektion" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "Analysera nuvarande LDAP-katalog för kompatibilitet med FusionDirectory" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "Inspekterar objektklasser i root-objektet" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "Kontrollerar rättigheter för LDAP-databas" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Söker efter osynliga användare" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Söker efter superadministratör" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Söker efter användare utanför person-trädet" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Söker efter grupper utanför gruppträdet" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Söker efter osynliga avdelningar" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Söker efter dubbletter av UID-nummer" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "LDAP-fråga misslyckades" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Misslyckades" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "Saknar objektklassen '%s' för FusionDirectory!" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "Vänligen kontrollera din installation." #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "Kan inte hantera den strukturella objekttypen hos ditt root-objekt. Vänligen lägg till objektklassen '%s' manuellt." #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP-fel" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Varning" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "Hittade %s användare som inte kommer att vara synlig(a) i FusionDirectory eller som är ofullständig(a)." #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Migreringsfel" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Skapa" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Användare" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Grupper" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "Det finns inget FusionDirectory-adminkonto i din LDAP-katalog." #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Fel" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Flytta användare in i det konfigurerade användarträdet" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "till" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Följande referenser kommer att uppdateras" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Hittade %s grupper utanför det konfigurerade trädet '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "Hittade %s avdelning(ar) som inte kommer att vara synliga i FusionDirectory." #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Location name" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "Koppling-URI" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "TLS-koppling" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Bas" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Autentisering" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "Admin DN" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Adminlösenord" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Status" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Nuvarande status" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "LDAP-inställningar" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "LDAP-koppling" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "Den här dialogrutan utför den grundläggande konfigurationen för LDAP-kopplingen till FusionDirectory." #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Anonym koppling till server '%s' misslyckades!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Koppling som användare '%s' misslyckades!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Anonym koppling till servern '%s' lyckades." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "Uppdatera" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Skriv in användare och lösenord!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Koppling som användare '%s' till servern '%s' lyckades!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Slutför" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Slutför - skriv konfigurationsfil" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Skriv konfigurationsfil" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "Din konfigurationsfil är just nu läsbar för alla användare. Vänligen uppdatera filrättigheterna!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Konfigurationen är just nu inte läsbar eller så finns den inte." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "Efter att ha laddat ner och placerat filen under %s, vänligen säkerställ att användaren som webbservern kör med har rättigheter att läsa %s medan andra användare inte ska kunna det." #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Installationsfel" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Slutförd" #: setup/class_setup.inc:248 msgid "Next" msgstr "Nästa" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Internt fel" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Loggning misslyckades: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "Angiven objectType är tom eller ogiltig!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "okonfigurerad" #: include/class_management.inc:165 msgid "Filter error" msgstr "Filterfel" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "Filtret är inte komplett!" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Rättighet" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Rättighetsfel" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Du har inte tillåtelse att skapa en ögonblicksbild för %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Du är inte tillåten att återskapa en ögonblicksbild för %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "Ingen tab-deklaration för '%s' hittades i din konfigurationsfil. Kan inte skapa plugin-instans!" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Root" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Skicka" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Upp" #: include/class_listing.inc:313 msgid "Down" msgstr "Ner" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Välj alla" #: include/class_listing.inc:592 msgid "created by" msgstr "skapat av" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Gå till root-avdelning" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Gå upp en avdelning" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Hem" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Ladda om lista" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Åtgärder" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Kopiera" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Klipp ut" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Klistra in" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Klipp ut post" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Kopiera post" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "Återskapa ögonblicksbilder" #: include/class_listing.inc:1743 msgid "Export list" msgstr "Exportera lista" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Återskapa ögonblicksbild" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Skapa ögonblicksbild" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Skapa ny ögonblicksbild från det här objektet" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Allvarligt fel" #: include/class_xml.inc:66 msgid "in" msgstr "i" #: include/class_xml.inc:68 msgid "on line" msgstr "online" #: include/class_xml.inc:69 msgid "XML error" msgstr "XML-fel" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "Kan inte byta lösenord, okänd användare '%s'" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Konfigurationsfel" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "Sida" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "Ingen PDF-export är möjlig: det finns inget FPDF-bibliotek installerat." #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "PDF" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "CSV" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "Begärd kanal finns inte! Vänligen kontakta din administratör" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Avbryt allt" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Kan inte klistra in" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Användarnamn" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Mall" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Mall-namn" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Allvarligt fel: inga klass-locations definierade - vänligen kör '%s' för att åtgärda detta" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Allvarligt fel: kan inte instansiera klassen '%s' - försök köra '%s' för att åtgärda detta" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "ALLVARLIGT: Fel vid försöka att koppla mot LDAP. Servern sa '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Autentiseringsfel" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Fel uppstod när lås skulle läggas till. Kontakta utvecklarna!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Kan inte skapa låsinformation i LDAP-trädet. Vänligen kontakta din administratör!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "LDAP-server returnerade %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Hittade flera lås för objektet som ska låsas. Detta ska inte hända - rensar upp multipla referenser." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Storleksgränsen på %d poster har överskridits!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Sätt ny storleksgräns till %s och visa mig meddelandet om gränsen fortfarande överskrids" #: include/functions.inc:1128 msgid "Configure" msgstr "Konfigurera" #: include/functions.inc:1133 msgid "incomplete" msgstr "ofullständig" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Fortsätt ändå" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Redigera ändå" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Du kommer att redigera LDAP-posten/posterna %s" #: include/functions.inc:1766 msgid "Entries per page" msgstr "Poster per sida" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Aktivera filter" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "Filen '%s' kunde inte tas bort. Försök med fusiondirectory-setup --check-directories för att åtgärda rättighetsproblem." #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Kan inte skriva till revisionsfil!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "Kan inte läsa revisionsfil!" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "'nextIdHook' är inte tillgänglig. Använder standard-bas!" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "LDAP-varning" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Kan inte hämta schemainformation från servern. Ingen schemakontroll är möjlig!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Klass(er) tillgänglig(a)" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "Kan inte allokera ett fritt ID:" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "okänd idAllocation-metod!" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "%sPoolMin >= %sPoolMax!" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "sambaUnixIdPool är inte unik!" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "inget ID tillgängligt!" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "maximalt antal försök överskridet!" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Kan inte allokera ett fritt ID!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Kan inte lokalisera filen '%s' - vänligen kör '%s' för att åtgärda detta" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Alla objekt i den här kategorin" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Vänligen fixa ovanstående fel och ladda om sidan." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "XML-fel i fusiondirectory.conf: %s på rad %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Kan inte koppla mot LDAP. Vänligen kontakta systemadministratören" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "Funktionen för ögonblicksbilder är aktiverad, men värdet '%s' som krävs för funktionen är inte satt." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "Funktionen för ögonblicksbilder är aktiverad, men kompressionsmodulen som krävs saknas. Vänligen installera '%s'." #: include/class_config.inc:965 msgid "All categories" msgstr "Alla kategorier" #: include/class_config.inc:1095 msgid "My account" msgstr "Mitt konto" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Välj att lista objekt av typen '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Välj att lista objekt som innehåller '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Välj att lista objekt som har '%s' aktiverat" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Välj för att söka i subträd" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Sök i subträd" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Det här objektet kommer att tas bort!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Det här '%s'-objektet kommer att tas bort!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Det här objektet kommer att tas bort: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Det här '%s'-objektet kommer att tas bort: %s" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Det här objektet kommer att tas bort:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Det här '%s'-objektet kommer att tas bort:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "De här objekten kommer att tas bort: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "De här '%s'-objekten kommer att tas bort: %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Du har inte rättigheter att ta bort det här objektet!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Du har inte rättigheter att ta bort objektet:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Du har inte rättigheter att ta bort objekten:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Du har ingen rättighet att skapa det här objektet!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Du har ingen rättighet att skapa objektet:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Du har ingen rättighet att skapa dessa objekt:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Du har ingen rättighet att modifiera det här objektet!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Du har inga rättigheter att visa detta objekt!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Du har inga rättigheter att visa objektet:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Du har inga rättigheter att visa dessa objekt:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Du har inga rättigheter att flytta det här objektet!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Du har inga rättigheter att flytta objektet:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Du har inga rättigheter att flytta de här objekten:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Anslutningsinformation" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Kan inte ansluta till databasen %s !" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Kan inte välja databasen %s !" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Ingen %s server angiven!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Kan inte fråga %s-databasen!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Fältet '%s' innehåller ett reserverat nyckelord!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Kommandot specificerat som %s hook för pluginen '%s' existerar inte!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "Kommandot '%s' är inte giltigt!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "Kommandot '%s' för plugin %s är ogiltigt!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "Kommandot '%s' (%s) är ogiltigt!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "Kommandot '%s' (%s) för plugin %s är ogiltigt!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Kan inte exekvera kommandot '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Kan inte exekvera kommandot '%s' för plugin %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Kan inte exekvera kommandot '%s' (%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Kan inte exekvera kommandot '%s' (%s) för plugin %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Värdet för '%s' är för stort!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "'%s' måste vara mindre än %s!" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Värdet för '%s' är för litet!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' måste vara %d eller större!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' beror på '%s' - vänligen ange båda värdena!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Det finns redan en post med det här '%s'-attributet i systemet!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Fältet '%s' krävs men är tomt!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' är inte tillåtet:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' är inte tillåtna!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "Saknar PHP-tillägget %s !" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Avbryt" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Spara" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Lägg till" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Lägg till %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Ta bort" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Ta bort %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Redigera..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Redigera %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Tillbaka" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Det här kontot har inga giltiga %s-tillägg!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Det här kontot har %s-inställningar aktiverade. Du kan avaktivera dem genom att klicka nedan." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Det här kontot har %s-inställningar aktiverade. För att avaktivera dem, behöver du ta bort %s-inställningarna först!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Det här kontot har %s-inställningar avaktiverade. Du kan aktivera dem genom att klicka nedan." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Det här kontot har %s-inställningar avaktiverade. För att aktivera dem, behöver du lägga till %s-inställningarna först!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Lägg till %s-inställningar" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Ta bort %s-inställningar" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "januari" #: include/class_msgPool.inc:662 msgid "February" msgstr "februari" #: include/class_msgPool.inc:662 msgid "March" msgstr "mars" #: include/class_msgPool.inc:662 msgid "April" msgstr "april" #: include/class_msgPool.inc:663 msgid "May" msgstr "maj" #: include/class_msgPool.inc:663 msgid "June" msgstr "juni" #: include/class_msgPool.inc:663 msgid "July" msgstr "juli" #: include/class_msgPool.inc:663 msgid "August" msgstr "augusti" #: include/class_msgPool.inc:663 msgid "September" msgstr "september" #: include/class_msgPool.inc:664 msgid "October" msgstr "oktober" #: include/class_msgPool.inc:664 msgid "November" msgstr "november" #: include/class_msgPool.inc:664 msgid "December" msgstr "december" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "söndag" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "måndag" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "tisdag" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "onsdag" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "torsdag" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "fredag" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "lördag" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "Databasoperation misslyckades!" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "läs" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "lägg till" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "modifiera" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "ta bort" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "sök" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "autentisering" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s misslyckades!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "LDAP-operation misslyckades!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "Objekt" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Uppladdning misslyckades!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Uppladdning misslyckades: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Kommunikationsfel med infrastrukturtjänsten!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Kommunikationsfel med infrastrukturtjänsten: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "'%s' används fortfarande av det här objektet %s" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "'%s' används fortfarande." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "'%s' används fortfarande av dessa objekt: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "Filen '%s' existerar inte!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Kan inte öppna filen '%s' för läsning!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Kan inte öppna filen '%s' för skrivning!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "Värdet för '%s' är för närvarande okonfigurerat eller ogiltigt, vänligen kolla din konfigurationsfil!" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Kan inte ta bort fil '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Kan inte skapa katalog '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Kan inte ta bort katalogen '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Kontrollerar stöd för %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Installera och aktivera PHP-modulen %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "Installera och aktivera modulen %s Pear" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "Kan inte initialisera klassen '%s'! Kanske det är ett plugin som saknas i din FusionDirectory-installation?" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "Den angivna basen är inte giltig och har återställts till det tidigare värdet!" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Tidsstämpel" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "Fil" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Rad" #: include/php_setup.inc:53 msgid "PHP error" msgstr "PHP-fel" #: include/php_setup.inc:62 msgid "class" msgstr "klass" #: include/php_setup.inc:70 msgid "function" msgstr "funktion" #: include/php_setup.inc:76 msgid "static" msgstr "statisk" #: include/php_setup.inc:80 msgid "method" msgstr "metod" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Spårning" #: include/php_setup.inc:132 msgid "Type" msgstr "Typ" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Argument" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Generering av denna sida gjorde att PHP-tolken observerade några fel!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "Skicka buggrapport till FusionDirectory-teamet" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Skicka buggrapport" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Växla informationsläge" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Prestandavarning" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "LDAP-prestanda är låg: senaste frågan tog runt %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "under operation på '%s' med LDAP-server '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "under operation på LDAP-server %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "Välj önskade poster" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Namn" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Beskrivning" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Användarens grupp" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "Ingen" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Okänd" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Redigera" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Ta bort" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "Inga plugin-definitioner kunde hittas för att initialisera '%s', vänligen kontrollera din konfigurationsfil." #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Borttagningsprocess har avbrutits av pluginen '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "sekunder" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "Visa %s" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "INGEN ETIKETT" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "Fel under skrivning" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "Det finns redan en post med samma dn : %s" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "Posten %s finns inte" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "%s (krävs)" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "Objekt-bas" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "Kan inte läsa uppladdad fil: %s" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "filen är tom" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "filen kunde inte hittas" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "filen är inte läsbar" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "Ladda upp" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "Ladda ner" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "Ogiltigt värde för %s" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "En siffra mellan %d och %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "En siffra större än %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "En siffra mindre än %d" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "Ett flyttal mellan %f och %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "Ett flyttal större än %f" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "Ett flyttal mindre än %f" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Hantera åtkomstkontrollistor (ACL)" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "ACL-roller" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Okänd post '%s'!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "Alla användare" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Katalogen '%s' specificerat som kompileringskatalog är inte tillgänglig!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "FusionDirectory-konfiguration %s/%s är inte läsbar. Vänligen kör fusiondirectory-setup --check-config för att åtgärda detta." #: html/index.php:171 msgid "Smarty error" msgstr "Smarty-fel" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "Din FusionDirectory-session har gått ut!" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Ange ett giltigt användarnamn!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Ange ditt lösenord!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Kontrollera användarnamn/lösenord-kombinationen." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Kontot låst. Kontakta systemadministratören!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Din webbläsare har avaktiverat cookies. Vänligen aktivera cookies och ladda om den här sidan innan du loggar in!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "FusionDirectory-konfiguration %s/%s är inte läsbar. Avbryter." #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "Epostadress" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "Kontakta din administratör, det uppstod ett problem med epostservern" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "Det uppstod ett problem med epostservern, bekräftelsebrevet skickades inte" #: html/main.php:115 msgid "PHP configuration" msgstr "PHP-konfiguration" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "Allvarligt fel: Register globals är påslaget. FusionDirectory kommer att vägra logga in om inte detta är åtgärdat av en administratör" #: html/main.php:142 msgid "Password change" msgstr "Ändra lösenord" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Ditt lösenord är på väg att gå ut, vänligen byt lösenord!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Tillgängligt minne snart slut!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "ACL-kontroll av användare är inte påslaget" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "Allvarligt fel: Kan inte hitta några plugin-definitioner för pluginen '%s' ('%s' är ingen fil)!" #: html/main.php:305 msgid "Configuration Error" msgstr "Konfigurationsfel" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "Allvarligt fel: inte alla POST-variabler överfördes av PHP - informera din administratör!" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Välkommen %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Referenser" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "Unix" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Redigera användarens POSIX-inställningar" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Hemkatalog" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "Sökvägen till hemkatalogen för den här användaren" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Skal" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "Vilket skal ska användas när den här användaren loggar in" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Primär grupp" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "Primär grupp för den här användaren" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "Status på det här unix-kontot" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Gruppmedlemskap" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Konto" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Användare måste ändra lösenord vid första inloggning" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "Fördröjning innan tvingande lösenordsbyte (dagar)" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "Användaren kommer att tvingas byta lösenord efter så här många dagar (lämna tomt för att avaktivera)" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "Utgångsdatum för lösenord" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "Datum efter vilket denna användares lösenord kommer att sluta gälla (lämna tomt för att avaktivera)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "Inaktivitet innan avaktivering av användare (dagar)" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "Maximalt antal inaktiva dagar efter lösenordets utgång innan användaren är avaktiverad (lämna tomt för att avaktivera funktionen)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "Fördröjning för varning innan lösenordsbyte (dagar)" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "Användaren kommer att varnas så här många dagar innan lösenordet löper ut (lämna tomt för att avaktivera)" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "System trust" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Trust-läge" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "Auktoriseringstyp för dessa hosts" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "avaktiverad" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "full tillgång" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "tillåt dessa hosts tillgång" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "Tillåt användaren att endast logga in på denna lista av hosts" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "automatisk" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "har utgått" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "grace-tid aktiv" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "aktiv" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "lösenord har slutat gälla" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "lösenord kan inte ändras" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Timeout under väntan på låsning. Ignorerar lås!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Lösenordsmetod" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "Lösenords-hash att använda" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Lösenord" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "Lösenord (Lämna tomt om du inte vill ändra det)" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "Lösenordet igen" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "Samma lösenord som ovan, för att undvika fel" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Användare" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Personlig information" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Efternamn" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Förnamn" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Plats" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Län" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Adress" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Rumsnummer" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Rumsnummer" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Telefon" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Mobil" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Pager" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Hemsida" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Hempostadress" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Privat telefon" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Hemtelefonnummer" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Organisationsinformation" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Organisation" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Avdelning" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Avdelningsnummer" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Avdelningsnummer" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Anställningsnummer" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Anställningsnummer" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Anställningstyp" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "Manager" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Du behöver ange ditt nuvarande lösenord för att fortsätta." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Nytt lösenord" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Det nya lösenordet och det nuvarande är för lika varandra." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Det nya lösenordet är för kort." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "Lösenordet innehåller möjligtvis problematiska Unicode-tecken!" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "Återskapande av lösenord" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "Inställningar för funktionen för återställning av lösenord" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "Inställningar för återskapande av lösenord" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "Aktivera återställning av lösenord" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "Avsändaradress för epost" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "Epostadress från vilken epostmeddelanden sänds" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "Länkens giltighetstid (minuter)" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "Antalet minuter innan en återställningslänk slutar gälla" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "Salt för tokens" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "Bara en säkerhetsåtgärd, du kan skriva vad som helst där, till och med slumpmässiga tecken" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "Tillåt användande av alternativa adresser" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "Användare kommer också att kunna skriva in en av deras alternativa epostadresser för att återställa lösenordet" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "Första epost" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "Ämne" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "Ämne på första epostmeddelandet" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "[FusionDirectory] Länk för återskapande av lösenord" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "Meddelandekropp (första %s är inläggnings-ID, andra är länken)" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "Meddelandekropp för det första epostmeddelandet, skickat när en användare frågar efter ett nytt lösenord. Använd %s för inläggnings-ID och återställningslänk." #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "Andre epostmeddelandet" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "Ämne på det andra epostmeddelandet" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "[FusionDirectory] Återställning av lösenord lyckades" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "Meddelandekropp (%s är login)" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "Meddelandekropp på det andra epostmeddelandet, som skickas för att bekräfta att lösenordet har ändrats. Använd %s för användarens inloggnings-ID." #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "Hej,\n\nDitt lösenord har ändrats.\nDitt användar-ID är fortfarande %s." #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Konfiguration" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "FusionDirectory konfiguration" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Utseende:" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "Språk" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "Applikationens språk. Om inställd på 'automatisk' eller inte tillgänglig, kommer den som efterfrågas av webbläsaren att användas. Detta kan också ställas in per användare. " #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Tema" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "Tema som ska användas" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Tidszon" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "Tidszon som ska användas" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "Schema-inställningar" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "Aktivera schema-kontroll under inloggning." #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Lösenordsinställningar" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "Lösenordens standard-hash" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "Standard-hash som ska användas" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "Tvinga standard hash" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "Tvinga användandet av den lösenords-hash som är standard" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Lösenordets minsta längd" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "Minsta längd på lösenord" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "Lösenord minsta avvikelse" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "Minsta antalet tecken som nytt lösenord måste avvika från gammalt" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Använd datum för kontots upphörande" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "Aktiverar skugg-attribut-test under inloggning till FusionDirectory och tvingar förnyelse av lösenord eller kontolåsning" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "SASL Realm" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "SASL Exop" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "Attribut att lagra i userPassword-attributet" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "Bas-inställningar" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Visa sammanfattning i listningar" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "Avgör om ett statusfält ska visas i botten på listor, som visar en kort sammanfattning av typ och antal poster i listan." #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "Redigera låsning" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "Kontrollera om en post som just blir redigerad har blivit modifierad utanför FusionDirectory under tiden." #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "Aktivera loggning" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "Event-loggning på FusionDirectorys sida." #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "LDAP storleksgräns" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "Definierar antalet poster att få från LDAP som standard." #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Inloggning och session" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Inloggningsattribut" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "Vilket LDAP-attribut ska användas som inloggningnamn under inloggning." #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Tvinga krypterade anslutningar" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "Aktiverar PHPs säkerhetskontroller för att tvinga krypterad access (https) till webbgränssnittet." #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Varna om session inte är krypterad" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "visar en varning till användaren när http används istället för https." #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Sessioners livslängd" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Aktivera ögonblicksbilder" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "Detta aktiverar möjligheten att spara vissa posters tillstånd och återskapa dem senare." #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Bas för ögonblicksbilder" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "Basen där ögonblicksbilder ska lagras i LDAP-katalogen." #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "Host" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "Port" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Lagring för personer och grupper" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Personer DN-attribut" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "Attribut att använda i början av användares dn" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "Strikt namnpolicy" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "Nästa id-hook" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "Var man ska börja kolla efter nya fria användar-IDn." #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "Var man ska börja kolla efter nya fria grupp-IDn." #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "Användares RDN" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "Gruppers RDN" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "Grenen där grupper lagras." #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "Id-allokeringsmetod" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "Traditionell" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "Samba unix id pool" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Debugging" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "Visa fel" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "Visa PHP-fel i övre delen av skärmen. Detta bör avaktiveras i produktionsmiljöer, för det kan vara lösenord i felkoden." #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Maximal tid för LDAP-frågor" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "Stoppa LDAP-förfrågningar om det inte kommer något svar inom den specificerade mängden sekunder." #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Logga LDAP-statistik" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "Spåra LDAP-timingstatistik till syslog. Detta kan hjälpa till att hitta indexeringsproblem eller dåliga sökfilter." #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Debug-nivå" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "Visa viss information på varje sidladdning." #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "Diverse" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "Hooks som anropas när specifika händelser inträffar" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "flik" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "Fliken som denna hook härrör till" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "läge" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "När detta kommando ska anropas" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "cmd" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "Kommando som ska anropas" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "Hooks" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "Tillgängliga skal" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "Tillgängliga POSIX-skal för FD-användare" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "Plugins" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "Konfiguration för plugins" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "Plugin-konfiguration" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "FusionDirectory plugin-konfiguration" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Objektgrupper" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "OGrupp RDN" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "Gren i vilken objektgrupper kommer att lagras" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "SASL" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Avdelningar" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Egenskaper" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Kategori" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Land" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "Domän" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "Hantera avdelningar" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "Domänkomponent" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "Lokalitet" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Avdelningslista" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Hantera användare" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "Kontolåsning" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "Lås upp konto" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "Lås konto" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Användarlista" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "Efternamn" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Förnamn" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "Lås användare" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "Lås upp användare" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Tillämpa mall" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "Ny användare från mall" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "Redigera användare" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "%{filter:lockLabel(userPassword)}" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "Ta bort användare" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Roll" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Information" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "Telefonnummer" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Fax-nummer" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "Redigera posix-egenskaper" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "Visa primära grupper" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "Visa mail-grupper" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "Visa samba-grupper" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Objektgrupp" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Grupp" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Medlemsobjekt" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Grupplista" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Tvinga GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Gruppmedlemmar" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "ACL-tilldelning" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Medlemmar" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Inga ACL-inställningar för denna kategori" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL för dessa objekt: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Redigera kategori-ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Återställ kategori-ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Lista tillgängliga ACL-kategorier" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Alla objekt i aktuellt subträd" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "läs" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "skriv" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Visa/dölj avancerade inställningar" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Skapa objekt" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Flytta objekt" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Ta bort objekt" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "Ge rättigheter till ägare" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Komplett objekt" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Innehåller inställningar för dessa objekt: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Åtkomstkontroll-roller" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "ACL-roll" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "FusionDirectory kommer INTE att kunna köras utan att åtgärda detta." #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "FusionDirectory kommer att kunna köras utan att åtgärda detta." #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "Skapa ett nytt administrationskonto för FusionDirectory" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Den här dialogrutan kommer att lägga till en ny superadministratör till ditt LDAP-träd" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "Användar-ID" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Lösenord (igen)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "Det verkar vara första gången du startar FusionDirectory - vi hittade ingen konfiguration just nu. Den här enkla wizarden ska hjälpa dig att ställa in programvaran. " #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Vad kommer denna wizard att göra för dig?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Skapa en grundläggande konfiguration för en enskild site" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Försöka identifiera problem med din PHP- och LDAP-installation" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Låta dig välja från ett urval av grundläggande och avancerade konfigurationsinställningar" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Guida migreringen av existerande LDAP-träd" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Vad kommer denna wizard INTE göra för dig?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Hitta varje tänkbart konfigurationsfel" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Migrera varje tänkbar LDAP-installation - skapa backuper för säkerhets skull!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "Klicka på 'Nästa'-knappen när du är klar." #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "Lägg till de objektklasser som krävs till LDAP-basen" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Nuvarande" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Efter migrering" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Stäng" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Om du vill vet vad som kommer att göras när valda poster migreras, använd 'Visa ändringar'-knappen för att se LDIF-filen." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Visa ändringar" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "Under LDAP-inspektionen kommer vi att undersöka flera vanliga fallgropar som man kan ramla i när man migrerar till FusionDirectory LDAP-administration. Det är möjligt att du behöver åtgärda problemen nedan för att kunna tillhandahålla stabila tjänster." #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Kontrollera igen" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Skapa konfigurationsfil" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Ladda ner konfiguration" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Status:" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "Filter" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "Förlorat lösenord" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "Den här dialogrutan erbjuder ett enkelt sätt att byta lösenord. Skriv in ditt nuvarande lösenord och det nya lösenordet (två gånger) i fälten nedan och tryck på 'Byt'-knappen." #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Katalog" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Repetera nytt lösenord" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Lösenordsstyrka" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Byt" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Klicka här för att byta lösenord" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Ditt lösenord har nu bytts." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "Skriv in din nuvarande epostadress i fältet nedan och tryck på 'Byt'-knappen" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "Återskapande av lösenord är inte aktiverat. Om du har förlorat ditt lösenord, kontakta din administratör" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Inloggningsskärm" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Använd ditt användarnamn och lösenord för att logga in i administrationssystemet." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Användarnamn" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "Jag har glömt mitt lösenord" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Logga in" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Klicka här för att logga in" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "ignorera det här felet och visa alla poster som LDAP-servern returnerar" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "ignorera det här felet och visa alla poster som passar inom den definierade sizelimit och låt mig använda filter istället" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "Dubbelkolla att du verkligen vill göra detta eftersom det inte finns något sätt för FusionDirectory att få tillbaka din information." #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Så - om du är säker - tryck 'Ta bort' för att fortsätta och 'Avbryt' för att avbryta." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Hem" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Logga ut" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Inloggad:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "Sessionen löper ut om %d!" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Fortsätt" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Låsningskonflikt detekterad" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "Endast läsning" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Kopiera & klistra in-wizard" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "Vissa värden måste vara unika inom katalogtjänsten medan vissa kombinationer inte är gångbara. FusionDirectory visar de relevanta attributen. Vänligen behåll värdena nedan för att uppfylla systemets policy." #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Kom ihåg att vissa egenskaper som tagna ögonblicksbilder inte kommer att kopieras!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "Eller om du kopierar och klipper en post inom FusionDirectory och tar bort källobjektet, kan du få fel när du klistrar in det här objektet igen!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Operation klar" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Tilldelad ACL för nuvarande post" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "Ny ACL" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "ACL-typ" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Välj en acl-typ" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Ytterligare filter-alternativ" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Använd medlemmar från" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Tillgängliga medlemmar" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Lista mottagare" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL för detta objekt" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Tillgängliga roller" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "FusionDirectory-teamet" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Detta objekt har ingen relation till andra objekt" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Användarinställningar" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Nollställ lösenord" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Ställ in nytt lösenord" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Personlig bild" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Användarbild" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Ta bort bild" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Du har inte tillåtelse att ändra lösenordet just nu" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "Din lösenordsmetod kommer inte att ändras!" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Du har ändrat ditt lösenord. Kom ihåg att ändra alla program som är inställda på att använda det också." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" msgstr[1] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "Visa mallar" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "Visa fungerande användare" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "Visa POSIX-användare" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "Visa Epost-användare" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "Visa Samba-användare" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/ug/000077500000000000000000000000001304016502700167025ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/ug/fusiondirectory.po000066400000000000000000003774121304016502700225100ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Uighur (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/ug/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ug\n" "Plural-Forms: nplurals=1; plural=0;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "" #: include/class_listing.inc:313 msgid "Down" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "" #: include/functions.inc:1128 msgid "Configure" msgstr "" #: include/functions.inc:1133 msgid "incomplete" msgstr "" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "" #: include/class_msgPool.inc:662 msgid "February" msgstr "" #: include/class_msgPool.inc:662 msgid "March" msgstr "" #: include/class_msgPool.inc:662 msgid "April" msgstr "" #: include/class_msgPool.inc:663 msgid "May" msgstr "" #: include/class_msgPool.inc:663 msgid "June" msgstr "" #: include/class_msgPool.inc:663 msgid "July" msgstr "" #: include/class_msgPool.inc:663 msgid "August" msgstr "" #: include/class_msgPool.inc:663 msgid "September" msgstr "" #: include/class_msgPool.inc:664 msgid "October" msgstr "" #: include/class_msgPool.inc:664 msgid "November" msgstr "" #: include/class_msgPool.inc:664 msgid "December" msgstr "" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "" #: include/php_setup.inc:53 msgid "PHP error" msgstr "" #: include/php_setup.inc:62 msgid "class" msgstr "" #: include/php_setup.inc:70 msgid "function" msgstr "" #: include/php_setup.inc:76 msgid "static" msgstr "" #: include/php_setup.inc:80 msgid "method" msgstr "" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "" #: include/php_setup.inc:132 msgid "Type" msgstr "" #: include/php_setup.inc:133 msgid "Arguments" msgstr "" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "" #: html/index.php:285 msgid "Please specify your password!" msgstr "" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/vi_VN/000077500000000000000000000000001304016502700173105ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/vi_VN/fusiondirectory.po000066400000000000000000004417321304016502700231130ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "Ngôn ngữ muốn sử dụng" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "Cài đặt ngôn ngữ" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "Bước này cho phép bạn lựa chọn ngôn ngữ bạn muốn dùng." #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "Tự động" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "Kiểm tra các module và mở rộng của PHP" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "Kiểm tra cài đặt" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "Kiểm tra cơ bản cho khả năng tương thích và mở rộng PHP " #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "Kiểm tra phiên bản PHP" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "PHP phải là phiên bản %s hoặc như trên." #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "Xin hãy cập nhật cho một phiên bản hỗ trợ." #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "mbstring" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "đăng ký_toàn cầu (register_globals) là một cơ chế PHP dùng để đăng ký tất cả các biến số toàn cầu mà có thể truy cập từ các tập lệnh mà không phải thay đổi phạm vi. Đây có thể là một rủi ro về bảo mật." #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "Tìm kiếm 'register_globals' trong thư mục php.ini của bạn và chuyển nó thành 'Off'." #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "PHP sử dụng giá trị này để phần mềm thu dọn rác có thể sóa các phiên cũ đi." #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "Thiết lập giá trị này đến một ngày sẽ ngăn cản việc mất đi các phiên và cookies trước khi chúng thực sự hết hạn." #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "Tìm kiếm 'session.gc_maxlifetime' trong thư mục php.ini của bạn và thiết lập nó đển 86400 hoặc cao hơn." #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "Tắt" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "Tìm kiếm 'session.auto_start' trong thư mục php.ini của bạn và đặt nó thành 'Off'." #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "Lựa chọn này sẽ ảnh hưởng tới việc sử lý đầu vào PHP. Tắt chức năng này đi, để tăng khả năng hoạt động." #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "Tìm kiếm 'implicit_flush' trong thư mục php.ini của bạn và chuyển nó sang 'Off'." #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "Thời gian chạy ít nhất là 30 giây." #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "Tìm kiếm 'max_execution_time' trong thư mục php.ini của bạn và thiết lập nó đến '30' hoặc cao hơn." #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "Tăng tính bảo mật của server bằng việc thiết lập expose_php thành 'off'. PHP sẽ không gửi bất cứ thông tin nào về server bạn đang chạy trong trường hợp này." #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "Tìm kiếm 'expose_php' trong thư much php.ini của bạn và chuyển nó thành 'Off'." #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "Tăng cường khả năng hoạt động cho server của bạn bằng việc thiết lập magic_quotes_gpc thành 'off'." #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "Tìm kiếm 'zend.ze1_compatibility_mode' trong thư mục php.ini và chuyển nó thành 'Off'." #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "Chào mừng" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "Tin nhắn chào mừng" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "Ok" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "Di trú" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "Thanh tra LDAP" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "Kiểm tra những người dùng ẩn" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "Kiểm tra siêu admin" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "Kiểm tra người dùng bên ngoài cây con người" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "Kiểm tra nhóm bên ngoài cây nhóm" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "Kiểm tra các bộ phận ẩn" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "Kiểm tra các số ID cuả người dùng (UID) được nhân bản" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "Yêu cầu LDAP thất bại" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "Thất bại" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "Lỗi LDAP" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "Cảnh báo" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "Lỗi di trú" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "Tạo " #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "Người dùng" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "Các nhóm" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "Lỗi" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "Chuyển người dùng sang cây người dùng được cấu hình" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "đến" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "Tham chiếu sau sẽ được cập nhật" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "Đã tìm thấy %s nhóm bên ngoài cây được cấu hình '%s'." #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "Tên vị trí" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "Kết nối TLS" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "Cơ sở" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "Thẩm định quyền" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "Admin DN" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "Mật khẩu Admin" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "Trạng thái" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "Tình trạng hiện tại" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "Cài đặt LDAP" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "Thiết lập kết nối LDAP" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "Kết nối nặc danh với server '%s' thất bại!" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "Kết nối với vai trò người dùng '%s' thất bại!" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "Kết nối nặc danh đến server '%s' thành công." #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "Xin hãy xác định người dùng và mật khẩu!" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "Kết nối với tư cách người dùng '%s' đến server '%s' thành công!" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "Kết thúc" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "Kết thúc - viết file cấu hình" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "Viết file cấu hình" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "File cấu hình của bạn hiện cả thế giới đều đọc được. Xin hãy cập nhật quyền truy cập file!" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "Cấu hình hiện tại không thể đọc được hoặc nó không tồn tại." #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "Lỗi cài đặt" #: setup/class_setup.inc:205 msgid "Completed" msgstr "Đã hoàn thành" #: setup/class_setup.inc:248 msgid "Next" msgstr "Tiếp tục" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "Lỗi nội bộ" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "Đăng nhập thất bại: %s" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "ObjecType được chỉ định đang rỗng hặc không hợp lệ!" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "không được cấu hình" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "Cho phép" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "Lỗi về cấp phép" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "Bạn không được phép tạo ra snapshot cho %s." #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "Bạn không được phép phục hồi một snapshot cho %s." #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "Gốc" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "Nộp" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "Lên" #: include/class_listing.inc:313 msgid "Down" msgstr "Xuống" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "Chọn tất" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "Đi đến bộ phận gốc" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "Đi lên một bộ phận" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "Nhà" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "Danh sách reload" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "Các thao tác" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "Copy" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "Cut" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "Paste" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "Cắt entry này" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "Copy entry này" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "Phục hồi lại snapshot" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "Tạo ra snapshot" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "Tạo ra một snapshot mới từ đối tượng này" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "Lỗi nặng" #: include/class_xml.inc:66 msgid "in" msgstr "" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "Lỗi cấu hình" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "Hủy bỏ tất" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "Không thể paste" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "Đăng nhập" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "Mẫu" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "Tên Mẫu" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "Lỗi nghiêm trọng: không có vị trí lớp nào được xác định - xin hãy chạy '%s' để sửa lỗi này" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "Lỗi nghiêm trọng: không thể tạo ra lớp '%s' - hãy thử chạy '%s' để sửa lỗi này" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "LỖI NGHIÊM TRỌNG: Lỗi khi đang kết nối với LDAP. Server thông báo '%s'." #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "Lỗi xác định thẩm quyền" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "Lỗi khi đang thêm một khóa vào. Hãy liên lạc với các nhà phát triển!" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "Không thể tạo ra việc khóa thông tin trong cây LDAP.Xin hãy liên lạc với admin của bạn!" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "LDAP server trả về: %s" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "Tìm thấy nhiều khóa khác nhau để khóa đối tượng. Điều này không nên xảy ra - hãy dọn sạch các tham chiếu." #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "Đã vượt quá giới hạn kích cỡ của các entry %d!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "Thiết lập kích cỡ mới cho %s và cho tôi thấy tin nhắn nếu giới hạn này vẫn vượt quá tiêu chuẩn" #: include/functions.inc:1128 msgid "Configure" msgstr "Cấu hình" #: include/functions.inc:1133 msgid "incomplete" msgstr "chưa hoàn thành" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "Cứ tiếp tục" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "Cứ hiệu chỉnh" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "Bạn sẽ hiệu chỉnh entry/các entry %s của LDAP" #: include/functions.inc:1766 msgid "Entries per page" msgstr "các entry cho mỗi trang" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "Áp dụng bộ lọc" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "Không thể viết lên revision file!" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "Cảnh báo LDAP" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "Không thể dùng thông tin lược đồ từ server. Không thể kiểm tra giản đồ!" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "Đã có lớp" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "Không thể phân phối một ID miễn phí!" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "Không thể xác định vị trí file '%s'- xin hãy chạy '%s' để sửa lỗi này!" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "Tất cả các đối tượng trong hạng mục này" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "Xin hãy sửa lỗi trên và reload trang trên." #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "Lỗi XML trong fusiondirectory.conf: %s tại dòng %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "Không thể nối kết với LDAP. Xin hãy liên lạc với với admin hệ thống." #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "Chức năng Snapshot đã được bật, nhưng biến số được yêu cầu: '%s' vẫn chưa được thiết lập." #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "Tất cả các mục" #: include/class_config.inc:1095 msgid "My account" msgstr "Tài khoản của tôi" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "Chọn để liệt kê các đối tượng loại '%s'." #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "Chọn để liệt kê đối tượng chứa '%s'." #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "Chọn để liệt kê đối tượng mà cho phép '%s'" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "Chọn để tìm kiếm trong các cây con" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "Tìm kiếm tại các cây con" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "Đối tượng này sẽ bị xóa!" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "Đối tượng '%s' này sẽ bị xóa!" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "Đối tượng này sẽ bị xóa: %s" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "Đối tượng '%s' này sẽ bị xóa: '%s'" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "Đối tượng này sẽ bị xóa:" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "Đối tượng '%s' này sẽ bị xóa:" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "Đối tượng này sẽ bị xóa: %s" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "Đối tượng '%s' này sẽ bị xóa; %s" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "Bạn không có quyền xóa đối tượng này!" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "Bạn không có quyền xóa đối tượng này:" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "Bạn không có quyền xóa những đối tượng này:" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "Bạn không có quyền tạo ra đối tượng này!" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "Bạn không có quyền tạo ra đối tượng này:" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "Bạn không có quyền tạo ra những đối tượng này:" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "Bạn không có quyền thay đổi đối tượng này!" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "Bạn không có quyền xem đối tượng này!" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "Bạn không có quyền xem đối tượng này:" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "Bạn không có quyền xem những đối tượng này:" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "Bạn không có quyền di chuyển đối tượng này!" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "Bạn không có quyền di chuyển đối tượng này:" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "Bạn không có quyền di chuyển những đối tượng này:" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "Thông tin kết nối" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "Không thể kết nối đến cơ sở dữ liệu %s!" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "Không thể lựa chọn cơ sở dữ liệu %s!" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "Không xác định được Server '%s'!" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "Không truy vấn được cơ sở dữ liệu %s!" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "Trường '%s' có chứa một từ khóa dự trữ!" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "Lệnh được cụ thể hóa là %s móc nối với plugin '%s' không tồn tại!" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "Lệnh '%s' không hợp lệ!" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "Lệnh '%s' cho plugin '%s' không hợp lệ!" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "Lệnh '%s' (%s) không hợp lệ!" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "Lệnh '%s' (%s) cho plugin %s không hợp lệ!" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "Không thể chạy lệnh '%s'!" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "Không thể chạy lệnh '%s' cho plugin %s!" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "Không thể chạy lệnh '%s' ('%s)!" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "Không thể chạy lệnh '%s' ('%s) cho plugin %s!" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "Gía trị '%s' quá lớn!" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "Gía trị '%s' quá nhỏ!" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "'%s' phải lớn hơn %d hoặc trên nữa!" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "'%s' phụ thuộc vào '%s'- xin hãy cung cấp cả hai giá trị!" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "Đã có sẵn một entry với thuộc tính '%s' trong hệ thống này!" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "Trường được yêu cầu '%s' bị rỗng!" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "'%s' không được phép:" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "'%s' không được cho phép!" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "PHP mở rộng %s mất tích!" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "Hủy bỏ" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "Áp dụng" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "Lưu lại" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "Thêm vào" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "Thêm %s" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "Xóa" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "Xóa %s" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "Hiệu chỉnh..." #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "Hiệu chỉnh %s..." #: include/class_msgPool.inc:540 msgid "Back" msgstr "Quay lại" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "Tài khoản này không có chức năng mở rộng %s hợp lệ!" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "Tài khoản này đã bật các thiết lập %s lên. Bạn có thể tắt chúng đi bằng việc kích vào bên dưới." #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "Tài khoản này đã bật các thiết lập %s lên. Để tắt chúng đi, bạn cần phải xóa thiết lập %s trước!" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "Tài khoản này đã tắt các thiết lập %s đi. Bạn có thể bật chúng lên bằng việc kích vào bên dưới." #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "Tài khoản này đã tắt các thiết lập %s đi. Để bật chúng lên, bạn cần phải thêm thiết lập %s trước!" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "Thêm thiết lập %s " #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "Xóa thiết lập %s" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "Tháng Một" #: include/class_msgPool.inc:662 msgid "February" msgstr "Tháng Hai" #: include/class_msgPool.inc:662 msgid "March" msgstr "Tháng Ba" #: include/class_msgPool.inc:662 msgid "April" msgstr "Tháng Tư" #: include/class_msgPool.inc:663 msgid "May" msgstr "Tháng Năm" #: include/class_msgPool.inc:663 msgid "June" msgstr "Tháng Sáu" #: include/class_msgPool.inc:663 msgid "July" msgstr "Tháng Bảy" #: include/class_msgPool.inc:663 msgid "August" msgstr "Tháng Tám" #: include/class_msgPool.inc:663 msgid "September" msgstr "Tháng Chín" #: include/class_msgPool.inc:664 msgid "October" msgstr "Tháng Mười" #: include/class_msgPool.inc:664 msgid "November" msgstr "Tháng Mười Một" #: include/class_msgPool.inc:664 msgid "December" msgstr "Tháng Mười Hai" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "Chủ nhật" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "Thứ Hai" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "Thứ Ba" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "Thứ Tư" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "Thứ Năm" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "Thứ Sáu" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "Thứ Bảy" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "Đọc thao tác" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "thêm tao tác" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "thay đối thao tác" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "xóa thao tác" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "tìm kiếm thao tác" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "Xác định thẩm quyền" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "LDAP %s thất bại!" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "Hoạt động LDAP thất bại!" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "đối tượng" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "Tải lên thất bại!" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "Tải lên thất bại: %s" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại!" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "Giao tiếp với dịch vụ cơ sở hạ tầng bị thất bại: %s" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "'%s' này vẫn còn được sử dụng bởi đối tượng: %s " #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "'%s' này vẫn còn được sử dụng." #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "'%s' vẫn còn được sử dụng bởi các đối tượng này: %s" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "File '%s' không tồn tại!" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "Không thể mở file '%s' để đọc!" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "Không thể mở file '%s' để viết!" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "Không thế xóa file '%s'!" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "Không thể tạo ra folder '%s'!" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "Không thể xóa folder '%s'!" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "Kiểm tra hỗ trợ %s" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "Cài đặt và kích hoạt mô-đun PHP %s." #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "Timestamp" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "Y-m-d, H:i:s (Năm-tháng-ngày)" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "File" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "Dòng" #: include/php_setup.inc:53 msgid "PHP error" msgstr "Lỗi PHP" #: include/php_setup.inc:62 msgid "class" msgstr "lớp" #: include/php_setup.inc:70 msgid "function" msgstr "chức năng" #: include/php_setup.inc:76 msgid "static" msgstr "tĩnh" #: include/php_setup.inc:80 msgid "method" msgstr "phương pháp" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "Dò theo" #: include/php_setup.inc:132 msgid "Type" msgstr "Loại" #: include/php_setup.inc:133 msgid "Arguments" msgstr "Tranh luận" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "Tạo ra trang này khiến cho bộ dịch PHP sinh ra một số lỗi!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "Gửi thông báo lỗi" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "Thông tin Toggle" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "Cảnh báo khả năng hoạt động" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "Khả năng hoạt động của LDAP rất thấp: truy vấn lần cuối mất khoảng %.2fs!" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "Trong khi chạy trên '%s' sử dụng LDAP server '%s'" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "Trong khi chạy trên LDAP server %s" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "Tên" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "Mô tả" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "Nhóm người dùng" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "Không rõ" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "Hiệu chỉnh" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "Xóa bỏ" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "Qúa trình xóa đã bị hủy bỏ bởi plugin '%s': %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "Quản lý các danh sách kiểm soát truy cập" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "Các vai trò ACL" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "Entry '%s' không được biết đến!" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "Smarty" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "Không thể truy cập vào thư mục '%s' được xác định là thư mục soạn thảo!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "Lỗi Smarty" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "Xin hãy xác định một tên người dùng hợp lệ!" #: html/index.php:285 msgid "Please specify your password!" msgstr "Xin hãy xác định mật mã của bạn!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "Xin hãy kiểm tra kết hợp tên người dùng/mật khẩu." #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "Tài khoản bị khóa. Xin hãy liên lạc với admin quản trị hệ thống của bạn!" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "Trình duyệt của bạn đã vô hiệu cookies. Xin hãy cho phép cookies vào và tải lại trang này trước khi đăng nhập!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "Cấu hình PHP" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "Thay đổi mật khẩu" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "Mật khẩu của bạn chuẩn bị hết hạn, xin hãy thay đối mật khẩu của bạn!" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "Hết dung lượng bộ nhớ!" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "Vô hiệu việc kiểm tra ACL của người dùng" #: html/main.php:289 msgid "Plugin" msgstr "Plugin" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "Chào mừng %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "Các tham chiếu" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "Hiệu chỉnh cài đặt POSIX của người dùng" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "Thư mục chủ" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "Nhóm sơ cấp" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "Tư cách thành viên nhóm" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "Tài khoản" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "Người dùng phải thay đổi mật khẩu ngay lần đăng nhập đầu tiên" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "Ủy thác hệ thống" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "Chế độ ủy thác" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "Đã vô hiệu" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "Truy cập hoàn toàn" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "Cho phép truy cập đến các máy chủ này" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "tự động" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "hết hạn" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "Thời gian trước khi tài khoản bị khóa đang hoạt động" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "hoạt động" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "mật khẩu hết hạn" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "Số ID của người sử dụng" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "Số ID của nhóm" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "Thời gian chờ khóa. Bỏ qua khóa!" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "Phương pháp lập mật khẩu" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "Mật khẩu" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "Người dùng" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "Thông tin cá nhân" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "Họ" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "Tên" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "Vị trí" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "Bang" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "Địa chỉ" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "Số phòng" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "Số phòng" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "Số điện thoại" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "Điện thoại di động" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "Máy nhắn tin" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "Số fax" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "Trang chủ" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "Đại chỉ nhà theo bưu điện" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "Số điện thoại riêng" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "Số điện thoại nhà" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "Thông tin về tổ chức" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "Tổ chức" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "Bộ phận" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "Số phòng ban" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "Số phòng làm việc" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "Số nhân viên" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "Số nhân viên" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "Loại nhân viên" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "Bạn cần xác định mật khẩu hiện tại để có thể tiếp tục." #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "Mật khẩu mới" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "Mật khẩu mới và mật khẩu cũ quá giống nhau." #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "Mật khẩu mới cần được cắt ngắn lại." #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "Cấu hình" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "Xem và cảm nhận" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "Theme" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "Múi giờ" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "Thiết lập mật khẩu" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "Độ dài tối thiểu của mật khẩu" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "Sử dụng việc hết hạn tài khoản" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "Hiển thị tóm tắt trên danh sách" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "Đăng nhập và phiên" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "Thuộc tính đăng nhập" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "Thực thi việc mã hóa các kết nối" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "Cảnh báo nếu một phiên chưa được mã hóa" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "Thời gian cho một phiên (một Session)" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "Bật chức năng snapshots" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "Gốc snapshot" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "Kho lưu trữ người và nhóm" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "Thuộc tính DN người" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "Sửa lỗi" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "Thời gian truy vấn LDAP tối đa" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "Đăng nhập thống kê LDAP" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "Cấp độ sửa lỗi" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "Tất cả các nhóm đối tượng" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "Các bộ phận" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "Properties" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "Các danh mục" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "Quốc Gia" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "Danh sách các bộ phận" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "Quản lý người dùng" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "Danh sách người dùng" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "Tên thật" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "Áp dụng mẫu" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "Vai trò" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "Thông tin" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "Số fax" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "Nhóm đối tượng" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "Nhóm " #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "Các đối tượng thành viên" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "Danh sách các nhóm" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "Áp dụng GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "Các thành viên nhóm" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "Các thành viên" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "Không có cài đặt ACL cho mục này" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "ACL cho các đối tượng sau: %s" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "Hiệu chính mục ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "Xác lập mục ACL" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "Danh sách tất cả các mục ACL hiện có" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "Tất cả các đối tượng hiện trong cây thư mục con hiện tại" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "đọc" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "viết" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "Hiển thị/ Ẩn các thiết lập cao cấp " #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "Tạo ra đối tượng" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "Dịch chuyển đối tượng" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "Xóa đối tượng" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "Hoàn thành đối tượng" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "Chứa các thiết lập cho các đối tượng: %s" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "Các vai trò kiểm soát truy cập" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "Hộp thoại này sẽ tự động thêm một siêu admin mới vào cây LDAP của bạn." #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "ID người dùng" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "Mật khẩu (nhập lại)" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "Wizard sẽ giúp bạn những gì?" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "Tạo ra một cấu hình trang đơn, đơn giản" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "Cố gắng tìm ra vấn đề trong cài đặt PHP và LDAP của bạn " #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "Cho phép bạn lựa chọn từ một loạt các phím chuyển cấu hình cơ bản và cao cấp" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "Di trú có hướng dẫn của các cây LDAP hiện có" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "Wizard không thể làm gì được cho bạn?" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "Tìm được mọi lỗi cấu hình có thể xảy ra" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "Di trú mọi cài đặt LDAP - và tạo ra các xổ backup!" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "Hiện tại" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "Sau khi di trú" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "Đóng" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "Nếu bạn muốn biết việc gì sẽ được tiến hành khi di trú các entry được chọn này, hãy sử dụng phím 'hiển thị thay đổi 'để xem định dạng LDIF." #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "Hiển thị các thay đổi" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "Kiểm tra lại" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "Tạo ra file cấu hình của bạn" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "Tải cấu hình về" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "Trạng thái: " #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "Thư mục" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "Mật khẩu mới được lặp lại" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "Ưu điểm của mật khẩu" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "Thay đổi" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "Kích vào đây để thay đổi mật khẩu của bạn" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "Thành công" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "Mật khẩu của bạn đã được thay đổi thành công." #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "Màn hình đăng nhập" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "Xin hãy sử dụng tên và mật khẩu của bạn để đăng nhập vào trang hệ thống quản trị." #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "Tên người dùng" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "Đăng ký" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "Kích vào đây để đăng nhập" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "Lựa chọn giới hạn kích cỡ khiến cho hoạt động của LDAP nhanh hơn và giúp cho LDAP server không chịu quá nhiều tải. Cách đơn giản nhất để quản lý được các cơ sở dữ liệu lớn mà không có thời gian hạn định dài là hạn chế việc tìm kiếm của bạn vào các giá trị nhỏ hơn và sử dụng bộ lọc để có được các entry mà bạn đang tìm kiếm." #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "Xin hãy lựa chọn cách để phản ứng với phiên này" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "Lờ đi lỗi này và hiển thị tất cả các entry mà LDAP server trả về " #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "Lờ lỗi này đi và hiển thị tất cả các entry mà phù hợp với giới hạn kích cỡ đã xác định và thay vào đó cho tôi sử dụng các bộ lọc " #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "Đặt" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "Vì thế nếu bạn chắc chắn hãy nhấn \"Xóa bỏ\" để tiếp tục hoặc'Hủy bỏ' để dừng lại." #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "Trang chính" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "Đăng xuất" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "Đăng nhập:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "Tiếp tục" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "Phát hiện xung đột khóa" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "Copy & Paste wizard" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "Hãy nhớ rằng một số đặc tính ví dụ như snapshot sẽ không được copy lại!" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "Thao tác hoàn thành" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "Giao ACL cho entry hiện tại" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "ACL mới" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "Dạng ACL" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "Chọn một dạng acl" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "Các lựa chọn thêm cho bộ lọc" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "Sử dụng các thành viên từ" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "Những thành viên đang có mặt" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "Liệt kê các mục tiêu có thể gửi tin nhắn" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "Liệt kê người nhận tin" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "ACL cho đối tượng này" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "Các vai trò hiện có" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "Đối tượng này không có mối quan hệ nào với các đối tượng khác." #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "Thiết lập của người dùng" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "Bỏ mật khẩu" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "Đặt mật khẩu mới" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "Ảnh cá nhân" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "Ảnh của người sử dụng" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "Xóa ảnh " #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "Bạn không được phép thay đổi mật khẩu tại thời điểm này" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "Bạn đã thay đổi mật khẩu thành công. Hãy nhớ thay đổi cả các chương trình cấu hình để sử dụng được nó." #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/locale/zh/000077500000000000000000000000001304016502700167105ustar00rootroot00000000000000fusiondirectory-1.0.19/locale/zh/fusiondirectory.po000066400000000000000000004052211304016502700225040ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR FusionDirectory Project # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: FusionDirectory-110\n" "Report-Msgid-Bugs-To: bugs@fusiondirectory.org\n" "POT-Creation-Date: 2017-01-11 19:09+0100\n" "PO-Revision-Date: 2017-01-10 14:53+0000\n" "Last-Translator: fusiondirectory \n" "Language-Team: Chinese (http://www.transifex.com/fusiondirectory/FusionDirectory-110/language/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" #: setup/class_setupStep_Language.inc:30 #: plugins/personal/generic/class_user.inc:382 msgid "Preferred language" msgstr "" #: setup/class_setupStep_Language.inc:59 setup/class_setupStep_Language.inc:60 msgid "Language setup" msgstr "" #: setup/class_setupStep_Language.inc:61 msgid "This step allows you to select your preferred language." msgstr "" #: setup/class_setupStep_Language.inc:62 msgid "" "At this point, you can select the site wide default language. Choosing " "\"automatic\" will use the language requested by the browser. This setting " "can be overriden per user." msgstr "" #: setup/class_setupStep_Language.inc:69 #: plugins/config/class_configInLdap.inc:488 msgid "Automatic" msgstr "" #: setup/class_setupStep_Checks.inc:30 setup/class_setupStep_Migrate.inc:206 msgid "PHP module and extension checks" msgstr "" #: setup/class_setupStep_Checks.inc:37 msgid "" "PHP setup configuration (show " "information))" msgstr "" #: setup/class_setupStep_Checks.inc:48 setup/class_setupStep_Checks.inc:49 msgid "Installation check" msgstr "" #: setup/class_setupStep_Checks.inc:50 msgid "Basic checks for PHP compatibility and extensions" msgstr "" #: setup/class_setupStep_Checks.inc:67 msgid "Checking PHP version" msgstr "" #: setup/class_setupStep_Checks.inc:68 #, php-format msgid "PHP must be of version %s or above." msgstr "" #: setup/class_setupStep_Checks.inc:69 msgid "Please upgrade to a supported version." msgstr "" #: setup/class_setupStep_Checks.inc:76 msgid "FusionDirectory requires this module to talk with your LDAP server." msgstr "" #: setup/class_setupStep_Checks.inc:84 msgid "" "FusionDirectory requires this module for an internationalized interface." msgstr "" #: setup/class_setupStep_Checks.inc:92 msgid "" "FusionDirectory requires this module to communicate with different types of " "servers and protocols." msgstr "" #: setup/class_setupStep_Checks.inc:100 msgid "" "FusionDirectory requires this module to encode variables for javascript use." msgstr "" #: setup/class_setupStep_Checks.inc:108 msgid "" "FusionDirectory requires this module to filters a variable with a specified " "filter." msgstr "" #: setup/class_setupStep_Checks.inc:116 msgid "FusionDirectory requires this module for the samba integration." msgstr "" #: setup/class_setupStep_Checks.inc:124 msgid "" "FusionDirectory requires either 'mhash' or the 'sha1' module to make use of " "SSHA encryption." msgstr "" #: setup/class_setupStep_Checks.inc:132 msgid "FusionDirectory requires this module to talk to an IMAP server." msgstr "" #: setup/class_setupStep_Checks.inc:139 msgid "mbstring" msgstr "" #: setup/class_setupStep_Checks.inc:140 msgid "FusionDirectory requires this module to handle unicode strings." msgstr "" #: setup/class_setupStep_Checks.inc:146 msgid "imagick" msgstr "" #: setup/class_setupStep_Checks.inc:147 msgid "FusionDirectory requires this extension to handle images." msgstr "" #: setup/class_setupStep_Checks.inc:153 msgid "compression module" msgstr "" #: setup/class_setupStep_Checks.inc:154 msgid "FusionDirectory requires this extension to handle snapshots." msgstr "" #: setup/class_setupStep_Checks.inc:164 msgid "" "register_globals is a PHP mechanism to register all global variables to be " "accessible from scripts without changing the scope. This may be a security " "risk." msgstr "" #: setup/class_setupStep_Checks.inc:165 msgid "Search for 'register_globals' in your php.ini and switch it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:172 msgid "PHP uses this value for the garbage collector to delete old sessions." msgstr "" #: setup/class_setupStep_Checks.inc:173 msgid "" "Setting this value to one day will prevent loosing session and cookies " "before they really timeout." msgstr "" #: setup/class_setupStep_Checks.inc:174 msgid "" "Search for 'session.gc_maxlifetime' in your php.ini and set it to 86400 or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:181 setup/class_setupStep_Checks.inc:197 #: setup/class_setupStep_Checks.inc:213 setup/class_setupStep_Checks.inc:221 msgid "Off" msgstr "" #: setup/class_setupStep_Checks.inc:182 msgid "" "In Order to use FusionDirectory without any trouble, the session.auto_start " "option in your php.ini should be set to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:183 msgid "Search for 'session.auto_start' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:190 msgid "" "FusionDirectory needs at least 128MB of memory. Setting it below this limit " "may cause errors that are not reproducable! Increase it for larger setups." msgstr "" #: setup/class_setupStep_Checks.inc:191 msgid "" "Search for 'memory_limit' in your php.ini and set it to '128M' or higher." msgstr "" #: setup/class_setupStep_Checks.inc:198 msgid "" "This option influences the PHP output handling. Turn this Option off, to " "increase performance." msgstr "" #: setup/class_setupStep_Checks.inc:199 msgid "Search for 'implicit_flush' in your php.ini and set it to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:206 msgid "The Execution time should be at least 30 seconds." msgstr "" #: setup/class_setupStep_Checks.inc:207 msgid "" "Search for 'max_execution_time' in your php.ini and set it to '30' or " "higher." msgstr "" #: setup/class_setupStep_Checks.inc:214 msgid "" "Increase the server security by setting expose_php to 'off'. PHP won't send " "any information about the server you are running in this case." msgstr "" #: setup/class_setupStep_Checks.inc:215 msgid "Search for 'expose_php' in your php.ini and set if to 'Off'." msgstr "" #: setup/class_setupStep_Checks.inc:222 msgid "Increase your server performance by setting magic_quotes_gpc to 'off'." msgstr "" #: setup/class_setupStep_Checks.inc:223 msgid "" "Search for 'zend.ze1_compatibility_mode' in your php.ini and set it to " "'Off'." msgstr "" #: setup/class_setupStep_Welcome.inc:30 setup/class_setupStep_Welcome.inc:50 #: setup/class_setupStep_Finish.inc:30 msgid "Welcome" msgstr "" #: setup/class_setupStep_Welcome.inc:51 msgid "Welcome to FusionDirectory setup wizard" msgstr "" #: setup/class_setupStep_Welcome.inc:52 msgid "The welcome message" msgstr "" #: setup/class_setupStep_Migrate.inc:133 include/class_msgPool.inc:486 #: setup/setup_checks.tpl.c:2 ihtml/themes/breezy/msg_dialog.tpl.c:14 msgid "Ok" msgstr "好" #: setup/class_setupStep_Migrate.inc:157 setup/setup_migrate_baseOC.tpl.c:11 msgid "Migrate" msgstr "" #: setup/class_setupStep_Migrate.inc:223 setup/class_setupStep_Migrate.inc:224 msgid "LDAP inspection" msgstr "" #: setup/class_setupStep_Migrate.inc:225 msgid "Analyze your current LDAP for FusionDirectory compatibility" msgstr "" #: setup/class_setupStep_Migrate.inc:233 msgid "Give all rights on users in the given branch" msgstr "" #: setup/class_setupStep_Migrate.inc:239 msgid "" "Allow users to edit their own information (main tab and posix use only on " "base)" msgstr "" #: setup/class_setupStep_Migrate.inc:245 msgid "Allow users to edit their own password (use only on base)" msgstr "" #: setup/class_setupStep_Migrate.inc:258 msgid "Inspecting object classes in root object" msgstr "" #: setup/class_setupStep_Migrate.inc:259 msgid "Checking permission for LDAP database" msgstr "" #: setup/class_setupStep_Migrate.inc:260 msgid "Checking for invisible users" msgstr "" #: setup/class_setupStep_Migrate.inc:261 msgid "Checking for super administrator" msgstr "" #: setup/class_setupStep_Migrate.inc:262 msgid "Checking for default ACL roles and groups" msgstr "" #: setup/class_setupStep_Migrate.inc:263 msgid "Checking for users outside the people tree" msgstr "" #: setup/class_setupStep_Migrate.inc:264 msgid "Checking for groups outside the groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:265 msgid "Checking for invisible departments" msgstr "" #: setup/class_setupStep_Migrate.inc:266 msgid "Checking for duplicated UID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:267 msgid "Checking for duplicated GID numbers" msgstr "" #: setup/class_setupStep_Migrate.inc:329 setup/class_setupStep_Migrate.inc:489 #: setup/class_setupStep_Migrate.inc:566 setup/class_setupStep_Migrate.inc:704 #: setup/class_setupStep_Migrate.inc:982 #: setup/class_setupStep_Migrate.inc:1058 #: setup/class_setupStep_Migrate.inc:1181 #: setup/class_setupStep_Migrate.inc:1274 #: setup/class_setupStep_Migrate.inc:1353 #: setup/class_setupStep_Migrate.inc:1397 msgid "LDAP query failed" msgstr "" #: setup/class_setupStep_Migrate.inc:330 setup/class_setupStep_Migrate.inc:490 #: setup/class_setupStep_Migrate.inc:567 setup/class_setupStep_Migrate.inc:705 #: setup/class_setupStep_Migrate.inc:983 #: setup/class_setupStep_Migrate.inc:1059 #: setup/class_setupStep_Migrate.inc:1182 #: setup/class_setupStep_Migrate.inc:1275 #: setup/class_setupStep_Migrate.inc:1354 #: setup/class_setupStep_Migrate.inc:1398 msgid "Possibly the \"root object\" is missing." msgstr "" #: setup/class_setupStep_Migrate.inc:346 setup/class_setupStep_Migrate.inc:370 #: setup/class_setupStep_Migrate.inc:421 setup/class_setupStep_Migrate.inc:501 #: setup/class_setupStep_Migrate.inc:512 setup/class_setupStep_Migrate.inc:866 #: setup/class_setupStep_Migrate.inc:881 msgid "Failed" msgstr "失败" #: setup/class_setupStep_Migrate.inc:347 #, php-format msgid "Missing FusionDirectory object class '%s'!" msgstr "" #: setup/class_setupStep_Migrate.inc:348 msgid "Please check your installation." msgstr "" #: setup/class_setupStep_Migrate.inc:371 #, php-format msgid "" "Cannot handle the structural object type of your root object. Please try to " "add the object class '%s' manually." msgstr "" #: setup/class_setupStep_Migrate.inc:453 #: setup/class_setupStep_Migrate.inc:1132 #: include/password-methods/class_password-methods.inc:180 #: include/functions.inc:522 include/functions.inc:677 #: include/functions.inc:724 include/functions.inc:822 #: include/functions.inc:2988 include/functions.inc:3165 #: include/class_config.inc:322 include/class_ldap.inc:924 #: include/class_ldap.inc:1284 include/simpleplugin/class_simplePlugin.inc:593 #: include/simpleplugin/attributes/class_SetAttribute.inc:726 #: include/class_SnapshotHandler.inc:53 include/class_SnapshotHandler.inc:278 #: include/class_SnapshotHandler.inc:311 include/class_SnapshotHandler.inc:327 #: include/class_SnapshotHandler.inc:460 include/class_SnapshotHandler.inc:463 #: html/index.php:371 msgid "LDAP error" msgstr "LDAP 错误" #: setup/class_setupStep_Migrate.inc:502 #, php-format msgid "The specified user \"%s\" does not have full access to your LDAP database." msgstr "" #: setup/class_setupStep_Migrate.inc:513 #, php-format msgid "The specified user \"%s\" does not have full access to your ldap database." msgstr "" #: setup/class_setupStep_Migrate.inc:574 #: setup/class_setupStep_Migrate.inc:1085 #: setup/class_setupStep_Migrate.inc:1204 #: setup/class_setupStep_Migrate.inc:1315 #: setup/class_setupStep_Migrate.inc:1379 #: setup/class_setupStep_Migrate.inc:1423 setup/class_setupStep_Ldap.inc:198 #: include/class_xml.inc:55 include/functions.inc:838 #: include/functions.inc:2523 include/simpleplugin/class_simpleTabs.inc:322 #: html/index.php:597 html/main.php:158 #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 setup/setup_checks.tpl.c:8 #: ihtml/themes/breezy/islocked.tpl.c:5 ihtml/themes/breezy/remove.tpl.c:2 #: ihtml/themes/breezy/msg_dialog.tpl.c:5 msgid "Warning" msgstr "警告" #: setup/class_setupStep_Migrate.inc:576 #, php-format msgid "" "Found %s user(s) that will not be visible in FusionDirectory or which are " "incomplete." msgstr "" #: setup/class_setupStep_Migrate.inc:585 setup/class_setupStep_Migrate.inc:590 msgid "User migration" msgstr "" #: setup/class_setupStep_Migrate.inc:673 #: setup/class_setupStep_Migrate.inc:1029 msgid "Migration error" msgstr "" #: setup/class_setupStep_Migrate.inc:675 #, php-format msgid "Cannot migrate entry \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:859 #, php-format msgid "FD 1.0.7 administrative accounts found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:862 #, php-format msgid "FD 1.0.7 administrative groups found: %s" msgstr "" #: setup/class_setupStep_Migrate.inc:864 msgid "" "You may run fusiondirectory-setup --migrate-acls after saving config " "file at the end of the setup to migrate it.
    " msgstr "" #: setup/class_setupStep_Migrate.inc:867 msgid "" "There is no valid FusionDirectory 1.0.8 administrator account inside your " "LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:868 setup/class_setupStep_Migrate.inc:883 #: include/simpleplugin/simple-list.xml:59 #: plugins/admin/departments/dep-list.xml:48 #: plugins/admin/users/user-list.xml:73 plugins/admin/groups/group-list.xml:66 msgid "Create" msgstr "创建" #: setup/class_setupStep_Migrate.inc:873 #: plugins/addons/dashboard/class_dashBoardUsers.inc:27 #: plugins/admin/users/class_userManagement.inc:42 msgid "Users" msgstr "用户" #: setup/class_setupStep_Migrate.inc:876 msgid "Groups" msgstr "用户组" #: setup/class_setupStep_Migrate.inc:882 msgid "There is no FusionDirectory administrator account inside your LDAP." msgstr "" #: setup/class_setupStep_Migrate.inc:920 msgid "Gives all rights on all objects" msgstr "" #: setup/class_setupStep_Migrate.inc:937 include/class_management.inc:697 #: include/class_listing.inc:551 include/class_xml.inc:58 #: include/password-methods/class_password-methods-sasl.inc:60 #: include/password-methods/class_password-methods-sasl.inc:86 #: include/password-methods/class_password-methods.inc:393 #: include/password-methods/class_password-methods.inc:403 #: include/class_CopyPasteHandler.inc:275 include/functions.inc:3112 #: include/functions.inc:3133 include/functions.inc:3173 #: include/functions.inc:3185 include/functions.inc:3189 #: include/functions.inc:3196 include/functions.inc:3205 #: include/functions.inc:3267 include/class_msg_dialog.inc:128 #: include/class_msg_dialog.inc:164 include/class_config.inc:357 #: include/class_msgPool.inc:220 include/class_msgPool.inc:240 #: include/class_msgPool.inc:270 include/class_msgPool.inc:687 #: include/class_msgPool.inc:718 include/class_msgPool.inc:745 #: include/simpleplugin/class_simpleTabs.inc:91 #: include/simpleplugin/class_simpleTabs.inc:404 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:87 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:89 #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #: include/simpleplugin/attributes/class_FileAttribute.inc:297 #: include/class_SnapshotHandler.inc:453 include/class_plugin.inc:801 #: include/class_plugin.inc:1534 html/index.php:453 html/index.php:474 #: html/index.php:484 html/index.php:546 html/index.php:556 #: setup/setup_checks.tpl.c:5 ihtml/themes/breezy/msg_dialog.tpl.c:2 msgid "Error" msgstr "错误" #: setup/class_setupStep_Migrate.inc:997 msgid "Default ACL roles have not been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:999 msgid "Some default ACL roles are missing" msgstr "" #: setup/class_setupStep_Migrate.inc:1001 msgid "Default ACL roles have been inserted" msgstr "" #: setup/class_setupStep_Migrate.inc:1031 #, php-format msgid "Cannot add ACL role \"%s\":" msgstr "" #: setup/class_setupStep_Migrate.inc:1086 #, php-format msgid "Found %s user(s) outside the configured tree \"%s\"." msgstr "" #: setup/class_setupStep_Migrate.inc:1100 #: setup/class_setupStep_Migrate.inc:1114 msgid "Move users into configured user tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1132 msgid "Cannot move entries to the requested department!" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "Entry will be moved from" msgstr "" #: setup/class_setupStep_Migrate.inc:1144 msgid "to" msgstr "" #: setup/class_setupStep_Migrate.inc:1154 msgid "The following references will be updated" msgstr "" #: setup/class_setupStep_Migrate.inc:1205 #, php-format msgid "Found %s groups outside the configured tree '%s'." msgstr "" #: setup/class_setupStep_Migrate.inc:1219 #: setup/class_setupStep_Migrate.inc:1233 msgid "Move groups into configured groups tree" msgstr "" #: setup/class_setupStep_Migrate.inc:1316 #, php-format msgid "Found %s department(s) that will not be visible in FusionDirectory." msgstr "" #: setup/class_setupStep_Migrate.inc:1325 #: setup/class_setupStep_Migrate.inc:1330 msgid "Department migration" msgstr "" #: setup/class_setupStep_Migrate.inc:1380 #, php-format msgid "Found %s duplicate values for attribute \"uidNumber\":%s" msgstr "" #: setup/class_setupStep_Migrate.inc:1424 #, php-format msgid "Found %s duplicate values for attribute \"gidNumber\":%s" msgstr "" #: setup/class_setupStep_Ldap.inc:33 msgid "LDAP connection" msgstr "" #: setup/class_setupStep_Ldap.inc:36 msgid "Location name" msgstr "位置名称" #: setup/class_setupStep_Ldap.inc:36 msgid "Name of this connexion to show in the LDAP server list" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "Connection URI" msgstr "" #: setup/class_setupStep_Ldap.inc:41 msgid "URI to contact the LDAP server. Usually starts with ldap://" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "TLS connection" msgstr "" #: setup/class_setupStep_Ldap.inc:46 msgid "Should TLS be used to connect to this LDAP server?" msgstr "" #: setup/class_setupStep_Ldap.inc:50 #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:37 #: ihtml/themes/breezy/simple-list.tpl.c:2 msgid "Base" msgstr "位置" #: setup/class_setupStep_Ldap.inc:50 msgid "The LDAP directory base" msgstr "" #: setup/class_setupStep_Ldap.inc:56 msgid "Authentication" msgstr "" #: setup/class_setupStep_Ldap.inc:59 msgid "" "DN of the admin account to use for binding to the LDAP. Base is " "automatically appended." msgstr "" #: setup/class_setupStep_Ldap.inc:74 msgid "Admin DN" msgstr "管理员 DN" #: setup/class_setupStep_Ldap.inc:77 msgid "Admin password" msgstr "管理员口令" #: setup/class_setupStep_Ldap.inc:77 msgid "Password for the admin account to use for binding to the LDAP" msgstr "" #: setup/class_setupStep_Ldap.inc:83 #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status" msgstr "状态" #: setup/class_setupStep_Ldap.inc:86 msgid "Current status" msgstr "" #: setup/class_setupStep_Ldap.inc:86 msgid "Result of last attempt at checking LDAP binding and basic schemas" msgstr "" #: setup/class_setupStep_Ldap.inc:107 msgid "LDAP setup" msgstr "" #: setup/class_setupStep_Ldap.inc:108 msgid "LDAP connection setup" msgstr "" #: setup/class_setupStep_Ldap.inc:109 msgid "" "This dialog performs the basic configuration of the LDAP connectivity for " "FusionDirectory." msgstr "" #: setup/class_setupStep_Ldap.inc:166 #, php-format msgid "Anonymous bind to server '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:168 #, php-format msgid "Bind as user '%s' failed!" msgstr "" #: setup/class_setupStep_Ldap.inc:170 msgid "Retry" msgstr "重试" #: setup/class_setupStep_Ldap.inc:174 #, php-format msgid "Anonymous bind to server '%s' succeeded." msgstr "" #: setup/class_setupStep_Ldap.inc:175 setup/class_setupStep_Ldap.inc:179 msgid "Refresh" msgstr "刷新" #: setup/class_setupStep_Ldap.inc:176 msgid "Please specify user and password!" msgstr "" #: setup/class_setupStep_Ldap.inc:178 #, php-format msgid "Bind as user '%s' to server '%s' succeeded!" msgstr "" #: setup/class_setupStep_Ldap.inc:196 setup/class_setupStep_Ldap.inc:198 #, php-format msgid "" "%s\n" "Schema \"%s\": %s" msgstr "" #: setup/class_setupStep_Finish.inc:40 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:26 msgid "Finish" msgstr "完成" #: setup/class_setupStep_Finish.inc:41 msgid "Finish - write the configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:42 msgid "Write configuration file" msgstr "" #: setup/class_setupStep_Finish.inc:89 msgid "" "Your configuration file is currently world readable. Please update the file " "permissions!" msgstr "" #: setup/class_setupStep_Finish.inc:91 msgid "The configuration is currently not readable or it does not exists." msgstr "" #: setup/class_setupStep_Finish.inc:96 #, php-format msgid "" "After downloading and placing the file under %s, please make sure that the " "user the webserver is running with is able to read %s, while other users " "shouldn't." msgstr "" #: setup/class_setup.inc:125 msgid "Setup error" msgstr "" #: setup/class_setup.inc:205 msgid "Completed" msgstr "" #: setup/class_setup.inc:248 msgid "Next" msgstr "" #: include/class_logging.inc:80 include/class_session.inc:50 #: include/class_session.inc:88 include/class_session.inc:127 #: include/functions.inc:564 include/functions.inc:649 #: include/functions.inc:770 include/functions.inc:1189 #: include/functions.inc:2243 include/functions.inc:2285 #: include/functions.inc:2314 include/class_ldap.inc:873 #: include/class_ldap.inc:911 include/class_acl.inc:118 msgid "Internal error" msgstr "" #: include/class_logging.inc:80 #, php-format msgid "Logging failed: %s" msgstr "" #: include/class_logging.inc:102 #, php-format msgid "Invalid option \"%s\" specified!" msgstr "" #: include/class_logging.inc:106 msgid "Specified objectType is empty or invalid!" msgstr "" #: include/class_management.inc:36 include/class_management.inc:37 #: plugins/personal/posix/class_posixAccount.inc:124 msgid "unconfigured" msgstr "未配置" #: include/class_management.inc:165 msgid "Filter error" msgstr "" #: include/class_management.inc:165 msgid "The filter is incomplete!" msgstr "" #: include/class_management.inc:333 include/class_management.inc:494 #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 include/class_CopyPasteHandler.inc:245 #: include/simpleplugin/class_simpleManagement.inc:653 #: include/simpleplugin/class_simpleManagement.inc:753 #: include/simpleplugin/class_simpleManagement.inc:804 #: plugins/admin/users/class_userManagement.inc:152 msgid "Permission" msgstr "允许" #: include/class_management.inc:411 #: include/simpleplugin/class_simpleManagement.inc:719 msgid "Permission error" msgstr "" #: include/class_management.inc:494 #: include/simpleplugin/class_simpleManagement.inc:753 #, php-format msgid "You are not allowed to create a snapshot for %s." msgstr "" #: include/class_management.inc:514 include/class_management.inc:532 #: include/class_management.inc:582 #: include/simpleplugin/class_simpleManagement.inc:804 #, php-format msgid "You are not allowed to restore a snapshot for %s." msgstr "" #: include/class_management.inc:697 #, php-format msgid "" "No tab declaration for '%s' found in your configuration file. Cannot create " "plugin instance!" msgstr "" #: include/class_baseSelector.inc:210 include/class_listing.inc:1188 #: include/class_listing.inc:1190 msgid "Root" msgstr "根" #: include/class_baseSelector.inc:262 include/class_listing.inc:1211 msgid "Submit" msgstr "提交" #: include/class_listing.inc:313 include/class_listing.inc:1196 #: include/class_listing.inc:1198 msgid "Up" msgstr "上" #: include/class_listing.inc:313 msgid "Down" msgstr "关闭" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:463 #: include/simpleplugin/attributes/class_SetAttribute.inc:464 msgid "Sort up" msgstr "" #: include/class_listing.inc:313 #: include/simpleplugin/attributes/class_SetAttribute.inc:476 #: include/simpleplugin/attributes/class_SetAttribute.inc:477 msgid "Sort down" msgstr "" #: include/class_listing.inc:374 setup/setup_migrate_gosaAccounts.tpl.c:23 msgid "Select all" msgstr "" #: include/class_listing.inc:592 msgid "created by" msgstr "" #: include/class_listing.inc:1188 msgid "Go to root department" msgstr "转到根部门" #: include/class_listing.inc:1196 msgid "Go up one department" msgstr "向上跳转一个部门" #: include/class_listing.inc:1204 msgid "Go to user's department" msgstr "" #: include/class_listing.inc:1204 include/class_listing.inc:1206 msgid "Home" msgstr "" #: include/class_listing.inc:1211 msgid "Reload list" msgstr "重新加载列表" #: include/class_listing.inc:1332 include/simpleplugin/simple-list.xml:48 #: plugins/admin/departments/dep-list.xml:37 #: plugins/admin/users/user-list.xml:62 plugins/admin/groups/group-list.xml:54 msgid "Actions" msgstr "动作" #: include/class_listing.inc:1641 include/class_listing.inc:1695 msgid "Copy" msgstr "" #: include/class_listing.inc:1647 include/class_listing.inc:1683 msgid "Cut" msgstr "" #: include/class_listing.inc:1655 include/class_listing.inc:1657 #: include/class_CopyPasteHandler.inc:366 msgid "Paste" msgstr "粘贴" #: include/class_listing.inc:1683 msgid "Cut this entry" msgstr "剪切条目" #: include/class_listing.inc:1695 msgid "Copy this entry" msgstr "拷贝条目" #: include/class_listing.inc:1727 include/class_listing.inc:1729 msgid "Restore snapshots" msgstr "" #: include/class_listing.inc:1743 msgid "Export list" msgstr "" #: include/class_listing.inc:1773 include/class_listing.inc:1774 msgid "Restore snapshot" msgstr "" #: include/class_listing.inc:1783 msgid "Create snapshot" msgstr "" #: include/class_listing.inc:1784 msgid "Create a new snapshot from this object" msgstr "" #: include/class_xml.inc:61 include/functions.inc:492 #: include/functions.inc:3302 include/simpleplugin/class_simplePlugin.inc:272 #: include/simpleplugin/class_simplePlugin.inc:277 #: include/simpleplugin/class_simplePlugin.inc:289 #: html/class_passwordRecovery.inc:116 msgid "Fatal error" msgstr "" #: include/class_xml.inc:66 msgid "in" msgstr "于" #: include/class_xml.inc:68 msgid "on line" msgstr "" #: include/class_xml.inc:69 msgid "XML error" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:60 #, php-format msgid "Cannot change password, unknown user '%s'" msgstr "" #: include/password-methods/class_password-methods-sasl.inc:86 msgid "" "You need to fill saslRealm or saslExop in the configuration screen in order " "to use SASL" msgstr "" #: include/password-methods/class_password-methods-sha.inc:69 #: include/password-methods/class_password-methods-ssha.inc:73 #: include/password-methods/class_password-methods-ssha.inc:89 #: include/functions.inc:659 include/class_timezone.inc:51 #: include/class_config.inc:159 include/class_config.inc:284 #: include/class_config.inc:843 include/class_config.inc:856 #: html/index.php:148 html/class_passwordRecovery.inc:139 html/main.php:208 msgid "Configuration error" msgstr "" #: include/exporter/class_PDF.php:61 msgid "Page" msgstr "" #: include/exporter/class_pdfExporter.inc:58 msgid "No PDF export possible: there is no FPDF library installed." msgstr "" #: include/exporter/class_pdfExporter.inc:196 msgid "PDF" msgstr "" #: include/exporter/class_cvsExporter.inc:93 msgid "CSV" msgstr "" #: include/class_session.inc:50 include/class_session.inc:88 #: include/class_session.inc:127 msgid "Requested channel does not exist! Please contact your Administrator." msgstr "" #: include/class_CopyPasteHandler.inc:301 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:20 msgid "Cancel all" msgstr "" #: include/class_CopyPasteHandler.inc:368 msgid "Cannot paste" msgstr "" #: include/select/userSelect/class_userSelect.inc:32 #: plugins/personal/generic/class_user.inc:378 #: plugins/admin/users/user-list.xml:49 ihtml/themes/breezy/recovery.tpl.c:26 #: plugins/personal/generic/paste_generic.tpl.c:11 msgid "Login" msgstr "登录名" #: include/class_template.inc:36 #: include/simpleplugin/class_simpleManagement.inc:211 #: include/simpleplugin/class_simpleManagement.inc:407 #: plugins/admin/users/user-list.xml:95 ihtml/themes/breezy/template.tpl.c:5 msgid "Template" msgstr "模板" #: include/class_template.inc:37 msgid "Object template, used to create several objects with similar values" msgstr "" #: include/class_template.inc:41 #: include/simpleplugin/class_simplePlugin.inc:171 msgid "Template name" msgstr "模板名称" #: include/functions.inc:104 #, php-format msgid "Fatal error: no class locations defined - please run '%s' to fix this" msgstr "" #: include/functions.inc:123 #, php-format msgid "" "Fatal error: cannot instantiate class '%s' - try running '%s' to fix this" msgstr "" #: include/functions.inc:493 #, php-format msgid "FATAL: Error when connecting the LDAP. Server said '%s'." msgstr "致命错误:连接 LDAP 错误。服务器返回 '%s'。" #: include/functions.inc:564 msgid "" "Login (uid) is not unique inside the LDAP tree. Please contact your " "administrator." msgstr "" #: include/functions.inc:597 msgid "Authentication error" msgstr "" #: include/functions.inc:598 msgid "" "It seems your user password has expired. Please use password recovery to change it." msgstr "" #: include/functions.inc:649 include/functions.inc:770 msgid "Error while adding a lock. Contact the developers!" msgstr "" #: include/functions.inc:659 #, php-format msgid "" "Cannot create locking information in LDAP tree. Please contact your " "administrator!" msgstr "" #: include/functions.inc:659 #, php-format msgid "LDAP server returned: %s" msgstr "" #: include/functions.inc:838 msgid "" "Found multiple locks for object to be locked. This should not happen - " "cleaning up multiple references." msgstr "" #: include/functions.inc:1109 #, php-format msgid "The size limit of %d entries is exceed!" msgstr "超过了 %d 个条目的大小限制!" #: include/functions.inc:1111 #, php-format msgid "" "Set the new size limit to %s and show me this message if the limit still " "exceeds" msgstr "设置新的大小限制为 %s 并且如果限制依然超出还显示这条信息。" #: include/functions.inc:1128 msgid "Configure" msgstr "配置" #: include/functions.inc:1133 msgid "incomplete" msgstr "不完整" #: include/functions.inc:1534 msgid "Continue anyway" msgstr "仍然继续" #: include/functions.inc:1536 msgid "Edit anyway" msgstr "仍然编辑" #: include/functions.inc:1538 #, php-format msgid "You're going to edit the LDAP entry/entries %s" msgstr "" #: include/functions.inc:1766 msgid "Entries per page" msgstr "每页条目数" #: include/functions.inc:1797 include/class_filter.inc:353 msgid "Apply filter" msgstr "应用过滤器" #: include/functions.inc:2065 #, php-format msgid "%sB" msgstr "" #: include/functions.inc:2066 #, php-format msgid "%sKiB" msgstr "" #: include/functions.inc:2067 #, php-format msgid "%sMiB" msgstr "" #: include/functions.inc:2068 #, php-format msgid "%sGiB" msgstr "" #: include/functions.inc:2069 #, php-format msgid "%sTiB" msgstr "" #: include/functions.inc:2070 #, php-format msgid "%sPiB" msgstr "" #: include/functions.inc:2071 #, php-format msgid "%sEiB" msgstr "" #: include/functions.inc:2072 #, php-format msgid "%sZiB" msgstr "" #: include/functions.inc:2073 #, php-format msgid "%sYiB" msgstr "" #: include/functions.inc:2105 include/class_filter.inc:315 msgid "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" msgstr "*ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #: include/functions.inc:2243 #, php-format msgid "" "File '%s' could not be deleted. Try fusiondirectory-setup --check-" "directories to fix permissions." msgstr "" #: include/functions.inc:2285 msgid "Cannot write to revision file!" msgstr "" #: include/functions.inc:2314 msgid "Cannot read to revision file!" msgstr "" #: include/functions.inc:2523 msgid "'nextIdHook' is not available. Using default base!" msgstr "" #: include/functions.inc:2541 msgid "LDAP warning" msgstr "" #: include/functions.inc:2541 msgid "Cannot get schema information from server. No schema check possible!" msgstr "" #: include/functions.inc:2564 msgid "Main FusionDirectory schema" msgstr "" #: include/functions.inc:2571 msgid "Schema used to store FusionDirectory configuration" msgstr "" #: include/functions.inc:2578 msgid "Used to store trust mode information in users or groups." msgstr "" #: include/functions.inc:2585 msgid "Used to store templates." msgstr "" #: include/functions.inc:2592 msgid "Used to store POSIX information." msgstr "" #: include/functions.inc:2599 #, php-format msgid "Missing required object class \"%s\"!" msgstr "" #: include/functions.inc:2601 #, php-format msgid "Missing optional object class \"%s\"!" msgstr "" #: include/functions.inc:2605 #, php-format msgid "Class(es) available" msgstr "" #: include/functions.inc:2623 msgid "" "You have installed the mixed groups plugin, but your schema configuration " "does not support this." msgstr "" #: include/functions.inc:2624 msgid "" "In order to use mixed groups the objectClass \"posixGroup\" must be " "AUXILIARY" msgstr "" #: include/functions.inc:2627 msgid "" "Your schema is configured to support mixed groups, but this plugin is not " "present." msgstr "" #: include/functions.inc:2628 msgid "The objectClass \"posixGroup\" must be STRUCTURAL" msgstr "" #: include/functions.inc:3112 include/functions.inc:3133 #: include/functions.inc:3173 include/functions.inc:3185 #: include/functions.inc:3189 include/functions.inc:3196 #: include/functions.inc:3205 msgid "Cannot allocate a free ID:" msgstr "" #: include/functions.inc:3112 msgid "unknown idAllocation method!" msgstr "" #: include/functions.inc:3133 #, php-format msgid "%sPoolMin >= %sPoolMax!" msgstr "" #: include/functions.inc:3173 msgid "sambaUnixIdPool is not unique!" msgstr "" #: include/functions.inc:3185 include/functions.inc:3189 msgid "no ID available!" msgstr "" #: include/functions.inc:3205 msgid "maximum tries exceeded!" msgstr "" #: include/functions.inc:3267 msgid "Cannot allocate a free ID!" msgstr "" #: include/functions.inc:3303 #, php-format msgid "Cannot locate file '%s' - please run '%s' to fix this" msgstr "" #: include/class_pluglist.inc:164 msgid "All objects in this category" msgstr "" #: include/class_msg_dialog.inc:169 msgid "Please fix the above error and reload the page." msgstr "" #: include/class_timezone.inc:52 #, php-format msgid "The timezone setting \"%s\" in your configuration is not valid." msgstr "" #: include/class_config.inc:156 #, php-format msgid "XML error in fusiondirectory.conf: %s at line %d" msgstr "XML 出错于 fusiondirectory.conf: %s ,行 %d" #: include/class_config.inc:280 #, php-format msgid "" "It seems you are trying to decode something which is not encoded : %s
    \n" "Please check you are not using a fusiondirectory.secrets file while your passwords are not encrypted." msgstr "" #: include/class_config.inc:322 msgid "Cannot bind to LDAP. Please contact the system administrator." msgstr "" #: include/class_config.inc:357 #, php-format msgid "Location \"%s\" could not be found in the configuration file" msgstr "" #: include/class_config.inc:844 #, php-format msgid "" "The snapshot functionality is enabled, but the required variable '%s' is not" " set." msgstr "" #: include/class_config.inc:857 #, php-format msgid "" "The snapshot functionality is enabled, but the required compression module " "is missing. Please install '%s'." msgstr "" #: include/class_config.inc:965 msgid "All categories" msgstr "" #: include/class_config.inc:1095 msgid "My account" msgstr "我的账号" #: include/class_msgPool.inc:43 #, php-format msgid "Select to list objects of type '%s'." msgstr "" #: include/class_msgPool.inc:45 #, php-format msgid "Select to list objects containig '%s'." msgstr "" #: include/class_msgPool.inc:47 #, php-format msgid "Select to list objects that have '%s' enabled" msgstr "" #: include/class_msgPool.inc:49 msgid "Select to search within subtrees" msgstr "选择在子树中查询" #: include/class_msgPool.inc:51 include/class_filter.inc:364 msgid "Search in subtrees" msgstr "" #: include/class_msgPool.inc:67 msgid "This object will be deleted!" msgstr "" #: include/class_msgPool.inc:69 #, php-format msgid "This '%s' object will be deleted!" msgstr "" #: include/class_msgPool.inc:74 #, php-format msgid "This object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:76 #, php-format msgid "This '%s' object will be deleted: %s" msgstr "" #: include/class_msgPool.inc:81 msgid "This object will be deleted:" msgstr "" #: include/class_msgPool.inc:83 #, php-format msgid "This '%s' object will be deleted:" msgstr "" #: include/class_msgPool.inc:87 #, php-format msgid "These objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:89 #, php-format msgid "These '%s' objects will be deleted: %s" msgstr "" #: include/class_msgPool.inc:101 msgid "You have no permission to delete this object!" msgstr "" #: include/class_msgPool.inc:105 include/class_msgPool.inc:109 msgid "You have no permission to delete the object:" msgstr "" #: include/class_msgPool.inc:112 msgid "You have no permission to delete these objects:" msgstr "" #: include/class_msgPool.inc:123 msgid "You have no permission to create this object!" msgstr "" #: include/class_msgPool.inc:127 include/class_msgPool.inc:131 msgid "You have no permission to create the object:" msgstr "" #: include/class_msgPool.inc:134 msgid "You have no permission to create these objects:" msgstr "" #: include/class_msgPool.inc:146 msgid "You have no permission to modify this object!" msgstr "" #: include/class_msgPool.inc:151 #, php-format msgid "You have no permission to modify the field \"%s\" of object \"%s\"" msgstr "" #: include/class_msgPool.inc:153 include/class_msgPool.inc:158 #, php-format msgid "You have no permission to modify the object:
    %s" msgstr "" #: include/class_msgPool.inc:161 #, php-format msgid "You have no permission to modify these objects:
    %s" msgstr "" #: include/class_msgPool.inc:172 msgid "You have no permission to view this object!" msgstr "" #: include/class_msgPool.inc:176 include/class_msgPool.inc:180 msgid "You have no permission to view the object:" msgstr "" #: include/class_msgPool.inc:183 msgid "You have no permission to view these objects:" msgstr "" #: include/class_msgPool.inc:194 msgid "You have no permission to move this object!" msgstr "" #: include/class_msgPool.inc:198 include/class_msgPool.inc:202 msgid "You have no permission to move the object:" msgstr "" #: include/class_msgPool.inc:205 msgid "You have no permission to move these objects:" msgstr "" #: include/class_msgPool.inc:223 include/class_msgPool.inc:243 #: include/class_msgPool.inc:273 msgid "Connection information" msgstr "" #: include/class_msgPool.inc:225 #, php-format msgid "Cannot connect to %s database!" msgstr "" #: include/class_msgPool.inc:245 #, php-format msgid "Cannot select %s database!" msgstr "" #: include/class_msgPool.inc:255 #, php-format msgid "No %s server defined!" msgstr "" #: include/class_msgPool.inc:275 #, php-format msgid "Cannot query %s database!" msgstr "" #: include/class_msgPool.inc:285 #, php-format msgid "The field '%s' contains a reserved keyword!" msgstr "" #: include/class_msgPool.inc:297 #, php-format msgid "Command specified as %s hook for plugin '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:313 #, php-format msgid "'%s' command is invalid!" msgstr "" #: include/class_msgPool.inc:315 #, php-format msgid "'%s' command for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:319 #, php-format msgid "'%s' command (%s) is invalid!" msgstr "" #: include/class_msgPool.inc:321 #, php-format msgid "'%s' command (%s) for plugin %s is invalid!" msgstr "" #: include/class_msgPool.inc:339 #, php-format msgid "Cannot execute '%s' command!" msgstr "" #: include/class_msgPool.inc:341 #, php-format msgid "Cannot execute '%s' command for plugin %s!" msgstr "" #: include/class_msgPool.inc:345 #, php-format msgid "Cannot execute '%s' command (%s)!" msgstr "" #: include/class_msgPool.inc:347 #, php-format msgid "Cannot execute '%s' command (%s) for plugin %s!" msgstr "" #: include/class_msgPool.inc:362 #, php-format msgid "Value for '%s' is too large!" msgstr "" #: include/class_msgPool.inc:364 #, php-format msgid "'%s' must be smaller than %s!" msgstr "" #: include/class_msgPool.inc:378 #, php-format msgid "Value for '%s' is too small!" msgstr "" #: include/class_msgPool.inc:380 #, php-format msgid "'%s' must be %d or above!" msgstr "" #: include/class_msgPool.inc:393 #, php-format msgid "'%s' depends on '%s' - please provide both values!" msgstr "" #: include/class_msgPool.inc:404 #, php-format msgid "There is already an entry with this '%s' attribute in the system!" msgstr "" #: include/class_msgPool.inc:406 #, php-format msgid "The entry '%s' already use this '%s' attribute!" msgstr "" #: include/class_msgPool.inc:417 #, php-format msgid "The required field '%s' is empty!" msgstr "" #: include/class_msgPool.inc:435 msgid "Example:" msgstr "" #: include/class_msgPool.inc:455 include/class_msgPool.inc:459 #, php-format msgid "The field '%s' contains invalid characters" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' is not allowed:" msgstr "" #: include/class_msgPool.inc:456 #, php-format msgid "'%s' are not allowed!" msgstr "" #: include/class_msgPool.inc:470 #, php-format msgid "Missing %s PHP extension!" msgstr "" #: include/class_msgPool.inc:478 setup/setup_migrate_adminAccount.tpl.c:23 #: setup/setup_migrate_gosaAccounts.tpl.c:32 #: ihtml/themes/breezy/islocked.tpl.c:17 #: ihtml/themes/breezy/copyPasteDialog.tpl.c:17 #: ihtml/themes/breezy/msg_dialog.tpl.c:17 ihtml/themes/breezy/acl.tpl.c:53 #: ihtml/themes/breezy/acl.tpl.c:59 msgid "Cancel" msgstr "取消" #: include/class_msgPool.inc:494 setup/setup_migrate_adminAccount.tpl.c:20 #: setup/setup_migrate_gosaAccounts.tpl.c:29 ihtml/themes/breezy/acl.tpl.c:50 #: ihtml/themes/breezy/acl.tpl.c:56 msgid "Apply" msgstr "应用" #: include/class_msgPool.inc:502 ihtml/themes/breezy/copyPasteDialog.tpl.c:14 msgid "Save" msgstr "保存" #: include/class_msgPool.inc:512 #, php-format msgid "Add" msgstr "添加" #: include/class_msgPool.inc:512 #, php-format msgid "Add %s" msgstr "" #: include/class_msgPool.inc:522 #: include/simpleplugin/attributes/class_SetAttribute.inc:501 #: include/simpleplugin/attributes/class_SetAttribute.inc:502 #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 #, php-format msgid "Delete" msgstr "删除" #: include/class_msgPool.inc:522 #, php-format msgid "Delete %s" msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit..." msgstr "" #: include/class_msgPool.inc:532 #, php-format msgid "Edit %s..." msgstr "" #: include/class_msgPool.inc:540 msgid "Back" msgstr "返回" #: include/class_msgPool.inc:569 #, php-format msgid "This account has no valid %s extensions!" msgstr "" #: include/class_msgPool.inc:582 #, php-format msgid "" "This account has %s settings enabled. You can disable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:588 include/class_msgPool.inc:595 #, php-format msgid "" "This account has %s settings enabled. To disable them, you'll need to remove" " the %s settings first!" msgstr "" #: include/class_msgPool.inc:610 #, php-format msgid "" "This account has %s settings disabled. You can enable them by clicking " "below." msgstr "" #: include/class_msgPool.inc:616 include/class_msgPool.inc:623 #, php-format msgid "" "This account has %s settings disabled. To enable them, you'll need to add " "the %s settings first!" msgstr "" #: include/class_msgPool.inc:635 #, php-format msgid "Add %s settings" msgstr "" #: include/class_msgPool.inc:646 #, php-format msgid "Remove %s settings" msgstr "" #: include/class_msgPool.inc:654 msgid "Click the 'Edit' button below to change information in this dialog" msgstr "" #: include/class_msgPool.inc:662 msgid "January" msgstr "一月" #: include/class_msgPool.inc:662 msgid "February" msgstr "二月" #: include/class_msgPool.inc:662 msgid "March" msgstr "三月" #: include/class_msgPool.inc:662 msgid "April" msgstr "四月" #: include/class_msgPool.inc:663 msgid "May" msgstr "五月" #: include/class_msgPool.inc:663 msgid "June" msgstr "六月" #: include/class_msgPool.inc:663 msgid "July" msgstr "七月" #: include/class_msgPool.inc:663 msgid "August" msgstr "八月" #: include/class_msgPool.inc:663 msgid "September" msgstr "九月" #: include/class_msgPool.inc:664 msgid "October" msgstr "十月" #: include/class_msgPool.inc:664 msgid "November" msgstr "十一月" #: include/class_msgPool.inc:664 msgid "December" msgstr "十二月" #: include/class_msgPool.inc:673 msgid "Sunday" msgstr "" #: include/class_msgPool.inc:673 msgid "Monday" msgstr "" #: include/class_msgPool.inc:673 msgid "Tuesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Wednesday" msgstr "" #: include/class_msgPool.inc:673 msgid "Thursday" msgstr "" #: include/class_msgPool.inc:673 msgid "Friday" msgstr "" #: include/class_msgPool.inc:673 msgid "Saturday" msgstr "" #: include/class_msgPool.inc:686 msgid "Database operation failed!" msgstr "" #: include/class_msgPool.inc:704 msgid "read operation" msgstr "" #: include/class_msgPool.inc:704 msgid "add operation" msgstr "" #: include/class_msgPool.inc:704 msgid "modify operation" msgstr "" #: include/class_msgPool.inc:705 msgid "delete operation" msgstr "" #: include/class_msgPool.inc:705 msgid "search operation" msgstr "" #: include/class_msgPool.inc:705 msgid "authentication" msgstr "" #: include/class_msgPool.inc:708 #, php-format msgid "LDAP %s failed!" msgstr "" #: include/class_msgPool.inc:710 msgid "LDAP operation failed!" msgstr "" #: include/class_msgPool.inc:715 include/class_SnapshotDialogs.inc:33 #: include/class_SnapshotDialogs.inc:182 #: plugins/admin/aclrole/class_aclEditionDialog.inc:341 msgid "Object" msgstr "对象" #: include/class_msgPool.inc:729 msgid "Upload failed!" msgstr "" #: include/class_msgPool.inc:732 #, php-format msgid "Upload failed: %s" msgstr "" #: include/class_msgPool.inc:743 msgid "Communication failure with the infrastructure service!" msgstr "" #: include/class_msgPool.inc:745 #, php-format msgid "Communication failure with the infrastructure service: %s" msgstr "" #: include/class_msgPool.inc:758 include/class_msgPool.inc:761 #, php-format msgid "This '%s' is still in use by this object: %s" msgstr "" #: include/class_msgPool.inc:764 #, php-format msgid "This '%s' is still in use." msgstr "" #: include/class_msgPool.inc:766 #, php-format msgid "This '%s' is still in use by these objects: %s" msgstr "" #: include/class_msgPool.inc:776 #, php-format msgid "File '%s' does not exist!" msgstr "" #: include/class_msgPool.inc:786 #, php-format msgid "Cannot open file '%s' for reading!" msgstr "" #: include/class_msgPool.inc:796 #, php-format msgid "Cannot open file '%s' for writing!" msgstr "" #: include/class_msgPool.inc:806 #, php-format msgid "" "The value for '%s' is currently unconfigured or invalid, please check your " "configuration file!" msgstr "" #: include/class_msgPool.inc:816 #, php-format msgid "Cannot delete file '%s'!" msgstr "" #: include/class_msgPool.inc:826 #, php-format msgid "Cannot create folder '%s'!" msgstr "" #: include/class_msgPool.inc:836 #, php-format msgid "Cannot delete folder '%s'!" msgstr "" #: include/class_msgPool.inc:846 #, php-format msgid "Checking for %s support" msgstr "" #: include/class_msgPool.inc:856 #, php-format msgid "Install and activate the %s PHP module." msgstr "" #: include/class_msgPool.inc:866 #, php-format msgid "Install and activate the %s Pear module." msgstr "" #: include/class_msgPool.inc:876 #, php-format msgid "" "Cannot initialize class '%s'! Maybe there is a plugin missing in your " "FusionDirectory setup?" msgstr "" #: include/class_msgPool.inc:884 msgid "" "The supplied base is not valid and has been reset to the previous value!" msgstr "" #: include/class_SnapshotDialogs.inc:30 msgid "Creating an object snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:33 include/class_SnapshotDialogs.inc:182 msgid "DN of the object you are creating a snapshot of" msgstr "" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp" msgstr "日期" #: include/class_SnapshotDialogs.inc:37 msgid "Timestamp of this snapshot creation" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason" msgstr "" #: include/class_SnapshotDialogs.inc:41 msgid "Reason for creating this snapshot" msgstr "" #: include/class_SnapshotDialogs.inc:60 include/class_SnapshotDialogs.inc:118 msgid "Y-m-d, H:i:s" msgstr "" #: include/class_SnapshotDialogs.inc:135 include/class_SnapshotDialogs.inc:136 msgid "Restore" msgstr "" #: include/class_SnapshotDialogs.inc:178 msgid "Restoring snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 #: plugins/config/class_configInLdap.inc:229 msgid "Snapshots" msgstr "" #: include/class_SnapshotDialogs.inc:186 msgid "Existing snapshots for this object" msgstr "" #: include/php_setup.inc:45 include/php_setup.inc:132 msgid "File" msgstr "文件" #: include/php_setup.inc:47 include/php_setup.inc:132 msgid "Line" msgstr "行" #: include/php_setup.inc:53 msgid "PHP error" msgstr "PHP 错误" #: include/php_setup.inc:62 msgid "class" msgstr "类" #: include/php_setup.inc:70 msgid "function" msgstr "功能" #: include/php_setup.inc:76 msgid "static" msgstr "静态" #: include/php_setup.inc:80 msgid "method" msgstr "方法" #: include/php_setup.inc:131 ihtml/themes/breezy/msg_dialog.tpl.c:11 msgid "Trace" msgstr "跟踪" #: include/php_setup.inc:132 msgid "Type" msgstr "类型" #: include/php_setup.inc:133 msgid "Arguments" msgstr "参数" #: include/php_setup.inc:231 msgid "Generating this page caused the PHP interpreter to raise some errors!" msgstr "生成这个页面导致 PHP 解析器发生一些错误!" #: include/php_setup.inc:236 msgid "Send bug report to the FusionDirectory Team" msgstr "" #: include/php_setup.inc:237 msgid "Send bugreport" msgstr "" #: include/php_setup.inc:242 msgid "Toggle information" msgstr "切换信息" #: include/class_ldap.inc:323 include/class_ldap.inc:370 msgid "Performance warning" msgstr "" #: include/class_ldap.inc:323 include/class_ldap.inc:370 #, php-format msgid "LDAP performance is poor: last query took about %.2fs!" msgstr "" #: include/class_ldap.inc:873 #, php-format msgid "" "Cannot automatically create subtrees with RDN \"%s\": no object class found!" msgstr "" #: include/class_ldap.inc:911 #, php-format msgid "Cannot automatically create subtrees with RDN \"%s\": not supported" msgstr "" #: include/class_ldap.inc:999 #, php-format msgid "while operating on '%s' using LDAP server '%s'" msgstr "当操作 '%s' 使用 LDAP 服务器 '%s' 时" #: include/class_ldap.inc:1001 #, php-format msgid "while operating on LDAP server %s" msgstr "当操作 LDAP 服务器 '%s' 时" #: include/class_ldap.inc:1091 msgid "proc_open failed to execute ldapsearch" msgstr "" #: include/class_ldap.inc:1138 #, php-format msgid "Error line %s, first line of an entry cannot start with a space" msgstr "" #: include/class_ldap.inc:1156 #, php-format msgid "Error line %s, references to an external file are not supported" msgstr "" #: include/class_ldap.inc:1159 #, php-format msgid "Error line %s, attribute \"%s\" has no value" msgstr "" #: include/class_ldap.inc:1163 #, php-format msgid "Error line %s, an entry bloc can only have one dn" msgstr "" #: include/class_ldap.inc:1168 #, php-format msgid "Error line %s, an entry bloc should start with the dn" msgstr "" #: include/class_ldap.inc:1199 #, php-format msgid "Error while importing dn: \"%s\", please check your LDIF from line %s on!" msgstr "" #: include/simpleplugin/simple-select-list.xml:11 msgid "Please select the desired entries" msgstr "" #: include/simpleplugin/simple-select-list.xml:32 #: include/simpleplugin/simple-list.xml:32 #: plugins/admin/departments/class_department.inc:170 #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/group-list.xml:33 #: plugins/admin/groups/class_group.inc:60 #: plugins/admin/aclrole/class_aclRole.inc:99 #: setup/setup_migrate_adminAccount.tpl.c:8 msgid "Name" msgstr "名称" #: include/simpleplugin/simple-select-list.xml:40 #: include/simpleplugin/simple-list.xml:40 #: plugins/personal/generic/class_user.inc:319 #: plugins/admin/departments/class_department.inc:72 #: plugins/admin/departments/dep-list.xml:29 #: plugins/admin/groups/class_roleGeneric.inc:91 #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/group-list.xml:41 #: plugins/admin/groups/class_group.inc:65 #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Description" msgstr "描述" #: include/simpleplugin/class_dialogAttributes.inc:426 #, php-format msgid "POSIX group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:428 #, php-format msgid "Role %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:430 #, php-format msgid "Group %s" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:465 msgid "Group of user" msgstr "用户组" #: include/simpleplugin/class_dialogAttributes.inc:634 #: include/simpleplugin/attributes/class_SelectAttribute.inc:66 #: include/simpleplugin/attributes/class_SelectAttribute.inc:111 msgid "None" msgstr "" #: include/simpleplugin/class_dialogAttributes.inc:636 msgid "Unknown" msgstr "未知" #: include/simpleplugin/class_dialogAttributes.inc:645 #: include/simpleplugin/class_dialogAttributes.inc:646 #: include/simpleplugin/simple-list.xml:67 #: include/simpleplugin/simple-list.xml:112 #: include/simpleplugin/attributes/class_SetAttribute.inc:491 #: include/simpleplugin/attributes/class_SetAttribute.inc:492 #: plugins/admin/departments/dep-list.xml:79 #: plugins/admin/users/user-list.xml:108 #: plugins/admin/groups/group-list.xml:74 #: plugins/admin/groups/group-list.xml:119 #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit" msgstr "编辑" #: include/simpleplugin/class_dialogAttributes.inc:655 #: include/simpleplugin/class_dialogAttributes.inc:656 #: include/simpleplugin/simple-list.xml:75 #: include/simpleplugin/simple-list.xml:125 #: include/simpleplugin/attributes/class_FileAttribute.inc:333 #: include/simpleplugin/attributes/class_FileAttribute.inc:334 #: plugins/admin/departments/dep-list.xml:67 #: plugins/admin/departments/dep-list.xml:88 #: plugins/admin/users/user-list.xml:115 #: plugins/admin/groups/group-list.xml:82 #: plugins/admin/groups/group-list.xml:132 msgid "Remove" msgstr "删除" #: include/simpleplugin/class_simpleTabs.inc:92 #, php-format msgid "" "No plugin definitions found to initialize '%s', please check your " "configuration file." msgstr "" #: include/simpleplugin/class_simpleTabs.inc:322 #, php-format msgid "Delete process has been canceled by plugin '%s': %s" msgstr "删除进程被插件 '%s' 取消: %s" #: include/simpleplugin/class_simpleTabs.inc:404 #, php-format msgid "Move from \"%s\" to \"%s\" failed" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:264 msgid "B" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:265 msgid "KiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:266 msgid "MiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:267 msgid "GiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:268 msgid "TiB" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:279 msgid "seconds" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:280 msgid "minutes" msgstr "" #: include/simpleplugin/class_helpersAttribute.inc:281 msgid "hours" msgstr "小时" #: include/simpleplugin/class_helpersAttribute.inc:282 msgid "days" msgstr "天" #: include/simpleplugin/class_simpleManagement.inc:217 #: plugins/admin/users/user-list.xml:87 msgid "From template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:244 #, php-format msgid "%s template" msgstr "" #: include/simpleplugin/class_simpleManagement.inc:401 #: include/simpleplugin/class_simpleManagement.inc:407 #, php-format msgid "Show %s" msgstr "" #: include/simpleplugin/simple-list.xml:11 msgid "NO LABEL" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:168 msgid "Template settings" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:171 msgid "This is the name of the template" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:272 msgid "Only main tab can compute dn" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:279 #, php-format msgid "Could not compute dn: no parent tab class for \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:291 #, php-format msgid "" "Could not compute dn: could not find objectType infos from tab class \"%s\"" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #: include/simpleplugin/class_simplePlugin.inc:695 msgid "Error when saving" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:687 #, php-format msgid "There is already an entry with the same dn : %s" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:695 #, php-format msgid "The entry %s is not existing" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:760 #: include/class_plugin.inc:548 msgid "" "The object has changed since opened in FusionDirectory. All changes that may" " be done by others will get lost if you save this entry!" msgstr "" #: include/simpleplugin/class_simplePlugin.inc:1039 #, php-format msgid "Unknown field \"%s\"" msgstr "" #: include/simpleplugin/class_Attribute.inc:555 #: include/simpleplugin/attributes/class_SetAttribute.inc:230 #, php-format msgid "%s (required)" msgstr "" #: include/simpleplugin/attributes/class_BaseSelectorAttribute.inc:40 msgid "Object base" msgstr "" #: include/simpleplugin/attributes/class_SelectAttribute.inc:137 #, php-format msgid "The value \"%s\" for field \"%s\" is not in the list of possible choices" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 #: include/simpleplugin/attributes/class_FileAttribute.inc:34 #: include/simpleplugin/attributes/class_FileAttribute.inc:37 #, php-format msgid "Cannot read uploaded file: %s" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:31 msgid "file is empty" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:34 msgid "file not found" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:37 msgid "file not readable" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:72 #, php-format msgid "%s (%d bytes)" msgstr "" #: include/simpleplugin/attributes/class_FileAttribute.inc:119 #: include/simpleplugin/attributes/class_FileAttribute.inc:323 #: include/simpleplugin/attributes/class_FileAttribute.inc:324 msgid "Upload" msgstr "上传" #: include/simpleplugin/attributes/class_FileAttribute.inc:124 #: include/simpleplugin/attributes/class_FileAttribute.inc:125 msgid "Download" msgstr "下载" #: include/simpleplugin/attributes/class_FileAttribute.inc:298 msgid "" "Cannot save user picture, FusionDirectory requires the PHP module " "\"imagick\" to be installed!" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:136 #, php-format msgid "The value for multivaluated field \"%s\" is not an array" msgstr "" #: include/simpleplugin/attributes/class_SetAttribute.inc:585 #, php-format msgid "Invalid value for %s" msgstr "" #: include/simpleplugin/attributes/class_DateAttribute.inc:131 #, php-format msgid "Error, incorrect date: %s" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:50 #, php-format msgid "An integer between %d and %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:52 #, php-format msgid "An integer larger than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:54 #, php-format msgid "An integer smaller than %d" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:156 #, php-format msgid "A float between %f and %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:158 #, php-format msgid "A float larger than %f" msgstr "" #: include/simpleplugin/attributes/class_IntAttribute.inc:160 #, php-format msgid "A float smaller than %f" msgstr "" #: include/class_SnapshotHandler.inc:453 msgid "There was a problem uncompressing snapshot data" msgstr "" #: include/class_plugin.inc:803 #, php-format msgid "" "Recursive dependency in the template fields: \"%1$s\" cannot depend on " "\"%2$s\" as \"%2$s\" already depends on \"%1$s\"" msgstr "" #: include/class_plugin.inc:1332 #, php-format msgid "Tab \"%s\"" msgstr "" #: include/class_acl.inc:35 include/class_acl.inc:39 msgid "ACL" msgstr "ACL" #: include/class_acl.inc:36 msgid "Manage access control lists" msgstr "" #: include/class_acl.inc:39 #: plugins/admin/aclrole/class_aclRoleManagement.inc:34 msgid "ACL roles" msgstr "" #: include/class_acl.inc:118 #, php-format msgid "" "Unkown ACL type '%s'!\n" "You might need to run \"fusiondirectory-setup --migrate-acls\" to migrate your acls to the new format." msgstr "" #: include/class_acl.inc:170 #, php-format msgid "Unknown entry '%s'!" msgstr "" #: include/class_acl.inc:173 #, php-format msgid "All users" msgstr "" #: html/setup.php:59 msgid "Smarty" msgstr "" #: html/setup.php:59 html/class_passwordRecovery.inc:140 #, php-format msgid "Directory '%s' specified as compile directory is not accessible!" msgstr "目录 '%s' 作为编译目录无法访问!" #: html/index.php:56 html/class_passwordRecovery.inc:173 #, php-format msgid "Warning: Session is not encrypted!" msgstr "" #: html/index.php:62 msgid "" "Warning: The session lifetime configured in your fusiondirectory.conf will " "be overridden by php.ini settings." msgstr "" #: html/index.php:150 #, php-format msgid "" "FusionDirectory configuration %s/%s is not readable. Please run " "fusiondirectory-setup --check-config to fix this." msgstr "" #: html/index.php:171 msgid "Smarty error" msgstr "" #: html/index.php:173 #, php-format msgid "Directory \"%s\" specified as compile directory is not accessible!" msgstr "" #: html/index.php:208 msgid "Your FusionDirectory session has expired!" msgstr "" #: html/index.php:211 msgid "Your IP has changed!" msgstr "" #: html/index.php:214 #, php-format msgid "Invalid plugin parameter \"%s\"!" msgstr "" #: html/index.php:217 msgid "No session found!" msgstr "" #: html/index.php:253 msgid "LDAP schema check reported errors:" msgstr "" #: html/index.php:255 msgid "LDAP schema error" msgstr "" #: html/index.php:282 msgid "Please specify a valid username!" msgstr "请输入一个有效的用户名!" #: html/index.php:285 msgid "Please specify your password!" msgstr "请输入您的口令!" #: html/index.php:304 msgid "Please check the username/password combination." msgstr "请检查用户名/口令。" #: html/index.php:334 msgid "Account locked. Please contact your system administrator!" msgstr "" #: html/index.php:455 #, php-format msgid "No value found in HTTP header \"%s\"" msgstr "" #: html/index.php:476 #, php-format msgid "Header user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:486 #, php-format msgid "Header user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:548 #, php-format msgid "CAS user \"%s\" could not be found in the LDAP" msgstr "" #: html/index.php:558 #, php-format msgid "CAS user \"%s\" match several users in the LDAP" msgstr "" #: html/index.php:597 msgid "" "Your browser has cookies disabled. Please enable cookies and reload this " "page before logging in!" msgstr "您的浏览器已经禁用 cookies。请启用 cookies 并在登录前重新加载本页面!" #: html/class_passwordRecovery.inc:117 #, php-format msgid "FusionDirectory configuration %s/%s is not readable. Aborted." msgstr "" #: html/class_passwordRecovery.inc:301 ihtml/themes/breezy/recovery.tpl.c:71 msgid "Email address" msgstr "邮件地址" #: html/class_passwordRecovery.inc:468 #, php-format msgid "Did not find an account with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:471 #, php-format msgid "Found multiple accounts with login \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:503 #, php-format msgid "There is no account using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:506 #, php-format msgid "There are several accounts using email \"%s\"" msgstr "" #: html/class_passwordRecovery.inc:514 #, php-format msgid "The user using email \"%s\" is locked. Please contact your administrator." msgstr "" #: html/class_passwordRecovery.inc:569 msgid "Contact your administrator, there was a problem with mail server" msgstr "" #: html/class_passwordRecovery.inc:582 msgid "This token is invalid" msgstr "" #: html/class_passwordRecovery.inc:647 msgid "There was a problem with mail server, confirmation email not sent" msgstr "" #: html/main.php:115 msgid "PHP configuration" msgstr "" #: html/main.php:116 msgid "" "Fatal error: Register globals is on. FusionDirectory will refuse to login " "unless this is fixed by an administrator." msgstr "" #: html/main.php:142 msgid "Password change" msgstr "" #: html/main.php:142 msgid "Your password is about to expire, please change your password!" msgstr "" #: html/main.php:158 msgid "Your password has expired, please set a new one." msgstr "" #: html/main.php:208 msgid "Running out of memory!" msgstr "" #: html/main.php:251 msgid "User ACL checks disabled" msgstr "" #: html/main.php:289 msgid "Plugin" msgstr "" #: html/main.php:290 #, php-format msgid "" "Fatal error: Cannot find any plugin definitions for plugin '%s' ('%s' is not" " a file)!" msgstr "" #: html/main.php:305 msgid "Configuration Error" msgstr "" #: html/main.php:306 #, php-format msgid "" "Fatal error: not all POST variables have been transfered by PHP - please " "inform your administrator!" msgstr "" #: plugins/generic/welcome/main.inc:25 #, php-format msgid "Welcome %s!" msgstr "欢迎 %s!" #: plugins/generic/references/class_reference.inc:26 #: plugins/generic/references/class_reference.inc:27 #: plugins/generic/references/class_reference.inc:44 msgid "References" msgstr "参考" #: plugins/personal/posix/class_posixAccount.inc:84 #: plugins/personal/posix/class_posixAccount.inc:113 msgid "Unix" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:85 msgid "Edit users POSIX settings" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "Home directory" msgstr "用户主目录" #: plugins/personal/posix/class_posixAccount.inc:117 msgid "The path to the home directory of this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Shell" msgstr "Shell" #: plugins/personal/posix/class_posixAccount.inc:122 msgid "Which shell should be used when this user log in" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group" msgstr "主要用户组" #: plugins/personal/posix/class_posixAccount.inc:128 msgid "Primary group for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:132 msgid "Status of this user unix account" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user/group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:136 msgid "Force user id and group id values for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:140 msgid "User id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:145 msgid "Group id value for this user" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:152 #: plugins/personal/posix/class_posixAccount.inc:155 msgid "Group membership" msgstr "组成员身份" #: plugins/personal/posix/class_posixAccount.inc:159 msgid "Account" msgstr "账户" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "User must change password on first login" msgstr "用户必须在第一次登录修改口令" #: plugins/personal/posix/class_posixAccount.inc:163 msgid "" "User must change password on first login (needs a value for Delay before " "forcing password change)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "Minimum delay between password changes (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:167 msgid "" "The user won't be able to change his password before this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "Delay before forcing password change (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:172 msgid "" "The user will be forced to change his password after this number of days " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "Password expiration date" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:177 msgid "" "Date after which this user password will expire (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "Delay of inactivity before disabling user (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:182 msgid "" "Maximum delay of inactivity after password expiration before the user is " "disabled (leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "Delay for user warning before password expiry (days)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:187 msgid "" "The user will be warned this number of days before his password expiration " "(leave empty to disable)" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:199 #: plugins/admin/groups/class_ogroup.inc:217 #: plugins/admin/groups/class_group.inc:90 msgid "System trust" msgstr "信赖的系统" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Trust mode" msgstr "信赖模式" #: plugins/personal/posix/class_posixAccount.inc:203 #: plugins/admin/groups/class_ogroup.inc:221 #: plugins/admin/groups/class_group.inc:94 msgid "Type of authorization for those hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "disabled" msgstr "禁用" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/personal/posix/class_posixAccount.inc:229 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "full access" msgstr "完全访问权限" #: plugins/personal/posix/class_posixAccount.inc:207 #: plugins/admin/groups/class_ogroup.inc:225 #: plugins/admin/groups/class_group.inc:98 msgid "allow access to these hosts" msgstr "允许访问这些主机" #: plugins/personal/posix/class_posixAccount.inc:210 msgid "Only allow this user to connect to this list of hosts" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:301 msgid "automatic" msgstr "自动" #: plugins/personal/posix/class_posixAccount.inc:320 msgid "expired" msgstr "过期" #: plugins/personal/posix/class_posixAccount.inc:322 msgid "grace time active" msgstr "时间限制激活" #: plugins/personal/posix/class_posixAccount.inc:325 #: plugins/personal/posix/class_posixAccount.inc:327 #: plugins/personal/posix/class_posixAccount.inc:329 msgid "active" msgstr "活动" #: plugins/personal/posix/class_posixAccount.inc:325 msgid "password expired" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:327 msgid "password not changeable" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:423 msgid "UID" msgstr "UID" #: plugins/personal/posix/class_posixAccount.inc:426 #: plugins/admin/groups/class_group.inc:73 #: plugins/admin/groups/class_group.inc:149 msgid "GID" msgstr "GID" #: plugins/personal/posix/class_posixAccount.inc:482 #: plugins/admin/groups/class_group.inc:181 msgid "Timeout while waiting for lock. Ignoring lock!" msgstr "" #: plugins/personal/posix/class_posixAccount.inc:542 #, php-format msgid "Group of user %s" msgstr "" #: plugins/personal/roles/class_userRoles.inc:31 #: plugins/admin/groups/class_groupManagement.inc:31 msgid "Groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:32 msgid "Edit user's groups and roles" msgstr "" #: plugins/personal/roles/class_userRoles.inc:47 #: plugins/personal/roles/class_userRoles.inc:51 msgid "Groups membership" msgstr "" #: plugins/personal/roles/class_userRoles.inc:58 #: plugins/personal/roles/class_userRoles.inc:62 msgid "Roles membership" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password method" msgstr "" #: plugins/personal/generic/class_user.inc:46 msgid "Password hash method to use" msgstr "" #: plugins/personal/generic/class_user.inc:51 #: plugins/personal/generic/class_user.inc:387 #: setup/setup_migrate_adminAccount.tpl.c:14 #: ihtml/themes/breezy/recovery.tpl.c:2 ihtml/themes/breezy/recovery.tpl.c:5 #: ihtml/themes/breezy/login.tpl.c:17 ihtml/themes/breezy/login.tpl.c:20 #: ihtml/themes/breezy/login.tpl.c:23 #: plugins/personal/generic/paste_generic.tpl.c:14 msgid "Password" msgstr "口令" #: plugins/personal/generic/class_user.inc:51 msgid "Password (Leave empty if you do not wish to change it)" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Password again" msgstr "" #: plugins/personal/generic/class_user.inc:55 msgid "Same password as above, to avoid errors" msgstr "" #: plugins/personal/generic/class_user.inc:276 #: plugins/personal/generic/class_user.inc:282 #: plugins/admin/users/user-list.xml:79 msgid "User" msgstr "用户" #: plugins/personal/generic/class_user.inc:277 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account information" msgstr "" #: plugins/personal/generic/class_user.inc:283 #: plugins/admin/users/class_userManagement.inc:246 msgid "User account" msgstr "" #: plugins/personal/generic/class_user.inc:304 msgid "Personal information" msgstr "个人信息" #: plugins/personal/generic/class_user.inc:309 #: plugins/personal/generic/paste_generic.tpl.c:5 msgid "Last name" msgstr "姓" #: plugins/personal/generic/class_user.inc:309 msgid "Last name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:314 #: plugins/personal/generic/paste_generic.tpl.c:8 msgid "First name" msgstr "名" #: plugins/personal/generic/class_user.inc:314 msgid "First name of this user" msgstr "" #: plugins/personal/generic/class_user.inc:319 msgid "Short description of the user" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "Picture" msgstr "" #: plugins/personal/generic/class_user.inc:323 msgid "The avatar for this user" msgstr "" #: plugins/personal/generic/class_user.inc:330 msgid "Organizational contact information" msgstr "" #: plugins/personal/generic/class_user.inc:334 #: plugins/admin/departments/class_department.inc:90 #: plugins/admin/departments/class_department.inc:96 msgid "Location" msgstr "位置" #: plugins/personal/generic/class_user.inc:338 #: plugins/admin/departments/class_department.inc:93 msgid "State" msgstr "州/省" #: plugins/personal/generic/class_user.inc:342 #: plugins/admin/departments/class_department.inc:102 msgid "Address" msgstr "住址" #: plugins/personal/generic/class_user.inc:342 msgid "Business postal address" msgstr "" #: plugins/personal/generic/class_user.inc:346 msgid "Room No." msgstr "房间号" #: plugins/personal/generic/class_user.inc:346 msgid "Room number" msgstr "" #: plugins/personal/generic/class_user.inc:350 #: plugins/admin/departments/class_department.inc:106 msgid "Phone" msgstr "电话" #: plugins/personal/generic/class_user.inc:350 msgid "Business phone number" msgstr "" #: plugins/personal/generic/class_user.inc:355 msgid "Mobile" msgstr "手机" #: plugins/personal/generic/class_user.inc:355 msgid "Business mobile number" msgstr "" #: plugins/personal/generic/class_user.inc:359 msgid "Pager" msgstr "呼机" #: plugins/personal/generic/class_user.inc:359 msgid "Business pager number" msgstr "" #: plugins/personal/generic/class_user.inc:363 #: plugins/admin/departments/class_department.inc:110 msgid "Fax" msgstr "传真" #: plugins/personal/generic/class_user.inc:363 msgid "Business fax number" msgstr "" #: plugins/personal/generic/class_user.inc:367 msgid "Homepage" msgstr "个人主页" #: plugins/personal/generic/class_user.inc:367 msgid "Personal homepage" msgstr "" #: plugins/personal/generic/class_user.inc:373 msgid "Account information" msgstr "" #: plugins/personal/generic/class_user.inc:378 msgid "Login of this user" msgstr "" #: plugins/personal/generic/class_user.inc:387 msgid "Password of the user" msgstr "" #: plugins/personal/generic/class_user.inc:393 msgid "Personal contact information" msgstr "" #: plugins/personal/generic/class_user.inc:397 msgid "Display name" msgstr "显示名称" #: plugins/personal/generic/class_user.inc:397 msgid "Name this user should appear as. Used by Exchange." msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home address" msgstr "" #: plugins/personal/generic/class_user.inc:401 msgid "Home postal address" msgstr "住宅地址" #: plugins/personal/generic/class_user.inc:405 msgid "Private phone" msgstr "私人电话" #: plugins/personal/generic/class_user.inc:405 msgid "Home phone number" msgstr "" #: plugins/personal/generic/class_user.inc:411 msgid "Organizational information" msgstr "组织信息" #: plugins/personal/generic/class_user.inc:416 msgid "Title" msgstr "称谓" #: plugins/personal/generic/class_user.inc:416 msgid "" "Title of a person in their organizational context. Each title is one value " "of this multi-valued attribute" msgstr "" #: plugins/personal/generic/class_user.inc:421 #: plugins/admin/departments/class_organization.inc:30 #: plugins/admin/departments/class_organization.inc:31 #: plugins/admin/departments/class_organization.inc:34 msgid "Organization" msgstr "组织/公司" #: plugins/personal/generic/class_user.inc:425 #: plugins/admin/departments/class_department.inc:33 #: plugins/admin/departments/class_department.inc:39 #: plugins/admin/departments/dep-list.xml:21 msgid "Department" msgstr "部门" #: plugins/personal/generic/class_user.inc:425 msgid "Department to which the user belongs" msgstr "" #: plugins/personal/generic/class_user.inc:429 msgid "Department No." msgstr "部门编号" #: plugins/personal/generic/class_user.inc:429 msgid "Department number" msgstr "" #: plugins/personal/generic/class_user.inc:433 msgid "Employee No." msgstr "员工编号" #: plugins/personal/generic/class_user.inc:433 msgid "Employee number" msgstr "" #: plugins/personal/generic/class_user.inc:437 msgid "Employee type" msgstr "员工类别" #: plugins/personal/generic/class_user.inc:441 #: plugins/admin/departments/class_department.inc:84 msgid "Manager" msgstr "" #: plugins/personal/generic/class_user.inc:608 #, php-format msgid "Ppolicy \"%s\" could not be found in the LDAP!" msgstr "" #: plugins/personal/generic/class_user.inc:611 msgid "You are not allowed to change your own password" msgstr "" #: plugins/personal/generic/class_user.inc:622 #, php-format msgid "You must wait %d seconds before changing your password again" msgstr "" #: plugins/personal/generic/class_user.inc:636 msgid "Password is in history of old passwords" msgstr "" #: plugins/personal/generic/class_user.inc:641 #: plugins/personal/generic/class_user.inc:645 msgid "Password is not being changed from existing value" msgstr "" #: plugins/personal/generic/class_user.inc:652 msgid "You need to specify your current password in order to proceed." msgstr "您需要输入当前口令才能继续。" #: plugins/personal/generic/class_user.inc:654 msgid "" "The passwords you've entered as \"New password\" and \"Repeated new " "password\" do not match." msgstr "" #: plugins/personal/generic/class_user.inc:656 #: ihtml/themes/breezy/recovery.tpl.c:29 ihtml/themes/breezy/recovery.tpl.c:32 msgid "New password" msgstr "新口令" #: plugins/personal/generic/class_user.inc:658 msgid "The password used as new and current are too similar." msgstr "输入的新口令和当前口令非常相似。" #: plugins/personal/generic/class_user.inc:660 msgid "The password used as new is to short." msgstr "输入的新口令太短了。" #: plugins/personal/generic/class_user.inc:662 msgid "The password contains possibly problematic Unicode characters!" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:28 msgid "Statistics about users" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:39 msgid "Users statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:44 msgid "Groups statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardUsers.inc:49 #: plugins/addons/dashboard/users_accounts.tpl.c:8 msgid "Expired accounts" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:27 #: plugins/addons/dashboard/class_dashBoard.inc:28 #: plugins/addons/dashboard/class_dashBoard.inc:33 msgid "Dashboard" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:29 msgid "Statistics and various information" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:38 msgid "Reporting" msgstr "" #: plugins/addons/dashboard/class_dashBoard.inc:49 #: plugins/addons/dashboard/main_stats.tpl.c:2 msgid "Statistics" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:26 msgid "Passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:27 msgid "Statistics about passwords" msgstr "" #: plugins/addons/dashboard/class_dashBoardPasswords.inc:38 msgid "Passwords statistics" msgstr "" #: plugins/config/class_recoveryConfig.inc:28 msgid "Password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:29 msgid "Settings for the password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:40 msgid "Password recovery settings" msgstr "" #: plugins/config/class_recoveryConfig.inc:45 msgid "Activate password recovery" msgstr "" #: plugins/config/class_recoveryConfig.inc:46 msgid "Whether to activate or not password recovery feature" msgstr "" #: plugins/config/class_recoveryConfig.inc:51 msgid "Sender email address" msgstr "" #: plugins/config/class_recoveryConfig.inc:52 msgid "Email address from which mails will be sent" msgstr "" #: plugins/config/class_recoveryConfig.inc:58 msgid "Link validity (minutes)" msgstr "" #: plugins/config/class_recoveryConfig.inc:59 msgid "Number of minutes before a recovery link expires" msgstr "" #: plugins/config/class_recoveryConfig.inc:65 msgid "Salt for tokens" msgstr "" #: plugins/config/class_recoveryConfig.inc:66 msgid "" "Just a security measure, you can put anything in there, even random " "characters" msgstr "" #: plugins/config/class_recoveryConfig.inc:72 msgid "Allow the use of alternate addresses" msgstr "" #: plugins/config/class_recoveryConfig.inc:73 msgid "" "Users will also be able to enter one of theirs alternate addresses to " "recover their password" msgstr "" #: plugins/config/class_recoveryConfig.inc:80 msgid "First email" msgstr "" #: plugins/config/class_recoveryConfig.inc:83 #: plugins/config/class_recoveryConfig.inc:102 msgid "Subject" msgstr "" #: plugins/config/class_recoveryConfig.inc:84 msgid "Subject of the first email" msgstr "" #: plugins/config/class_recoveryConfig.inc:87 msgid "[FusionDirectory] Password recovery link" msgstr "" #: plugins/config/class_recoveryConfig.inc:90 #, php-format msgid "Body (first %s is login, second is link)" msgstr "" #: plugins/config/class_recoveryConfig.inc:91 #, php-format msgid "" "Body of the first email, sent when the user ask for a new password. Use %s " "for the login and the recovery link." msgstr "" #: plugins/config/class_recoveryConfig.inc:94 #, php-format msgid "" "Hello,\n" "\n" "Here is your information: \n" " - Login : %s\n" " - Link : %s\n" "\n" "This link is only valid for 10 minutes." msgstr "" #: plugins/config/class_recoveryConfig.inc:99 msgid "Second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:103 msgid "Subject of the second email" msgstr "" #: plugins/config/class_recoveryConfig.inc:106 msgid "[FusionDirectory] Password recovery successful" msgstr "" #: plugins/config/class_recoveryConfig.inc:109 #, php-format msgid "Body (%s is login)" msgstr "" #: plugins/config/class_recoveryConfig.inc:110 #, php-format msgid "" "Body of the second email, sent to confirm the password has been changed. Use" " %s for the user login." msgstr "" #: plugins/config/class_recoveryConfig.inc:113 #, php-format msgid "" "Hello,\n" "\n" "Your password has been changed.\n" "Your login is still %s." msgstr "" #: plugins/config/class_configInLdap.inc:56 #: plugins/config/class_configInLdap.inc:70 msgid "Configuration" msgstr "" #: plugins/config/class_configInLdap.inc:57 #: plugins/config/class_configInLdap.inc:62 msgid "FusionDirectory configuration" msgstr "" #: plugins/config/class_configInLdap.inc:58 msgid "Configuration screen of FusionDirectory" msgstr "" #: plugins/config/class_configInLdap.inc:88 msgid "Look and feel" msgstr "" #: plugins/config/class_configInLdap.inc:91 msgid "Language" msgstr "语言" #: plugins/config/class_configInLdap.inc:91 msgid "" "Language of the application. If 'automatic' or not available, the one asked " "by the browser will be used. This setting can be overriden per user." msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme" msgstr "" #: plugins/config/class_configInLdap.inc:96 msgid "Theme to be used" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone" msgstr "" #: plugins/config/class_configInLdap.inc:102 msgid "Timezone to be used" msgstr "" #: plugins/config/class_configInLdap.inc:110 msgid "Schema setup" msgstr "" #: plugins/config/class_configInLdap.inc:113 msgid "Schema validation" msgstr "" #: plugins/config/class_configInLdap.inc:114 msgid "Enables schema checking during login." msgstr "" #: plugins/config/class_configInLdap.inc:121 msgid "Password settings" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Password default hash" msgstr "" #: plugins/config/class_configInLdap.inc:124 msgid "Default hash to be used" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force default hash" msgstr "" #: plugins/config/class_configInLdap.inc:129 msgid "Force the use of the default password hash" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Password minimum length" msgstr "" #: plugins/config/class_configInLdap.inc:133 msgid "Minimum length of user passwords" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Password minimum differs" msgstr "" #: plugins/config/class_configInLdap.inc:138 msgid "Minimum number of different characters from last password" msgstr "" #: plugins/config/class_configInLdap.inc:143 msgid "Use account expiration" msgstr "" #: plugins/config/class_configInLdap.inc:144 msgid "" "Enables shadow attribute tests during the login to FusionDirectory and " "forces password renewal or account locking" msgstr "" #: plugins/config/class_configInLdap.inc:148 msgid "SASL Realm" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "SASL Exop" msgstr "" #: plugins/config/class_configInLdap.inc:152 msgid "Attribute to be stored in the userPassword attribute" msgstr "" #: plugins/config/class_configInLdap.inc:158 msgid "Core settings" msgstr "" #: plugins/config/class_configInLdap.inc:161 msgid "Display summary in listings" msgstr "" #: plugins/config/class_configInLdap.inc:162 msgid "" "Determines whether a status bar will be shown on the bottom of lists, " "displaying a short summary of type and number of elements in the list." msgstr "" #: plugins/config/class_configInLdap.inc:167 msgid "Edit locking" msgstr "" #: plugins/config/class_configInLdap.inc:168 msgid "" "Check if a entry currently being edited has been modified outside of " "FusionDirectory in the meantime." msgstr "" #: plugins/config/class_configInLdap.inc:173 msgid "Enable logging" msgstr "" #: plugins/config/class_configInLdap.inc:174 msgid "Event logging on FusionDirectory side." msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "LDAP size limit" msgstr "" #: plugins/config/class_configInLdap.inc:179 msgid "Defines the number of entries to get from LDAP by default." msgstr "" #: plugins/config/class_configInLdap.inc:186 msgid "Login and session" msgstr "" #: plugins/config/class_configInLdap.inc:189 msgid "Login attribute" msgstr "" #: plugins/config/class_configInLdap.inc:190 msgid "Which LDAP attribute should be used as the login name during login." msgstr "" #: plugins/config/class_configInLdap.inc:196 msgid "Enforce encrypted connections" msgstr "" #: plugins/config/class_configInLdap.inc:197 msgid "" "Enables PHP security checks to force encrypted access (https) to the web " "interface." msgstr "" #: plugins/config/class_configInLdap.inc:201 msgid "Warn if session is not encrypted" msgstr "" #: plugins/config/class_configInLdap.inc:202 msgid "will display a warning to the user when http is used instead of https." msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Session lifetime" msgstr "" #: plugins/config/class_configInLdap.inc:207 msgid "Defines when a session will expire in seconds (0 to disable)." msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "HTTP Basic authentication" msgstr "" #: plugins/config/class_configInLdap.inc:212 msgid "Use HTTP Basic authentication protocol instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "HTTP Header authentication" msgstr "" #: plugins/config/class_configInLdap.inc:217 msgid "Use HTTP Header authentication instead of the login form." msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Header name" msgstr "" #: plugins/config/class_configInLdap.inc:222 msgid "Name of the header containing user identifier." msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "Enable snapshots" msgstr "" #: plugins/config/class_configInLdap.inc:232 msgid "" "This enables you to save certain states of entries and restore them later " "on." msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "Snapshot base" msgstr "" #: plugins/config/class_configInLdap.inc:237 msgid "The base where snapshots should be stored inside of the LDAP." msgstr "" #: plugins/config/class_configInLdap.inc:244 msgid "SSL" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Key path" msgstr "" #: plugins/config/class_configInLdap.inc:247 msgid "Path to FusionDirectory private key. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:252 msgid "Path to FusionDirectory certificate. Unused for now." msgstr "" #: plugins/config/class_configInLdap.inc:257 #: plugins/config/class_configInLdap.inc:272 msgid "CA certificate path" msgstr "" #: plugins/config/class_configInLdap.inc:257 msgid "Path to the CA certificate. Used for validating Argonaut Server host." msgstr "" #: plugins/config/class_configInLdap.inc:264 msgid "CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "Enable CAS" msgstr "" #: plugins/config/class_configInLdap.inc:267 msgid "CAS login will be used instead of LDAP bind" msgstr "" #: plugins/config/class_configInLdap.inc:272 msgid "Path to the CA certificate of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host" msgstr "" #: plugins/config/class_configInLdap.inc:277 msgid "Host of the CAS server" msgstr "" #: plugins/config/class_configInLdap.inc:282 msgid "Port" msgstr "端口" #: plugins/config/class_configInLdap.inc:282 msgid "Port the CAS server is listening on" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context" msgstr "" #: plugins/config/class_configInLdap.inc:287 msgid "CAS context to be used" msgstr "" #: plugins/config/class_configInLdap.inc:294 msgid "People and group storage" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "People DN attribute" msgstr "" #: plugins/config/class_configInLdap.inc:298 msgid "Attribute to use at the beginning of users dn" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "CN pattern" msgstr "" #: plugins/config/class_configInLdap.inc:303 msgid "The pattern to use to build the common name field" msgstr "" #: plugins/config/class_configInLdap.inc:308 msgid "Strict naming policy" msgstr "" #: plugins/config/class_configInLdap.inc:309 msgid "Enables strict checking of user and group names" msgstr "" #: plugins/config/class_configInLdap.inc:314 msgid "Group/user min id" msgstr "" #: plugins/config/class_configInLdap.inc:315 msgid "" "The minimum assignable user or group id to avoid security leaks with id 0 " "accounts." msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "Next id hook" msgstr "" #: plugins/config/class_configInLdap.inc:320 msgid "" "A script to be called for finding the next free id number for users or " "groups." msgstr "" #: plugins/config/class_configInLdap.inc:324 msgid "Base number for user id" msgstr "" #: plugins/config/class_configInLdap.inc:325 msgid "Where to start looking for a new free user id." msgstr "" #: plugins/config/class_configInLdap.inc:330 msgid "Base number for group id" msgstr "" #: plugins/config/class_configInLdap.inc:331 msgid "Where to start looking for a new free group id." msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "Users RDN" msgstr "" #: plugins/config/class_configInLdap.inc:336 msgid "The branch where users are stored." msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "Groups RDN" msgstr "" #: plugins/config/class_configInLdap.inc:341 msgid "The branch where groups are stored." msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "ACL role RDN" msgstr "" #: plugins/config/class_configInLdap.inc:346 msgid "The branch where ACL roles are stored." msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Id allocation method" msgstr "" #: plugins/config/class_configInLdap.inc:351 msgid "Method to allocate user/group ids" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Traditional" msgstr "" #: plugins/config/class_configInLdap.inc:354 msgid "Samba unix id pool" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Pool user id min" msgstr "" #: plugins/config/class_configInLdap.inc:357 msgid "Minimum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Pool user id max" msgstr "" #: plugins/config/class_configInLdap.inc:362 msgid "Maximum value for user id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Pool group id min" msgstr "" #: plugins/config/class_configInLdap.inc:367 msgid "Minimum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Pool group id max" msgstr "" #: plugins/config/class_configInLdap.inc:372 msgid "Maximum value for group id when using pool method" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "Restrict role members" msgstr "" #: plugins/config/class_configInLdap.inc:377 msgid "" "When enabled only users from the same branch or members of groups from the " "same branch can be added to a role." msgstr "" #: plugins/config/class_configInLdap.inc:383 msgid "Debugging" msgstr "" #: plugins/config/class_configInLdap.inc:386 msgid "Display errors" msgstr "" #: plugins/config/class_configInLdap.inc:387 msgid "" "Shows PHP errors in the upper part of the screen. This should be disabled in" " productive deployments, because there might be some passwords in it." msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "Maximum LDAP query time" msgstr "" #: plugins/config/class_configInLdap.inc:391 msgid "" "Stop LDAP actions if there is no answer within the specified number of " "seconds." msgstr "" #: plugins/config/class_configInLdap.inc:396 msgid "Log LDAP statistics" msgstr "" #: plugins/config/class_configInLdap.inc:397 msgid "" "Track LDAP timing statistics to the syslog. This may help to find indexing " "problems or bad search filters." msgstr "" #: plugins/config/class_configInLdap.inc:402 msgid "Debug level" msgstr "" #: plugins/config/class_configInLdap.inc:403 msgid "Display certain information on each page load." msgstr "" #: plugins/config/class_configInLdap.inc:415 msgid "Miscellaneous" msgstr "杂项" #: plugins/config/class_configInLdap.inc:420 msgid "Hooks that are called when specific actions happens" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "tab" msgstr "" #: plugins/config/class_configInLdap.inc:424 msgid "The tab that this hook concerns" msgstr "" #: plugins/config/class_configInLdap.inc:429 msgid "mode" msgstr "模式" #: plugins/config/class_configInLdap.inc:429 msgid "When to call this command" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "cmd" msgstr "" #: plugins/config/class_configInLdap.inc:435 msgid "The command that will be called" msgstr "" #: plugins/config/class_configInLdap.inc:442 msgid "Hooks" msgstr "钩子" #: plugins/config/class_configInLdap.inc:449 msgid "Display hook output" msgstr "" #: plugins/config/class_configInLdap.inc:450 msgid "" "When enabled successful hook execution output is displayed to the user using" " a dialog." msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available shells" msgstr "" #: plugins/config/class_configInLdap.inc:455 msgid "Available POSIX shells for FD users." msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Default shell" msgstr "" #: plugins/config/class_configInLdap.inc:462 msgid "Shell used by default when activating Unix tab." msgstr "" #: plugins/config/class_configInLdap.inc:466 msgid "Show ACL tab on all objects" msgstr "" #: plugins/config/class_configInLdap.inc:467 msgid "" "For very specific ACL rights setting where you might need to give right on a" " single object." msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available department categories" msgstr "" #: plugins/config/class_configInLdap.inc:472 msgid "Available categories in the departments dropdown" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:29 msgid "Plugins" msgstr "" #: plugins/config/class_pluginsConfigInLdap.inc:30 msgid "Configuration for plugins" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:28 msgid "Plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:29 msgid "FusionDirectory plugins configuration" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:42 msgid "Object groups" msgstr "对象组" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "OGroup RDN" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:45 msgid "Branch in which object groups will be stored" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:52 msgid "SASL" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "Force to ask for password" msgstr "" #: plugins/config/class_mainPluginsConfig.inc:55 msgid "" "Useful if you add a hook using password value when SASL user passwords are " "edited" msgstr "" #: plugins/config/class_dashBoardConfig.inc:28 msgid "Dashboard configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:29 msgid "FusionDirectory dashboard plugin configuration" msgstr "" #: plugins/config/class_dashBoardConfig.inc:42 msgid "Dashboard name schema" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits" msgstr "" #: plugins/config/class_dashBoardConfig.inc:45 msgid "Number of digits to use after prefix" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes" msgstr "" #: plugins/config/class_dashBoardConfig.inc:51 msgid "Prefixes to be used for computer ids" msgstr "" #: plugins/config/class_dashBoardConfig.inc:59 msgid "Dashboard expired users" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "Number of days" msgstr "" #: plugins/config/class_dashBoardConfig.inc:62 msgid "" "Number of days before expiration needed for an account to show in the " "dashboard next expired accounts list" msgstr "" #: plugins/admin/departments/class_department.inc:34 #: plugins/admin/departments/class_department.inc:35 #: plugins/admin/departments/class_departmentManagement.inc:34 msgid "Departments" msgstr "部门" #: plugins/admin/departments/class_department.inc:57 msgid "department" msgstr "部门" #: plugins/admin/departments/class_department.inc:63 #: plugins/admin/users/user-list.xml:57 #: plugins/admin/groups/class_ogroup.inc:191 #: plugins/admin/groups/group-list.xml:49 #: plugins/admin/groups/class_group.inc:56 #: plugins/admin/acl/class_aclAssignment.inc:38 #: plugins/admin/aclrole/class_aclRole.inc:95 msgid "Properties" msgstr "属性" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "Name of %s" msgstr "" #: plugins/admin/departments/class_department.inc:67 #, php-format msgid "A name for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:72 #, php-format msgid "Short description of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:76 msgid "Category" msgstr "分类" #: plugins/admin/departments/class_department.inc:76 #, php-format msgid "Category of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:80 msgid "Website" msgstr "" #: plugins/admin/departments/class_department.inc:80 #, php-format msgid "Website of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:84 #, php-format msgid "Manager of this %s" msgstr "" #: plugins/admin/departments/class_department.inc:99 #: plugins/admin/departments/class_country.inc:29 #: plugins/admin/departments/class_country.inc:30 #: plugins/admin/departments/class_country.inc:33 msgid "Country" msgstr "国家" #: plugins/admin/departments/class_department.inc:102 #, php-format msgid "A postal address for this %s" msgstr "" #: plugins/admin/departments/class_department.inc:106 msgid "Telephone number" msgstr "" #: plugins/admin/departments/class_department.inc:110 msgid "Facsimile telephone number" msgstr "" #: plugins/admin/departments/class_organization.inc:51 msgid "organization" msgstr "" #: plugins/admin/departments/class_domain.inc:30 #: plugins/admin/departments/class_domain.inc:31 #: plugins/admin/departments/class_domain.inc:34 msgid "Domain" msgstr "域" #: plugins/admin/departments/class_domain.inc:51 msgid "domain" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:35 msgid "Manage departments" msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:36 msgid "" "Manage departments, countries, domain components, domains, localities and " "organization nodes," msgstr "" #: plugins/admin/departments/class_departmentManagement.inc:38 msgid "Users and groups" msgstr "" #: plugins/admin/departments/class_dcObject.inc:30 #: plugins/admin/departments/class_dcObject.inc:31 #: plugins/admin/departments/class_dcObject.inc:34 msgid "Domain Component" msgstr "" #: plugins/admin/departments/class_dcObject.inc:51 msgid "domain component" msgstr "" #: plugins/admin/departments/class_locality.inc:30 #: plugins/admin/departments/class_locality.inc:31 #: plugins/admin/departments/class_locality.inc:34 msgid "Locality" msgstr "" #: plugins/admin/departments/class_locality.inc:51 msgid "locality" msgstr "" #: plugins/admin/departments/dep-list.xml:9 msgid "List of departments" msgstr "部门列表" #: plugins/admin/departments/class_country.inc:50 msgid "country" msgstr "" #: plugins/admin/users/class_userManagement.inc:43 msgid "Manage users" msgstr "" #: plugins/admin/users/class_userManagement.inc:44 msgid "Manage user accounts and their properties" msgstr "" #: plugins/admin/users/class_userManagement.inc:190 msgid "Account locking" msgstr "" #: plugins/admin/users/class_userManagement.inc:191 #, php-format msgid "" "Password method \"%s\" does not support locking. Account \"%s\" has not been" " locked!" msgstr "" #: plugins/admin/users/class_userManagement.inc:219 msgid "Unlock account" msgstr "" #: plugins/admin/users/class_userManagement.inc:221 msgid "Lock account" msgstr "" #: plugins/admin/users/user-list.xml:11 msgid "List of users" msgstr "用户列表" #: plugins/admin/users/user-list.xml:33 msgid "Surname" msgstr "姓" #: plugins/admin/users/user-list.xml:41 msgid "Given name" msgstr "名" #: plugins/admin/users/user-list.xml:127 msgid "Lock users" msgstr "" #: plugins/admin/users/user-list.xml:135 msgid "Unlock users" msgstr "" #: plugins/admin/users/user-list.xml:146 msgid "Apply template" msgstr "" #: plugins/admin/users/user-list.xml:177 msgid "New user from template" msgstr "" #: plugins/admin/users/user-list.xml:189 msgid "Edit user" msgstr "编辑用户" #: plugins/admin/users/user-list.xml:198 msgid "%{filter:lockLabel(userPassword)}" msgstr "" #: plugins/admin/users/user-list.xml:212 msgid "Remove user" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:55 #: plugins/admin/groups/class_roleGeneric.inc:59 #: plugins/admin/groups/class_groupManagement.inc:69 #: plugins/admin/acl/class_aclAssignment.inc:47 #: plugins/admin/aclrole/class_aclRole.inc:77 msgid "Role" msgstr "角色" #: plugins/admin/groups/class_roleGeneric.inc:56 msgid "Role information" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:60 msgid "Organizational role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:82 #: ihtml/themes/breezy/msg_dialog.tpl.c:8 msgid "Information" msgstr "提示信息" #: plugins/admin/groups/class_roleGeneric.inc:86 #: plugins/admin/groups/class_ogroup.inc:195 #: plugins/admin/groups/class_group.inc:60 msgid "Name of this group" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:91 msgid "Description of the role" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:95 msgid "Phone number" msgstr "电话号码" #: plugins/admin/groups/class_roleGeneric.inc:99 msgid "Fax number" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:105 msgid "Role members" msgstr "" #: plugins/admin/groups/class_roleGeneric.inc:108 msgid "Add users for the role" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:32 msgid "Manage groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:33 msgid "Allows you to manage object groups, POSIX groups and roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:69 msgid "Edit role properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Posix" msgstr "Posix" #: plugins/admin/groups/class_groupManagement.inc:85 msgid "Edit posix properties" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:128 msgid "Show user groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:129 #: include/select/groupSelect/group-filter.tpl.c:5 msgid "Show primary groups" msgstr "显示主要组" #: plugins/admin/groups/class_groupManagement.inc:130 msgid "Show organizational roles" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:131 msgid "Show application groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:132 msgid "Show unidentified groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:135 #: include/select/groupSelect/group-filter.tpl.c:11 msgid "Show mail groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:138 #: include/select/groupSelect/group-filter.tpl.c:8 msgid "Show samba groups" msgstr "显示 samba 用户组" #: plugins/admin/groups/class_groupManagement.inc:141 msgid "Show DSA entries" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:147 msgid "Show server groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:148 msgid "Show workstation groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:149 msgid "Show windows groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:150 msgid "Show terminal groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:151 msgid "Show printer groups" msgstr "" #: plugins/admin/groups/class_groupManagement.inc:152 msgid "Show phone groups" msgstr "" #: plugins/admin/groups/class_ogroup.inc:63 #, php-format msgid "Unknown type : %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:67 #, php-format msgid "Non existing dn: %s" msgstr "" #: plugins/admin/groups/class_ogroup.inc:157 msgid "Object group" msgstr "对象组" #: plugins/admin/groups/class_ogroup.inc:158 msgid "Object group information" msgstr "" #: plugins/admin/groups/class_ogroup.inc:162 #: plugins/admin/groups/class_ogroup.inc:163 #: plugins/admin/groups/class_group.inc:33 msgid "Group" msgstr "组" #: plugins/admin/groups/class_ogroup.inc:200 #: plugins/admin/groups/class_group.inc:65 msgid "Short description of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:207 msgid "Member objects" msgstr "成员对象" #: plugins/admin/groups/class_ogroup.inc:210 msgid "Objects member of this group" msgstr "" #: plugins/admin/groups/class_ogroup.inc:228 #: plugins/admin/groups/class_group.inc:101 msgid "Only allow this group to connect to this list of hosts" msgstr "" #: plugins/admin/groups/class_ogroup.inc:321 msgid "" "Putting both workstations and terminals in the same group is not allowed" msgstr "" #: plugins/admin/groups/group-list.xml:11 msgid "List of groups" msgstr "组列表" #: plugins/admin/groups/class_group.inc:34 msgid "POSIX group information" msgstr "" #: plugins/admin/groups/class_group.inc:37 msgid "POSIX group" msgstr "" #: plugins/admin/groups/class_group.inc:38 msgid "POSIX user group" msgstr "" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID" msgstr "强制 GID" #: plugins/admin/groups/class_group.inc:69 msgid "Force GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:73 msgid "GID value for this group" msgstr "" #: plugins/admin/groups/class_group.inc:80 #: plugins/admin/groups/class_group.inc:83 msgid "Group members" msgstr "组成员" #: plugins/admin/acl/class_aclManagement.inc:31 #: plugins/admin/acl/class_aclManagement.inc:32 #: plugins/admin/acl/class_aclManagement.inc:45 msgid "ACL assignment creation" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:33 msgid "Create an ACL assignment on an arbitrary dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "Dn" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:49 msgid "DN you wish to add assignments for" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:110 msgid "The dn you entered could not be found in the LDAP" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:139 msgid "ACL assignments" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:140 msgid "ACL assignments management" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:141 msgid "Manage ACL roles assignments to users" msgstr "" #: plugins/admin/acl/class_aclManagement.inc:209 #: plugins/admin/acl/class_aclAssignment.inc:273 msgid "ACL Assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:26 msgid "ACL Assignment Dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:27 msgid "Access control roles assignment dialog" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Mode" msgstr "模式" #: plugins/admin/acl/class_aclAssignment.inc:41 msgid "Is this applying on complete subtree or only the base?" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Subtree" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:44 msgid "Base only" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:47 msgid "Role to apply" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "For all users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:52 msgid "Apply this ACL for all LDAP users" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:56 #: ihtml/themes/breezy/acl.tpl.c:32 msgid "Members" msgstr "成员" #: plugins/admin/acl/class_aclAssignment.inc:56 msgid "Users or groups to assign this role to." msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:190 #, php-format msgid ", and %d others" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:259 msgid "ACL assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:274 msgid "Access control roles assignment" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:293 msgid "Assignments" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:297 msgid "ACL role assignments for this base" msgstr "" #: plugins/admin/acl/class_aclAssignment.inc:308 #, php-format msgid "Assignments on object or subtree %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:186 msgid "No ACL settings for this category" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:188 #, php-format msgid "ACL for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:192 msgid "Edit category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:194 msgid "Reset category ACL" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:202 #: ihtml/themes/breezy/acl.tpl.c:41 msgid "List of available ACL categories" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:215 msgid "All objects in current subtree" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:217 #, php-format msgid "Edit ACL for \"%s\"" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:258 #: plugins/admin/aclrole/class_aclEditionDialog.inc:357 msgid "read" msgstr "读" #: plugins/admin/aclrole/class_aclEditionDialog.inc:260 #: plugins/admin/aclrole/class_aclEditionDialog.inc:358 msgid "write" msgstr "写" #: plugins/admin/aclrole/class_aclEditionDialog.inc:344 msgid "Show/hide advanced settings" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:349 msgid "Create objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:350 msgid "Move objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:351 msgid "Remove objects" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:353 msgid "Grant permission to owner" msgstr "" #: plugins/admin/aclrole/class_aclEditionDialog.inc:362 msgid "Complete object" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:35 msgid "ACL roles management" msgstr "" #: plugins/admin/aclrole/class_aclRoleManagement.inc:36 msgid "Manage ACL roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:38 #, php-format msgid "Contains settings for these objects: %s" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:78 msgid "Access control roles" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:81 msgid "ACL role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:99 msgid "A name for this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:103 msgid "Short description of this role" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:109 msgid "ACLs" msgstr "" #: plugins/admin/aclrole/class_aclRole.inc:113 msgid "ACLs which are part of this group" msgstr "" #: setup/setup_checks.tpl.c:11 msgid "FusionDirectory will NOT run without fixing this." msgstr "" #: setup/setup_checks.tpl.c:14 msgid "FusionDirectory will run without fixing this." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:2 msgid "Create a new FusionDirectory administrator account" msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:5 msgid "" "This dialog will automatically add a new super administrator to your LDAP " "tree." msgstr "" #: setup/setup_migrate_adminAccount.tpl.c:11 msgid "User ID" msgstr "用户 ID" #: setup/setup_migrate_adminAccount.tpl.c:17 msgid "Password (again)" msgstr "" #: setup/setup_welcome.tpl.c:2 msgid "" "This seems to be the first time you start FusionDirectory - we didn't find " "any configuration right now. This simple wizard intends to help you while " "setting it up." msgstr "" #: setup/setup_welcome.tpl.c:5 msgid "What will the wizard do for you?" msgstr "" #: setup/setup_welcome.tpl.c:8 msgid "Create a basic, single site configuration" msgstr "" #: setup/setup_welcome.tpl.c:11 msgid "Tries to find problems within your PHP and LDAP setup" msgstr "" #: setup/setup_welcome.tpl.c:14 msgid "Let you choose from a set of basic and advanced configuration switches" msgstr "" #: setup/setup_welcome.tpl.c:17 msgid "Guided migration of existing LDAP trees" msgstr "" #: setup/setup_welcome.tpl.c:20 msgid "What will the wizard NOT do for you?" msgstr "" #: setup/setup_welcome.tpl.c:23 msgid "Find every possible configuration error" msgstr "" #: setup/setup_welcome.tpl.c:26 msgid "Migrate every possible LDAP setup - create backup dumps!" msgstr "" #: setup/setup_welcome.tpl.c:29 msgid "To continue:" msgstr "" #: setup/setup_welcome.tpl.c:32 msgid "" "For security reasons you need to authenticate for the installation by " "creating the file '%1', containing the current session ID on the servers " "local filesystem. This can be done by executing the following command:" msgstr "" #: setup/setup_welcome.tpl.c:35 msgid "Click the 'Next' button when you've finished." msgstr "" #: setup/setup_migrate_baseOC.tpl.c:2 msgid "Add required object classes to the LDAP base" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:5 #: setup/setup_migrate_gosaAccounts.tpl.c:17 msgid "Current" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:8 #: setup/setup_migrate_gosaAccounts.tpl.c:20 msgid "After migration" msgstr "" #: setup/setup_migrate_baseOC.tpl.c:14 msgid "Close" msgstr "关闭" #: setup/setup_migrate_gosaAccounts.tpl.c:2 msgid "" "This dialog allows moving a couple of entries to the configured tree. Doing " "this may straighten your LDAP service." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:5 msgid "" "Be careful with this option! There may be references pointing to these " "entries. The FusionDirectory setup can't migrate references, so you may want" " to cancel the migration in this case." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:8 msgid "Move selected entries into this tree" msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:11 msgid "" "The listed entries are currently invisible in the FusionDirectory interface." " If you want to change this for a couple of entries only, just select them " "and use the 'Migrate' button below." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:14 msgid "" "If you want to know what will be done when migrating the selected entries, " "use the 'Show changes' button to see the LDIF." msgstr "" #: setup/setup_migrate_gosaAccounts.tpl.c:26 msgid "Show changes" msgstr "" #: setup/setup_migrate.tpl.c:2 msgid "" "During the LDAP inspection, we're going to check for several common pitfalls" " that may occur when migration to FusionDirectory base LDAP administration. " "You may want to fix the problems below, in order to provide smooth services." msgstr "" #: setup/setup_migrate.tpl.c:5 msgid "Check again" msgstr "" #: setup/setup_finish.tpl.c:2 msgid "Create your configuration file" msgstr "" #: setup/setup_finish.tpl.c:5 msgid "Run %1 to put the correct right on fusiondirectory.conf" msgstr "" #: setup/setup_finish.tpl.c:8 msgid "Download configuration" msgstr "下载配置" #: setup/setup_finish.tpl.c:11 msgid "Status: " msgstr "" #: include/select/groupSelect/group-filter.tpl.c:2 #: ihtml/themes/breezy/simple-filter.tpl.c:2 #: plugins/admin/users/user-filter.tpl.c:2 msgid "Filter" msgstr "过滤器" #: ihtml/themes/breezy/recovery.tpl.c:8 msgid "Lost password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:11 msgid "Information to reset password for %1 has been sent to email address %2" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:14 msgid "Warning : this email is only valid for %1 minutes." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:17 msgid "" "This dialog provides a simple way to change your password. Enter the new " "password (twice) in the fields below and press the 'Change' button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:20 ihtml/themes/breezy/recovery.tpl.c:23 #: ihtml/themes/breezy/recovery.tpl.c:65 ihtml/themes/breezy/recovery.tpl.c:68 #: ihtml/themes/breezy/login.tpl.c:29 ihtml/themes/breezy/login.tpl.c:32 #: ihtml/themes/breezy/login.tpl.c:35 msgid "Directory" msgstr "目录" #: ihtml/themes/breezy/recovery.tpl.c:35 ihtml/themes/breezy/recovery.tpl.c:38 msgid "New password repeated" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:41 msgid "Password strength" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:44 ihtml/themes/breezy/recovery.tpl.c:77 msgid "Change" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:47 ihtml/themes/breezy/recovery.tpl.c:80 msgid "Click here to change your password" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:50 ihtml/themes/breezy/recovery.tpl.c:53 msgid "Success" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:56 msgid "Your password has been changed successfully." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:59 msgid "" "Enter your current e-mail address in the field below and press the 'Change' " "button." msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:62 msgid "" "=> Use your e-mail in the long format, e.g : John Doe => " "john.doe@example.com" msgstr "" #: ihtml/themes/breezy/recovery.tpl.c:74 msgid "Email" msgstr "邮件" #: ihtml/themes/breezy/recovery.tpl.c:83 msgid "" "Password recovery is not activated. If you have lost your password, please " "contact your administrator" msgstr "" #: ihtml/themes/breezy/login.tpl.c:2 msgid "Login screen" msgstr "" #: ihtml/themes/breezy/login.tpl.c:5 msgid "" "Please use your username and your password to log into the site " "administration system." msgstr "" #: ihtml/themes/breezy/login.tpl.c:8 ihtml/themes/breezy/login.tpl.c:11 #: ihtml/themes/breezy/login.tpl.c:14 msgid "Username" msgstr "用户名" #: ihtml/themes/breezy/login.tpl.c:26 msgid "I forgot my password" msgstr "" #: ihtml/themes/breezy/login.tpl.c:38 msgid "Sign in" msgstr "登录" #: ihtml/themes/breezy/login.tpl.c:41 msgid "Click here to log in" msgstr "点击这里登录" #: ihtml/themes/breezy/sizelimit.tpl.c:2 msgid "" "The size limit option makes LDAP operations faster and saves the LDAP server" " from getting too much load. The easiest way to handle big databases without" " long timeouts would be to limit your search to smaller values and use " "filters to get the entries you are looking for." msgstr "大小限制选项会让 LDAP 操作更快,以免使 LDAP 服务器过载。最简单让大数据库处理不发成长时间超时的办法是,将查询缩小到更少并且使用过滤器。" #: ihtml/themes/breezy/sizelimit.tpl.c:5 msgid "Please choose the way to react for this session" msgstr "请选择响应这个会话的方法" #: ihtml/themes/breezy/sizelimit.tpl.c:8 msgid "ignore this error and show all entries the LDAP server returns" msgstr "忽略错误并显示 LDAP 服务器返回的所有条目" #: ihtml/themes/breezy/sizelimit.tpl.c:11 msgid "" "ignore this error and show all entries that fit into the defined sizelimit " "and let me use filters instead" msgstr "忽略错误并显示在定义限制长度内的所有条目,并让我使用过滤器。" #: ihtml/themes/breezy/sizelimit.tpl.c:14 msgid "Set" msgstr "设置" #: ihtml/themes/breezy/simple-remove.tpl.c:2 msgid "Warning: you are about to delete the following objects" msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:5 #: ihtml/themes/breezy/restore-confirm.tpl.c:8 msgid "" "Please double check if you really want to do this since there is no way for " "FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/simple-remove.tpl.c:8 #: ihtml/themes/breezy/remove.tpl.c:8 msgid "So - if you're sure - press 'Delete' to continue or 'Cancel' to abort." msgstr "所以,如果您确定,请按“删除”继续,否则按“取消”退出。" #: ihtml/themes/breezy/framework.tpl.c:2 msgid "Main" msgstr "首页" #: ihtml/themes/breezy/framework.tpl.c:5 msgid "Sign out" msgstr "退出" #: ihtml/themes/breezy/framework.tpl.c:8 msgid "Signed in:" msgstr "登录:" #: ihtml/themes/breezy/framework.tpl.c:11 #, c-format msgid "Session expires in %d!" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:2 msgid "Warning: you are about to restore the following snapshot" msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:5 msgid "Any modification made to the object since this snapshot will be lost." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:11 msgid "" "So - if you're sure - press 'Continue' to continue or 'Cancel' to abort." msgstr "" #: ihtml/themes/breezy/restore-confirm.tpl.c:14 #: ihtml/themes/breezy/template.tpl.c:8 msgid "Continue" msgstr "继续" #: ihtml/themes/breezy/islocked.tpl.c:2 msgid "Locking conflict detected" msgstr "检测到锁定冲突" #: ihtml/themes/breezy/islocked.tpl.c:8 msgid "\"%1\" has been locked by \"%2\" since %3" msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:11 msgid "" "If this lock detection is false, the other person may have closed the " "webbrowser during the edit operation. You may want to take over the lock by " "pressing the \"%1\" button." msgstr "" #: ihtml/themes/breezy/islocked.tpl.c:14 msgid "Read only" msgstr "" #: ihtml/themes/breezy/remove.tpl.c:5 msgid "" "This may be used by several groups. Please double check if you really want " "to do this since there is no way for FusionDirectory to get your data back." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:2 msgid "Copy & paste wizard" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:5 msgid "" "Some values need to be unique in the complete directory while some " "combinations make no sense. FusionDirectory shows the relevant attributes. " "Please maintain the values below to fulfill the policies." msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:8 msgid "Remember that some properties like taken snapshots will not be copied!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:11 msgid "" "Or if you copy or cut an entry within FusionDirectory and delete the source " "object, you may get errors while pasting this object again!" msgstr "" #: ihtml/themes/breezy/copyPasteDialog.tpl.c:23 msgid "Operation complete" msgstr "操作完成" #: ihtml/themes/breezy/template.tpl.c:2 msgid "Creating a new object using templates" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:2 msgid "Assigned ACL for current entry" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:5 msgid "New ACL" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:8 msgid "ACL type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:11 ihtml/themes/breezy/acl.tpl.c:14 msgid "Select an acl type" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:17 msgid "Additional filter options" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:20 msgid "Use members from" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:23 msgid "Available members" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:26 ihtml/themes/breezy/acl.tpl.c:29 msgid "List message possible targets" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:35 ihtml/themes/breezy/acl.tpl.c:38 msgid "List message recipients" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:44 msgid "ACL for this object" msgstr "" #: ihtml/themes/breezy/acl.tpl.c:47 msgid "Available roles" msgstr "" #: plugins/generic/welcome/welcome.tpl.c:2 msgid "The FusionDirectory team" msgstr "" #: plugins/generic/references/contents.tpl.c:2 msgid "%1 references our %3" msgstr "" #: plugins/generic/references/contents.tpl.c:5 msgid "" "%1 references our field %3 from tab " "%2" msgstr "" #: plugins/generic/references/contents.tpl.c:8 msgid "This object has no relationship to other objects." msgstr "这个对象和其他对象没有关系。" #: plugins/personal/generic/paste_generic.tpl.c:2 msgid "User settings" msgstr "用户设置" #: plugins/personal/generic/paste_generic.tpl.c:17 msgid "Clear password" msgstr "清除口令" #: plugins/personal/generic/paste_generic.tpl.c:20 msgid "Set new password" msgstr "设置新密码" #: plugins/personal/generic/paste_generic.tpl.c:23 msgid "Personal picture" msgstr "个人图片" #: plugins/personal/generic/paste_generic.tpl.c:26 msgid "User picture" msgstr "用户图片" #: plugins/personal/generic/paste_generic.tpl.c:29 msgid "Remove picture" msgstr "删除图片" #: plugins/personal/generic/nochange.tpl.c:2 msgid "You have no permission to change your password at this time" msgstr "" #: plugins/personal/generic/nochange.tpl.c:5 msgid "Your password hash method will not be changed!" msgstr "" #: plugins/personal/generic/changed.tpl.c:2 msgid "" "You've successfully changed your password. Remember to change all programms " "configured to use it as well." msgstr "您已经成功更改口令。还要记住更改相关程序设定。" #: plugins/addons/dashboard/groups_stats.tpl.c:2 msgid "There is 1 group:" msgid_plural "There are %1 groups:" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:5 msgid "One of them is a %1 group" msgid_plural "%2 are %1 groups" msgstr[0] "" #: plugins/addons/dashboard/groups_stats.tpl.c:8 msgid "There is no %1 group" msgstr "" #: plugins/addons/dashboard/users_stats.tpl.c:2 #: plugins/addons/dashboard/pwd_stats.tpl.c:2 msgid "There is 1 user:" msgid_plural "There are %1 users:" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:5 msgid "One of them have a %1 account" msgid_plural "%2 of them have a %1 account" msgstr[0] "" #: plugins/addons/dashboard/users_stats.tpl.c:8 msgid "None of them have a %1 account" msgstr "" #: plugins/addons/dashboard/pwd_stats.tpl.c:5 msgid "One of them use %1 method" msgid_plural "%2 of them use %1 method" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:8 msgid "One of them is locked" msgid_plural "%1 of them are locked" msgstr[0] "" #: plugins/addons/dashboard/pwd_stats.tpl.c:11 msgid "None of them is locked" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:2 msgid "There is one expired account" msgid_plural "There are %1 expired accounts" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:5 msgid "There is no expired account" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:11 #: plugins/addons/dashboard/users_accounts.tpl.c:44 msgid "Manager concerned" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:14 #: plugins/addons/dashboard/users_accounts.tpl.c:47 msgid "uid" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:17 #: plugins/addons/dashboard/users_accounts.tpl.c:50 msgid "cn" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:20 #: plugins/addons/dashboard/users_accounts.tpl.c:32 #: plugins/addons/dashboard/users_accounts.tpl.c:53 #: plugins/addons/dashboard/users_accounts.tpl.c:65 msgid "telephoneNumber" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:23 #: plugins/addons/dashboard/users_accounts.tpl.c:56 msgid "shadowExpire" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:26 #: plugins/addons/dashboard/users_accounts.tpl.c:59 msgid "manager" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:29 #: plugins/addons/dashboard/users_accounts.tpl.c:62 msgid "mail" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:35 msgid "There is one account expiring in the next %1 days" msgid_plural "There are %2 accounts expiring in the next %1 days" msgstr[0] "" #: plugins/addons/dashboard/users_accounts.tpl.c:38 msgid "There is no account expiring in the next %1 days" msgstr "" #: plugins/addons/dashboard/users_accounts.tpl.c:41 msgid "Next expired accounts" msgstr "" #: plugins/admin/users/user-filter.tpl.c:5 msgid "Show templates" msgstr "显示模板" #: plugins/admin/users/user-filter.tpl.c:8 msgid "Show functional users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:11 msgid "Show POSIX users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:14 msgid "Show Mail users" msgstr "" #: plugins/admin/users/user-filter.tpl.c:17 msgid "Show Samba users" msgstr "" #: plugins/admin/acl/remove.tpl.c:2 msgid "" "Warning: you are about to delete the ACL assignments on the following " "objects" msgstr "" #: plugins/admin/acl/remove.tpl.c:5 msgid "" "This includes all ACL assignments made on this node(s). If you want the list" " of these assignments, please cancel and open the objects." msgstr "" #: plugins/admin/acl/remove.tpl.c:8 msgid "Press 'Delete' to continue or 'Cancel' to abort." msgstr "" fusiondirectory-1.0.19/plugins/000077500000000000000000000000001304016502700165115ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/addons/000077500000000000000000000000001304016502700177615ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/addons/dashboard/000077500000000000000000000000001304016502700217105ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/addons/dashboard/class_dashBoard.inc000066400000000000000000000064401304016502700254630ustar00rootroot00000000000000 _('Dashboard'), 'plTitle' => _('Dashboard'), 'plDescription' => _('Statistics and various information'), 'plIcon' => 'geticon.php?context=applications&icon=utilities-system-monitor&size=48', 'plObjectType' => array( 'dashboard' => array( 'name' => _('Dashboard'), 'tabClass' => 'tabs_dashboard', 'mainAttr' => FALSE ) ), 'plSection' => array('reporting' => array('name' => _('Reporting'), 'priority' => 30)), 'plPriority' => 0, 'plProvidedAcls' => array() ); } static function getAttributesInfo() { return array( 'stats' => array( 'name' => _('Statistics'), 'attrs' => array(new FakeAttribute('stats')), 'template' => get_template_path('main_stats.tpl', TRUE, dirname(__FILE__)), ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->stats = $this->overview_stats(); } /* Compute some statistics */ function overview_stats() { global $config; $stats = array(); foreach ($config->data['OBJECTS'] as $type => $infos) { try { $nb = objects::count($type); } catch (FusionDirectoryException $e) { $nb = 0; trigger_error("Problem with $type:".$e->getMessage()); } if ($nb == 0) { continue; } $node = array( 'name' => $infos['name'], 'nb' => $nb ); if (isset($infos['icon'])) { $node['img'] = $infos['icon']; } else { $node['img'] = 'images/empty.png'; } if (isset($infos['management']) && ($infos['management'] != '')) { $pInfos = pluglist::pluginInfos($infos['management']); $node['href'] = 'main.php?plug='.$pInfos['INDEX'].'&reset=1'; $section = $pInfos['plSection']; if (is_array($section)) { $section = key($section); } $node['priority'] = $config->data['SECTIONS'][$section]['PRIORITY'] * 100 + $pInfos['plPriority']; } else { $node['priority'] = 10000; } $stats[] = $node; } usort($stats, function ($a, $b) { return ($b['priority'] < $a['priority']); } ); return $stats; } } ?> fusiondirectory-1.0.19/plugins/addons/dashboard/class_dashBoardPasswords.inc000066400000000000000000000063251304016502700273730ustar00rootroot00000000000000 _('Passwords'), 'plDescription' => _('Statistics about passwords'), 'plObjectType' => array('dashboard'), 'plProvidedAcls' => array() ); } static function getAttributesInfo() { return array( 'pwds' => array( 'name' => _('Passwords statistics'), 'attrs' => array(new FakeAttribute('pwds_stats')), 'template' => get_template_path('pwd_stats.tpl', TRUE, dirname(__FILE__)), ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->pwds_stats = $this->computeStats(); } function computeStats () { global $config; $defaultMethod = $config->get_cfg_value('passwordDefaultHash', 'ssha'); $forceDefault = ($config->get_cfg_value('forcePasswordDefaultHash', 'FALSE') == 'TRUE'); $users = objects::ls('user', 'userPassword'); $nb_accounts = count($users); $nb_locked_accounts = 0; $methods_stats = array(); foreach ($users as $userPassword) { if (!empty($userPassword)) { if (preg_match("/^\{[^\}]+\}!/", $userPassword)) { $nb_locked_accounts++; } $method = passwordMethod::get_method($userPassword); $methodClass = get_class($method); if (!isset($methods_stats[$methodClass])) { $methods_stats[$methodClass] = array( 'nb' => 0, 'name' => $method->get_hash() ); if ($method->get_hash() == $defaultMethod) { $methods_stats[$methodClass]['style'] = 'default'; } elseif ($method->get_hash() == 'clear') { $methods_stats[$methodClass]['style'] = 'clear'; } elseif ($forceDefault) { $methods_stats[$methodClass]['style'] = 'forbidden'; } else { $methods_stats[$methodClass]['style'] = 'none'; } } $methods_stats[$methodClass]['nb']++; } } return array( 'methods' => $methods_stats, 'nb' => $nb_accounts, 'img' => 'geticon.php?context=types&icon=user&size=16', 'locked_accounts' => array( 'nb' => $nb_locked_accounts, 'img' => 'geticon.php?context=status&icon=object-locked&size=16' ), ); } } ?> fusiondirectory-1.0.19/plugins/addons/dashboard/class_dashBoardUsers.inc000066400000000000000000000150141304016502700265020ustar00rootroot00000000000000 _('Users'), 'plDescription' => _('Statistics about users'), 'plObjectType' => array('dashboard'), 'plProvidedAcls' => array() ); } static function getAttributesInfo() { return array( 'userstats' => array( 'name' => _('Users statistics'), 'attrs' => array(new FakeAttribute('users_stats')), 'template' => get_template_path('users_stats.tpl', TRUE, dirname(__FILE__)), ), 'groupstats' => array( 'name' => _('Groups statistics'), 'attrs' => array(new FakeAttribute('groups_stats')), 'template' => get_template_path('groups_stats.tpl', TRUE, dirname(__FILE__)), ), 'expired_accounts' => array( 'name' => _('Expired accounts'), 'attrs' => array(new FakeAttribute('expired')), 'template' => get_template_path('users_accounts.tpl', TRUE, dirname(__FILE__)), ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->users_stats = $this->computeUsersStats(); $this->groups_stats = $this->computeGroupsStats(); $this->expired = $this->expired_accounts_info(); } function computeUsersStats () { global $config; /* User statistics */ $nb_accounts = objects::count('user'); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search('(&(objectClass=inetOrgPerson)(objectClass=gosaMailAccount))', array('cn')); $nb_mail_accounts = $ldap->count(); $ldap->search('(&(objectClass=inetOrgPerson)(objectClass=posixAccount))', array('cn')); $nb_posix_accounts = $ldap->count(); $ldap->search('(&(objectClass=inetOrgPerson)(objectClass=sambaSamAccount))', array('cn')); $nb_samba_accounts = $ldap->count(); return array( 'accounts' => array( array('name' => 'mail', 'nb' => $nb_mail_accounts, 'img' => 'geticon.php?context=applications&icon=internet-mail&size=16'), array('name' => 'posix', 'nb' => $nb_posix_accounts, 'img' => 'geticon.php?context=applications&icon=os-linux&size=16'), array('name' => 'samba', 'nb' => $nb_samba_accounts, 'img' => 'geticon.php?context=applications&icon=os-windows&size=16') ), 'nb' => $nb_accounts, 'img' => 'geticon.php?context=types&icon=user&size=16', ); } function computeGroupsStats () { global $config; /* Group statistics */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search('(objectClass=posixGroup)', array('cn')); $nb = $ldap->count(); $ldap->search('(&(objectClass=posixGroup)(objectClass=fdGroupMail))', array('cn')); $nb_mail_groups = $ldap->count(); $ldap->search('(&(objectClass=posixGroup)(objectClass=sambaSamAccount))', array('cn')); $nb_samba_groups = $ldap->count(); return array( 'groups' => array( array('name' => 'mail', 'nb' => $nb_mail_groups, 'img' => 'geticon.php?context=applications&icon=internet-mail&size=16'), array('name' => 'samba', 'nb' => $nb_samba_groups, 'img' => 'geticon.php?context=applications&icon=os-windows&size=16') ), 'nb' => $nb, 'img' => 'geticon.php?context=types&icon=user-group&size=16', ); } function expired_accounts_info () { global $config; /* * Begin of code for selecting expired account */ /* getting the date in TIMESTAMP UNIX format */ $today = floor(time() / 86400); /* Fetch global value from fusiondirectory.conf */ $next_expired_days = $config->get_cfg_value('dashboardExpiredAccountsDays', 15); $next_expired_date = ($today + $next_expired_days); /* search all account with all date, mail, telephone */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search( '(shadowExpire=*)', array('uid','shadowExpire','mail','telephoneNumber','cn','manager') ); $expired_accounts = array(); $next_expired_accounts = array(); while ($attrs = $ldap->fetch()) { // Test if account is expired now if ($attrs['shadowExpire'][0] <= $today) { $expired_accounts[] = static::get_user_infos($attrs); } elseif ($attrs['shadowExpire'][0] <= $next_expired_date) { $next_expired_accounts[] = static::get_user_infos($attrs); } } return array( 'accounts' => $expired_accounts, 'accounts_next_days' => $next_expired_accounts, 'next_days' => $next_expired_days, ); } static function get_user_infos($attrs) { global $config; if (isset($attrs['manager'][0])) { $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $manager_cn = $ldap->get_attribute($attrs['manager'][0], 'cn'); $manager_mail = $ldap->get_attribute($attrs['manager'][0], 'mail'); $manager_phone = $ldap->get_attribute($attrs['manager'][0], 'telephoneNumber'); } else { $manager_cn = ''; $manager_mail = ''; $manager_phone = ''; } $human_shadowExpire = date('d.m.Y', $attrs['shadowExpire'][0] * 86400); return array( 'uid' => $attrs['uid'][0], 'cn' => $attrs['cn'][0], 'telephoneNumber' => (isset($attrs['telephoneNumber'][0])?$attrs['telephoneNumber'][0]:''), 'mail' => (isset($attrs['mail'][0])?$attrs['mail'][0]:''), 'manager_cn' => $manager_cn, 'manager_mail' => $manager_mail, 'manager_phone' => $manager_phone, 'shadowExpire' => $human_shadowExpire, ); } } ?> fusiondirectory-1.0.19/plugins/addons/dashboard/groups_stats.tpl000066400000000000000000000012541304016502700251700ustar00rootroot00000000000000
    {$section}
    group icon {t count=$attributes.groups_stats.nb 1=$attributes.groups_stats.nb plural="There are %1 groups:"}There is 1 group:{/t}
      {foreach from=$attributes.groups_stats.groups item=g}
    • {if $g.nb > 0} {t count=$g.nb 1=$g.name 2=$g.nb plural="%2 are %1 groups"}One of them is a %1 group{/t} {else} {t 1=$g.name}There is no %1 group{/t} {/if}
    • {/foreach}
    fusiondirectory-1.0.19/plugins/addons/dashboard/main.inc000066400000000000000000000015641304016502700233350ustar00rootroot00000000000000 fusiondirectory-1.0.19/plugins/addons/dashboard/main_stats.tpl000066400000000000000000000010361304016502700245730ustar00rootroot00000000000000
    {t}Statistics{/t}
      {foreach from=$attributes.stats item=stat}
    • {if isset($stat.href)}  {$stat.name} : {$stat.nb} {else}  {$stat.name} : {$stat.nb} {/if}
    • {/foreach}
    fusiondirectory-1.0.19/plugins/addons/dashboard/pwd_stats.tpl000066400000000000000000000023761304016502700244510ustar00rootroot00000000000000
    {$section}
    user icon {t count=$attributes.pwds_stats.nb 1=$attributes.pwds_stats.nb plural="There are %1 users:"}There is 1 user:{/t}
      {foreach from=$attributes.pwds_stats.methods item=method} {if $method.nb > 0} {if $method.style == "default"}
    • {elseif $method.style == "clear"}
    • {elseif $method.style == "forbidden"}
    • {else}
    • {/if} {t count=$method.nb 1=$method.name 2=$method.nb plural="%2 of them use %1 method"}One of them use %1 method{/t}
    • {/if} {/foreach}
    • {if $attributes.pwds_stats.locked_accounts.nb > 0} {t count=$attributes.pwds_stats.locked_accounts.nb 1=$attributes.pwds_stats.locked_accounts.nb plural="%1 of them are locked"}One of them is locked{/t} {else} {t}None of them is locked{/t} {/if}
    fusiondirectory-1.0.19/plugins/addons/dashboard/tabs_dashBoard.inc000066400000000000000000000022751304016502700253110ustar00rootroot00000000000000by_object['dashboardNetwork']); unset($this->by_name['dashboardNetwork']); } } function save() { } } ?> fusiondirectory-1.0.19/plugins/addons/dashboard/users_accounts.tpl000066400000000000000000000100061304016502700254660ustar00rootroot00000000000000
    {$section}

    {if $attributes.expired.accounts|@count > 0} {t count=$attributes.expired.accounts|@count 1=$attributes.expired.accounts|@count plural="There are %1 expired accounts"}There is one expired account{/t} {else} {t}There is no expired account{/t} {/if}

    {if $attributes.expired.accounts|@count > 0} {foreach from=$attributes.expired.accounts item=account} {/foreach}
    {t}Expired accounts{/t} {t}Manager concerned{/t}
    {t}uid{/t}{t}cn{/t}{t}telephoneNumber{/t}{t}shadowExpire{/t} {t}manager{/t}{t}mail{/t}{t}telephoneNumber{/t}
     {$account.uid}  {$account.cn}  {$account.telephoneNumber}  {$account.shadowExpire}  {$account.manager_cn} {$account.manager_mail}  {$account.manager_phone}
    {/if}

    {if $attributes.expired.accounts_next_days|@count > 0} {t count=$attributes.expired.accounts_next_days|@count 1=$attributes.expired.next_days 2=$attributes.expired.accounts_next_days|@count plural="There are %2 accounts expiring in the next %1 days"}There is one account expiring in the next %1 days{/t} {else} {t 1=$attributes.expired.next_days}There is no account expiring in the next %1 days{/t} {/if}

    {if $attributes.expired.accounts_next_days|@count > 0} {foreach from=$attributes.expired.accounts_next_days item=account} {/foreach}
    {t}Next expired accounts{/t} {t}Manager concerned{/t}
    {t}uid{/t}{t}cn{/t}{t}telephoneNumber{/t}{t}shadowExpire{/t} {t}manager{/t}{t}mail{/t}{t}telephoneNumber{/t}
     {$account.uid}  {$account.cn}  {$account.telephoneNumber}  {$account.shadowExpire}  {$account.manager_cn} {$account.manager_mail}  {$account.manager_phone}
    {/if}
    fusiondirectory-1.0.19/plugins/addons/dashboard/users_stats.tpl000066400000000000000000000013171304016502700250120ustar00rootroot00000000000000
    {$section}
    user icon {t count=$attributes.users_stats.nb 1=$attributes.users_stats.nb plural="There are %1 users:"}There is 1 user:{/t}
      {foreach from=$attributes.users_stats.accounts item=acc}
    • {if $acc.nb > 0} {t count=$acc.nb 1=$acc.name 2=$acc.nb plural="%2 of them have a %1 account"}One of them have a %1 account{/t} {else} {t 1=$acc.name}None of them have a %1 account{/t} {/if}
    • {/foreach}
    fusiondirectory-1.0.19/plugins/admin/000077500000000000000000000000001304016502700176015ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/acl/000077500000000000000000000000001304016502700203405ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/acl/class_aclAssignment.inc000066400000000000000000000246311304016502700250160ustar00rootroot00000000000000 _('ACL Assignment Dialog'), 'plDescription' => _('Access control roles assignment dialog'), 'plCategory' => array('acl'), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo() { return array( 'properties' => array( 'name' => _('Properties'), 'attrs' => array( new SelectAttribute( _('Mode'), _('Is this applying on complete subtree or only the base?'), 'aclMode', TRUE, array('subtree', 'base'), 'base', array(_('Subtree'), _('Base only')) ), new SelectAttribute( _('Role'), _('Role to apply'), 'aclRole', TRUE, array() ), new BooleanAttribute( _('For all users'), _('Apply this ACL for all LDAP users'), 'allUsers', FALSE ), new UsersGroupsRolesAttribute( _('Members'), _('Users or groups to assign this role to.'), 'aclMembers', TRUE ) ) ), ); } function __construct ($value, $isContainer = FALSE) { parent::__construct(NULL, NULL, NULL, TRUE); if ($isContainer) { $this->attributesAccess['aclMode']->setDefaultValue('subtree'); } else { $this->attributesAccess['aclMode']->setDefaultValue('base'); } $this->attributesAccess['aclMode']->resetToDefault(); $roles = objects::ls('aclRole', 'cn'); $this->attributesAccess['aclRole']->setChoices(array_keys($roles), array_values($roles)); $this->attributesAccess['allUsers']->setInLdap(FALSE); $this->attributesAccess['allUsers']->setManagedAttributes( array( 'disable' => array( TRUE => array('aclMembers') ) ) ); if ($value !== NULL) { $this->aclMode = $value['scope']; $this->aclRole = $value['role']; $this->aclMembers = $value['members']; if ($value['members'][0] == '*') { $this->allUsers = TRUE; } } } function execute() { $smarty = get_smarty(); $display = parent::execute(); if (!is_object($this->dialog)) { $display .= $smarty->fetch('string:'. '

    '. ' '. '  '. ' '. '

    '); } return $display; } function getAclEntry() { $entry = array( 'scope' => $this->aclMode, 'role' => $this->aclRole, 'members' => $this->aclMembers, ); if ($this->allUsers) { $entry['members'] = array('*'); } return $entry; } } class ACLsAssignmentDialog extends GenericDialog { protected $initialAclValue; protected $post_cancel = 'add_acl_cancel'; protected $post_finish = 'add_acl_finish'; protected $dialogClass = 'aclAssignmentDialogWindow'; function __construct($simplePlugin, $attribute, $acl = NULL) { $isContainer = FALSE; if (isset($simplePlugin->attrs['objectClass'])) { if (count(array_intersect( $simplePlugin->attrs['objectClass'], array('organizationalUnit', 'organization', 'domain', 'country', 'locality')) )) { $isContainer = TRUE; } } else { $isContainer = TRUE; } $this->attribute = $attribute; $this->dialog = new $this->dialogClass($acl, $isContainer); $this->dialog->set_acl_base($simplePlugin->acl_base); $this->initialAclValue = $acl; } function dialog_execute () { $this->dialog->save_object(); return $this->dialog->execute(); } function handle_finish () { $this->dialog->save_object(); $messages = $this->dialog->check(); if (!empty($messages)) { msg_dialog::displayChecks($messages); return $this->dialog->execute(); } $this->attribute->addValue($this->dialog->getAclEntry()); return FALSE; } function handle_cancel () { if ($this->initialAclValue !== NULL) { $this->attribute->addValue($this->initialAclValue); } return FALSE; } } class ACLsAssignmentAttribute extends DialogOrderedArrayAttribute { protected $order = TRUE; protected $dialogClass = 'ACLsAssignmentDialog'; protected $height = 300; protected function getAttributeArrayValue($key, $value) { /* Convert text value to displayable array value */ sort($value['members']); static $nbShown = 4; $members = join(', ', array_slice($value['members'], 0, $nbShown)); if (count($value['members']) > $nbShown) { $members .= sprintf(_(', and %d others'), (count($value['members']) - $nbShown)); } $value['members'] = $members; return $value; } function readValue($value) { $acl = explode(':', $value); return array($acl[0], array( 'scope' => $acl[1], 'role' => base64_decode($acl[2]), 'members' => array_map('base64_decode', explode(',', $acl[3])), )); } function writeValue($key, $value) { return $key.':'.$value['scope'].':'.base64_encode($value['role']).':'.join(',', array_map('base64_encode', $value['members'])); } function foreignKeyUpdate($oldvalue, $newvalue, $source) { foreach ($this->value as $key => &$value) { if (($source['CLASS'] == 'aclRole') && ($value['role'] == $oldvalue) && ($source['MODE'] != 'copy')) { if ($newvalue === NULL) { unset($this->value[$key]); } else { $value['role'] = $newvalue; } } elseif (in_array($source['CLASS'], array('user','group','roleGeneric')) && (($member_key = array_search($oldvalue, $value['members'])) !== FALSE)) { if ($newvalue === NULL) { unset($value['members'][$member_key]); } elseif ($source['MODE'] == 'move') { $value['members'][$member_key] = $newvalue; } elseif ($source['MODE'] == 'copy') { $value['members'][] = $newvalue; } } elseif (!in_array($source['CLASS'], array('aclRole','user','group','roleGeneric'))) { trigger_error('unknown source '.$source['CLASS']); } } unset($value); } function foreignKeyCheck($oldvalue, $source) { foreach ($this->value as $value) { if (($source['CLASS'] == 'aclRole') && ($value['role'] == $oldvalue)) { return TRUE; } elseif (in_array($source['CLASS'], array('user','group','roleGeneric')) && in_array($oldvalue, $value['members'])) { return TRUE; } elseif (!in_array($source['CLASS'], array('aclRole','user','group','roleGeneric'))) { trigger_error('unknown source '.$source['CLASS']); } } } } class aclAssignment extends simplePlugin { var $objectclasses = array('gosaAcl'); static function plInfo() { global $config; $oc = array( 'aclAssignment' => array( 'aclCategory' => 'acl', 'name' => _('ACL assignment'), 'filter' => 'objectClass=gosaAcl', 'ou' => '', 'icon' => 'geticon.php?context=categories&icon=acl&size=16', 'tabClass' => 'simpleTabs_noSpecial', 'mainAttr' => FALSE ), ); if ($config->get_cfg_value('aclTabOnObjects') == 'TRUE') { $oc[] = 'special'; } else { $oc = array_merge($oc, departmentManagement::getDepartmentTypes()); } return array( 'plShortName' => _('ACL Assignment'), 'plDescription' => _('Access control roles assignment'), 'plObjectType' => $oc, 'plForeignKeys' => array( 'gosaAclEntry' => array( array('aclRole', 'dn', 'gosaAclEntry=*:*:%b|oldvalue%:*'), array('user', 'dn', 'gosaAclEntry=*:*:*:*%b|oldvalue%*'), array('group', 'dn', 'gosaAclEntry=*:*:*:*%b|oldvalue%*'), array('roleGeneric', 'dn', 'gosaAclEntry=*:*:*:*%b|oldvalue%*'), ) ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo() { return array( 'main' => array( 'name' => _('Assignments'), 'class' => array('fullwidth'), 'attrs' => array( new ACLsAssignmentAttribute( '', _('ACL role assignments for this base'), 'gosaAclEntry', FALSE ) ) ) ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct ($dn, $object, $parent, FALSE); $this->attributesInfo['main']['name'] = sprintf(_('Assignments on object or subtree %s'), $this->dn); } function compute_dn() { return $this->dn; } function save() { $this->ignore_account = FALSE; $this->is_account = (count($this->gosaAclEntry) != 0); if ($this->is_account) { return parent::save(); } else { $this->remove_from_parent(); } } function post_remove() { parent::post_remove(); /* Refresh users ACLs */ $ui = get_userinfo(); $ui->loadACL(); session::global_set('ui', $ui); } function post_save() { parent::post_save(); /* Refresh users ACLs */ $ui = get_userinfo(); $ui->loadACL(); session::global_set('ui', $ui); } function foreignKeyUpdate ($field, $oldvalue, $newvalue, $source) { /* Handle foreign keys only as the main tab so that they are not handled twice */ if ($this->parent->getBaseObject() !== $this) { return; } parent::foreignKeyUpdate($field, $oldvalue, $newvalue, $source); } } fusiondirectory-1.0.19/plugins/admin/acl/class_aclManagement.inc000066400000000000000000000147761304016502700247730ustar00rootroot00000000000000 _('ACL assignment creation'), 'plShortName' => _('ACL assignment creation'), 'plDescription' => _('Create an ACL assignment on an arbitrary dn'), 'plCategory' => array('acl'), 'plProvidedAcls' => array() ); } static function getAttributesInfo () { global $config; return array( 'main' => array( 'name' => _('ACL assignment creation'), 'class' => array('fullwidth'), 'attrs' => array( new StringAttribute ( _('Dn'), _('DN you wish to add assignments for'), 'baseDn', TRUE, $config->current['BASE'], 'aclMode', '/^([^=,]+=[^=,]+,)+'.preg_quote($config->current['BASE'], '/').'$/', 'ou=people,'.$config->current['BASE'] ), ) ), ); } function __construct ($parent) { global $config; $this->simpleManagement = $parent; parent::__construct($config->current['BASE']); $this->attributesAccess['baseDn']->setInLdap(FALSE); } function save_object() { parent::save_object(); if (isset($_POST[$this->post_cancel])) { return $this->handle_cancel(); } if (isset($_POST[$this->post_finish])) { return $this->handle_finish(); } return TRUE; } function save() { } function execute() { if ($this->save_object()) { $smarty = get_smarty(); $smarty->assign($this->attributesAccess['baseDn']->getAcl().'ACL', 'rwcdm'); return parent::execute()."\n". '

    '."\n". '  '."\n". ' '."\n". '

    '; } } function handle_finish () { $msgs = $this->check(); if (count($msgs)) { msg_dialog::displayChecks($msgs); return TRUE; } try { $this->simpleManagement->newEntryConfirmed($this->baseDn); } catch (NonExistingLdapNodeException $e) { msg_dialog::displayChecks(array(_('The dn you entered could not be found in the LDAP'))); return TRUE; } return FALSE; } function handle_cancel () { $this->simpleManagement->closeDialogs(); return FALSE; } } class aclManagement extends simpleManagement { protected $objectTypes = array('aclAssignment'); protected $autoFilterAttributes = array('dn', 'cn', 'description', 'ou', 'dc'); protected $departmentBrowser = FALSE; protected $departmentRootVisible = FALSE; protected $baseMode = FALSE; protected $skipCpHandler = TRUE; protected $skipSnapHandler = TRUE; protected $autoActions = FALSE; static function plInfo() { return array( 'plShortName' => _('ACL assignments'), 'plTitle' => _('ACL assignments management'), 'plDescription' => _('Manage ACL roles assignments to users'), 'plIcon' => 'geticon.php?context=categories&icon=acl&size=48', 'plSection' => 'accounts', 'plPriority' => 28, 'plManages' => array('aclAssignment'), 'plProvidedAcls' => array() ); } function configureFilter() { parent::configureFilter(); $this->filter->scope = 'sub'; } function parseXML ($file) { $data = parent::parseXML($file); $data['list']['table']['column'][1]['value'] = '%{filter:filterLabel(row,dn,pid,base,ou,cn,dc,o)}'; $data['list']['table']['column'][1]['sortAttribute'] = 'dn'; $data['list']['actionmenu']['action'][0]['type'] = 'entry'; $data['list']['actionmenu']['action'][0]['name'] = 'new'; return $data; } function configureHeadpage () { /* Remove department types so that we don't mistake assignments with them. */ $this->headpage->objectTypes = array(); $this->headpage->registerElementFilter('filterLabel', 'aclManagement::filterLabel'); parent::configureHeadpage(); } /*! * \brief This method intiates the object creation. */ function newEntry($action = '', $target = array(), $all = array(), $altTabClass = '', $altTabType = '', $altAclCategory = '') { $this->dialogObject = new aclAssignmentCreationDialog($this); } function newEntryConfirmed($dn) { $type = 'aclAssignment'; /* This might throw an exception which is catched in aclAssignmentCreationDialog */ $tabObject = objects::open($dn, $type); /* This will happen only if the exception is not thrown */ $this->closeDialogs(); $this->displayApplyBtn = FALSE; $this->dn = $dn; $this->is_single_edit = FALSE; set_object_info($this->dn); $this->openTabObject($tabObject, $this->headpage->getBase()); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $this->dn, 'Creating new ACL assignment'); } static function filterLabel($row, $dn, $pid = 0, $base = "", $ou = array()) { $ou = $ou[0]; if ($dn == $base) { $ou = " . "; } $ou .= "   ["._("ACL Assignment")."]"; $dn = LDAP::fix($dn); return "$ou"; } protected function removeEntryRequested($action = "", $target = array(), $all = array()) { $result = parent::removeEntryRequested($action, $target, $all); if ($result != "") { $smarty = get_smarty(); return $smarty->fetch(get_template_path('remove.tpl', TRUE, dirname(__FILE__))); } } } ?> fusiondirectory-1.0.19/plugins/admin/acl/main.inc000066400000000000000000000015541304016502700217640ustar00rootroot00000000000000 fusiondirectory-1.0.19/plugins/admin/acl/remove.tpl000066400000000000000000000017331304016502700223620ustar00rootroot00000000000000

     {t}Warning: you are about to delete the ACL assignments on the following objects{/t}

      {foreach from=$objects item=object}
    • {$object.name} ({$object.dn})
    • {/foreach}
    {t}This includes all ACL assignments made on this node(s). If you want the list of these assignments, please cancel and open the objects.{/t}

    {t}Press 'Delete' to continue or 'Cancel' to abort.{/t}

    fusiondirectory-1.0.19/plugins/admin/aclrole/000077500000000000000000000000001304016502700212225ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/aclrole/acleditiondialog.tpl000066400000000000000000000007721304016502700252440ustar00rootroot00000000000000

    {$headline}

    {$aclEdition} {if $dialogState eq 'create'}

    {/if} {if $dialogState eq 'edit'}

    {/if} fusiondirectory-1.0.19/plugins/admin/aclrole/class_aclEditionDialog.inc000066400000000000000000000412141304016502700262770ustar00rootroot00000000000000attribute = $attribute; $this->initialAclValue = $acl; /* New entry gets presets... */ if ($acl === NULL) { $this->aclContents = array(); } else { $this->aclContents = $acl; } } function handle_finish () { $this->attribute->addValue($this->aclContents); return FALSE; } function handle_cancel () { if ($this->initialAclValue !== NULL) { $this->attribute->addValue($this->initialAclValue); } return FALSE; } function save_object() { global $config; $new_acl = array(); foreach ($_POST as $name => $post) { /* Actions... */ if (preg_match('/^cat_edit_.*_x/', $name)) { $this->aclObject = preg_replace('/^cat_edit_([^_]+)_.*$/', '\1', $name); $this->dialogState = 'edit'; foreach ($config->data['CATEGORIES'][$this->aclObject]['classes'] as $oc) { if (isset($this->aclContents[$oc])) { $this->savedAclContents[$oc] = $this->aclContents[$oc]; } if (isset($this->aclContents[$this->aclObject.'/'.$oc])) { $this->savedAclContents[$this->aclObject.'/'.$oc] = $this->aclContents[$this->aclObject.'/'.$oc]; } } break; } if (preg_match('/^cat_del_.*_x/', $name)) { $idx = preg_replace('/^cat_del_([^_]+)_.*$/', '\1', $name); foreach ($config->data['CATEGORIES'][$idx]['classes'] as $key) { unset($this->aclContents["$idx/$key"]); } break; } /* ACL checkbox saving... */ if (preg_match('/^acl_([^_]+)_(.*)_([^_yx])$/', $name, $matches)) { $object = $matches[1]; $attribute = $matches[2]; $value = $matches[3]; /* Skip for detection entry */ if ($object == 'dummy') { continue; } /* Ordinary ACL */ if (!isset($new_acl[$object])) { $new_acl[$object] = array(); } if (isset($new_acl[$object][$attribute])) { $new_acl[$object][$attribute] .= $value; } else { $new_acl[$object][$attribute] = $value; } } } /* Only be interested in new acl's, if we're in the right _POST place */ if (isset($_POST['acl_dummy_0_0_0']) && ($this->aclObject != '') && is_array($config->data['CATEGORIES'][$this->aclObject])) { foreach ($config->data['CATEGORIES'][$this->aclObject]['classes'] as $oc) { unset($this->aclContents[$oc]); unset($this->aclContents[$this->aclObject.'/'.$oc]); if (isset($new_acl[$oc])) { $this->aclContents[$oc] = $new_acl[$oc]; } if (isset($new_acl[$this->aclObject.'/'.$oc])) { $this->aclContents[$this->aclObject.'/'.$oc] = $new_acl[$this->aclObject.'/'.$oc]; } } } if ($this->dialogState == 'edit') { /* Cancel edit acl? */ if (isset($_POST['cancel_edit_acl'])) { $this->dialogState = 'create'; foreach ($config->data['CATEGORIES'][$this->aclObject]['classes'] as $oc) { if (isset($this->savedAclContents[$oc])) { $this->aclContents[$oc] = $this->savedAclContents[$oc]; } if (isset($this->savedAclContents[$this->aclObject.'/'.$oc])) { $this->aclContents[$this->aclObject.'/'.$oc] = $this->savedAclContents[$this->aclObject.'/'.$oc]; } } } /* Save edit acl? */ if (isset($_POST['submit_edit_acl'])) { $this->dialogState = 'create'; } } } function dialog_execute () { global $config; $this->save_object(); /* Create templating instance */ $smarty = get_smarty(); $smarty->assign('usePrototype', 'true'); if ($this->dialogState == 'create') { /* Draw list */ $aclList = new divSelectBox('aclList'); $aclList->setHeight('auto'); /* Add settings for all categories to the (permanent) list */ foreach ($config->data['CATEGORIES'] as $section => $infos) { if (($section != 'all') && (count($infos['classes']) == 1)) { /* Hide empty categories */ continue; } $summary = array(); foreach ($infos['classes'] as $oc) { if (isset($this->aclContents[$oc]) && count($this->aclContents[$oc]) && isset($this->aclContents[$oc][0]) && $this->aclContents[$oc][0] != '') { $summary[] = $oc; continue; } if (isset($this->aclContents["$section/$oc"]) && count($this->aclContents["$section/$oc"])) { $summary[] = $oc; continue; } if (isset($this->aclContents[$oc]) && !isset($this->aclContents[$oc][0]) && count($this->aclContents[$oc])) { $summary[] = $oc; } } /* Set summary... */ if (empty($summary)) { $summary = ''._('No ACL settings for this category').''; } else { $summary = sprintf(_('ACL for these objects: %s'), join(', ', $summary)); } $action = ''. ''; $field1 = array('html' => $infos['description'], 'attach' => 'style="width:140px"'); $field2 = array('html' => $summary); $field3 = array('html' => $action, 'attach' => 'style="border-right:0px;width:40px"'); $aclList->AddEntry(array($field1, $field2, $field3)); } $smarty->assign('headline', _('List of available ACL categories')); $smarty->assign('aclEdition', $aclList->DrawList()); } elseif ($this->dialogState == 'edit') { /* Collect objects for selected category */ $aclObjects = array(); foreach ($config->data['CATEGORIES'][$this->aclObject]['classes'] as $idx => $class) { if ($idx == 0) { continue; } $pInfos = pluglist::pluginInfos($class); $aclObjects[$this->aclObject.'/'.$class] = $pInfos['plShortName']; } if ($this->aclObject == 'all') { $aclObjects['all'] = _('All objects in current subtree'); } $smarty->assign('headline', sprintf(_('Edit ACL for "%s"'), $config->data['CATEGORIES'][$this->aclObject]['description'])); $smarty->assign('aclEdition', $this->buildAclSelector($aclObjects)); } /* Show main page */ $smarty->assign('dialogState', $this->dialogState); return $smarty->fetch(get_template_path('acleditiondialog.tpl', dirname(__FILE__))); } /*! * \brief Create a checkbox * * \param String $name Name of the acl checkbox * \param String $text Label for the checkbox * \param boolean $state * * \return String containing checkbox */ function mkchkbx($name, $text, $state = FALSE) { $tname = preg_replace('/[^a-z0-9]/i', '_', $name); return ''."\n". ''."\n"; } /*! * \brief Make a read and write box * * \param String $name Name of the box * \param String $state * * \return String containing checkbox */ function mkrwbx($name, $state = '') { $rstate = (preg_match('/r/', $state) ? ' checked="checked"' : ''); $wstate = (preg_match('/w/', $state) ? ' checked="checked"' : ''); $tname = preg_replace('/[^a-z0-9]/i', '_', $name); return ''."\n". ''."\n". ''."\n". ''."\n"; } /*! * \brief Build an acl selector form * * \param Array $list * * \return the acl selector form */ function buildAclSelector($list) { $display = ''; $cols = 3; $tmp = session::global_get('plist'); $plist = $tmp->info; asort($plist); /* Add select all/none buttons */ $style = 'style="width:100px;"'; $display .= ''; $display .= ''; $display .= ' - '; $display .= ''; $display .= ' - '; $display .= ''; $display .= ''; $display .= '
    '; $style = 'style="width:50px;"'; $display .= ''; $display .= ''; $display .= ''; $display .= ''; $display .= ''; $display .= ' - '; $display .= ''; $display .= ''; $display .= ''; $display .= ' - '; $display .= ''; $display .= ''; $display .= ''; $display .= ''; $list = acl::sort_by_priority($list); foreach ($list as $key => $name) { /* Create sub acl if it does not exist */ if (!isset($this->aclContents[$key])) { $this->aclContents[$key] = array(); } if (!isset($this->aclContents[$key][0])) { $this->aclContents[$key][0] = ''; } $currentAcl = $this->aclContents[$key]; /* Get the overall plugin acls */ $overall_acl = ''; if (isset($currentAcl[0])) { $overall_acl = $currentAcl[0]; } // Detect configured plugins $expand = ((count($currentAcl) > 1) || ($currentAcl[0] != '')); /* Object header */ $tname = preg_replace('/[^a-z0-9]/i', '_', $key); if ($expand) { $back_color = '#C8C8FF'; } else { $back_color = '#C8C8C8'; } $display .= ''."\n". ' '."\n". ' '."\n". ' '."\n". ' '."\n"; /* Generate options */ $spc = '  '; $options = $this->mkchkbx($key.'_0_c', _('Create objects'), preg_match('/c/', $overall_acl)).$spc; $options .= $this->mkchkbx($key.'_0_m', _('Move objects'), preg_match('/m/', $overall_acl)).$spc; $options .= $this->mkchkbx($key.'_0_d', _('Remove objects'), preg_match('/d/', $overall_acl)).$spc; if ($plist[preg_replace('%^.*/%', '', $key)]['plSelfModify']) { $options .= $this->mkchkbx($key.'_0_s', _('Grant permission to owner'), preg_match('/s/', $overall_acl)).$spc; } /* Global options */ $more_options = $this->mkchkbx($key.'_0_r', _('read'), preg_match('/r/', $overall_acl)).$spc; $more_options .= $this->mkchkbx($key.'_0_w', _('write'), preg_match('/w/', $overall_acl)); $display .= ' '."\n". ' '."\n". ' '."\n". ' '."\n"; /* Walk through the list of attributes */ $cnt = 1; $splist = $plist[preg_replace('%^.*/%', '', $key)]['plProvidedAcls']; $display .= ' '."\n". ' '."\n". ' '."\n"; $display .= '
    '. ''._('Object').': '.$name.''. ''."\n". '
    '.$options.' '._('Complete object').': '.$more_options.'
    '."\n". ' '."\n". '

    '."\n"; } return $display; } } fusiondirectory-1.0.19/plugins/admin/aclrole/class_aclRole.inc000066400000000000000000000067131304016502700244720ustar00rootroot00000000000000 $object) { if (count($object)) { $summary .= $name.', '; } } $summary = sprintf(_('Contains settings for these objects: %s'), preg_replace('/, $/', '', $summary)); return array($summary); } function readValue($value) { $acl = explode(':', $value, 2); return array($acl[0], acl::extractACL($acl[1])); } function writeValue($key, $value) { $acl = ''; foreach ($value as $object => $contents) { /* Only save, if we've some contents in there... */ if (count($contents)) { $acl .= $object.';'; foreach ($contents as $attr => $permission) { /* First entry? Its the one for global settings... */ if ($attr == '0') { $acl .= $permission; } else { $acl .= '#'.$attr.';'.$permission; } } $acl .= ','; } } return $key.':'.preg_replace('/,$/', '', $acl); } } class aclRole extends simplePlugin { var $objectclasses = array('top','gosaRole'); static function plInfo() { return array( 'plShortName' => _('Role'), 'plDescription' => _('Access control roles'), 'plObjectType' => array('aclRole' => array( 'aclCategory' => 'acl', 'name' => _('ACL role'), 'filter' => 'objectClass=gosaRole', 'ou' => get_ou('aclRoleRDN'), 'icon' => 'geticon.php?context=categories&icon=acl&size=16', )), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo() { return array( 'properties' => array( 'name' => _('Properties'), 'attrs' => array( new BaseSelectorAttribute(get_ou('aclRoleRDN')), new HostNameAttribute( _('Name'), _('A name for this role'), 'cn', TRUE ), new TextAreaAttribute( _('Description'), _('Short description of this role'), 'description', FALSE ), ) ), 'acls' => array( 'name' => _('ACLs'), 'class' => array('fullwidth'), 'attrs' => array( new ACLsAttribute( '', _('ACLs which are part of this group'), 'gosaAclTemplate', TRUE ), ) ), ); } } ?> fusiondirectory-1.0.19/plugins/admin/aclrole/class_aclRoleManagement.inc000066400000000000000000000031051304016502700264570ustar00rootroot00000000000000 _('ACL roles'), 'plTitle' => _('ACL roles management'), 'plDescription' => _('Manage ACL roles'), 'plIcon' => 'geticon.php?context=categories&icon=acl&size=48', 'plSection' => 'accounts', 'plPriority' => 27, 'plCategory' => array('acl'), 'plManages' => array('aclRole'), 'plProvidedAcls' => array() ); } } ?> fusiondirectory-1.0.19/plugins/admin/aclrole/main.inc000066400000000000000000000015611304016502700226440ustar00rootroot00000000000000 fusiondirectory-1.0.19/plugins/admin/departments/000077500000000000000000000000001304016502700221275ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/departments/class_country.inc000066400000000000000000000037641304016502700255240ustar00rootroot00000000000000 _('Country'), 'plDescription' => _('Country'), 'plObjectType' => array('country' => array( 'aclCategory' => 'department', 'name' => _('Country'), 'filter' => '(&(objectClass=country)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=types&icon=country&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, )), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { $attributesInfo = parent::getDepartmentAttributesInfo(_('country')); unset($attributesInfo['location']); unset($attributesInfo['properties']['attrs'][3]); // category /* Country c attribut cannot contain any underscore */ $attributesInfo['properties']['attrs'][1]->setPattern('/^[a-z0-9\.-]+$/i'); return $attributesInfo; } } ?> fusiondirectory-1.0.19/plugins/admin/departments/class_dcObject.inc000066400000000000000000000037201304016502700255260ustar00rootroot00000000000000 _('Domain Component'), 'plDescription' => _('Domain Component'), 'plObjectType' => array('dcObject' => array( 'aclCategory' => 'department', 'name' => _('Domain Component'), 'filter' => '(&(objectClass=dcObject)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=types&icon=dc&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, )), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { $attributesInfo = parent::getDepartmentAttributesInfo(_('domain component')); unset($attributesInfo['location']); unset($attributesInfo['properties']['attrs'][3]); // category return $attributesInfo; } } ?> fusiondirectory-1.0.19/plugins/admin/departments/class_department.inc000066400000000000000000000156231304016502700261610ustar00rootroot00000000000000 _('Department'), 'plDescription' => _('Departments'), 'plCategory' => array('department' => array('objectClass' => 'gosaDepartment', 'description' => _('Departments'))), 'plObjectType' => array( 'department' => array( 'name' => _('Department'), 'filter' => '(&(objectClass=organizationalUnit)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=places&icon=folder&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, ) ), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo() { return static::getDepartmentAttributesInfo(_('department')); } static function getDepartmentAttributesInfo($name) { $attributesInfo = array( 'properties' => array( 'name' => _('Properties'), 'attrs' => array( new BaseSelectorAttribute(''), new StringAttribute( sprintf(_('Name of %s'), $name), sprintf(_('A name for this %s'), $name), static::$namingAttr, TRUE, '', '', '/^[a-z0-9\._-]+$/i' ), new TextAreaAttribute( _('Description'), sprintf(_('Short description of this %s'), $name), 'description', TRUE ), new SelectAttribute( _('Category'), sprintf(_('Category of this %s'), $name), 'businessCategory', FALSE ), new StringAttribute( _('Website'), sprintf(_('Website of this %s'), $name), 'labeledURI', FALSE ), new UserAttribute( _('Manager'), sprintf(_('Manager of this %s'), $name), 'manager', FALSE ) ) ), 'location' => array( 'name' => _('Location'), 'attrs' => array( new StringAttribute( _('State'), _('State'), 'st', FALSE ), new StringAttribute( _('Location'), _('Location'), 'l', FALSE ), new StringAttribute( _('Country'), _('Country'), 'co', FALSE ), new PostalAddressAttribute( _('Address'), sprintf(_('A postal address for this %s'), $name), 'postalAddress', FALSE ), new PhoneNumberAttribute( _('Phone'), _('Telephone number'), 'telephoneNumber', FALSE ), new PhoneNumberAttribute( _('Fax'), _('Facsimile telephone number'), 'facsimileTelephoneNumber', FALSE ), ) ), ); if (static::$namingAttr != 'ou') { $attributesInfo['properties']['attrs'][] = new HiddenAttribute('ou'); } return $attributesInfo; } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { global $config; /* Add the default structural object class if this is a new entry */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); if ($dn == "" || $dn == "new" || !$ldap->dn_exists($dn)) { $this->objectclasses = array_merge($this->structuralOC, $this->objectclasses); } else { $ldap->cat($dn, array("structuralObjectClass")); $attrs = $ldap->fetch(); if (isset($attrs['structuralObjectClass']['count'])) { for ($i = 0; $i < $attrs['structuralObjectClass']['count']; $i++) { $this->objectclasses[] = $attrs['structuralObjectClass'][$i]; } } else { /* Could not detect structural object class for this object, fall back to the default */ $this->objectclasses = array_merge($this->structuralOC, $this->objectclasses); } } $this->objectclasses = array_unique($this->objectclasses); parent::__construct($dn, $object, $parent, $mainTab); $categoriesList = $config->get_cfg_value('DepartmentCategories', array()); /* Insert current value to possibilities */ if (isset($this->attributesAccess['businessCategory'])) { $businessCategory = $this->attributesAccess['businessCategory']->getValue(); if (($businessCategory != "") && !in_array($businessCategory, $categoriesList)) { $categoriesList[] = $businessCategory; } $this->attributesAccess['businessCategory']->setChoices($categoriesList); } $this->attributesAccess[static::$namingAttr]->setUnique(TRUE); } /* Check values */ function check() { /* Call common method to give check the hook */ $message = parent::check(); $namingAttr = static::$namingAttr; if (tests::is_department_name_reserved($this->$namingAttr, $this->base)) { $message[] = msgPool::reserved(_("Name")); } return $message; } function get_allowed_bases() { /* Hide all departments, that are subtrees of this department */ $bases = parent::get_allowed_bases(); if (($this->dn != "new") && ($this->dn != "")) { foreach (array_keys($bases) as $dn) { if (preg_match("/".preg_quote($this->dn)."/", $dn)) { unset($bases[$dn]); } } } return $bases; } function prepare_save() { if (static::$namingAttr != 'ou') { $this->attributesAccess['ou']->setValue($this->attributesAccess[static::$namingAttr]->getValue()); } return parent::prepare_save(); } } /* Hide base selector, if this object represents the base itself $smarty->assign("is_root_dse", FALSE); if ($this->dn == $config->current['BASE']) { $smarty->assign("is_root_dse", TRUE); $nA = $this->namingAttr."ACL"; $smarty->assign($nA, $this->getacl($this->namingAttr, TRUE)); }*/ ?> fusiondirectory-1.0.19/plugins/admin/departments/class_departmentManagement.inc000066400000000000000000000075311304016502700301550ustar00rootroot00000000000000 _('Departments'), 'plTitle' => _('Manage departments'), 'plDescription' => _('Manage departments, countries, domain components, domains, localities and organization nodes,'), 'plIcon' => 'geticon.php?context=places&icon=folder&size=48', 'plSection' => array('accounts' => array('name' => _('Users and groups'), 'priority' => 0)), 'plPriority' => 0, 'plManages' => static::getDepartmentTypes(), 'plProvidedAcls' => array() ); } function __construct() { $this->objectTypes = static::getDepartmentTypes(); $this->listXMLPath = get_template_path('dep-list.xml', TRUE, dirname(__FILE__)); parent::__construct(); $this->headpage->registerElementFilter("depLabel", "departmentManagement::filterDepLabel"); $this->registerAction("open", "openEntry"); } // Overriden save handler - We've to take care about the department tagging here. protected function saveChanges() { $str = parent::saveChanges(); if (!empty($str)) { return $str; } $this->refreshDeps(); } function refreshDeps() { global $config, $ui; $config->get_departments(); $config->make_idepartments(); $ui->reset_acl_cache(); $headpage = $this->getHeadpage(); $headpage->refreshBasesList(); } // An action handler which enables to switch into deparmtment by clicking the names. function openEntry($action, $entry) { $headpage = $this->getHeadpage(); $headpage->setBase(array_pop($entry)); } // Overridden remove request method - Avoid removal of the ldap base. protected function removeEntryRequested($action = "", $target = array(), $all = array()) { global $config; $target = array_remove_entries(array($config->current['BASE']), $target); return parent::removeEntryRequested($action, $target, $all); } // A filter which allows to open a department by clicking on the departments name. static function filterDepLabel($row, $dn, $params, $ou, $pid, $base) { $ou = $ou[0]; if ($dn == $base) { $ou = "."; } $dn = LDAP::fix(func_get_arg(1)); return "$ou"; } // Finally remove departments and update departmnet browsers function removeEntryConfirmed($action = "", $target = array(), $all = array(), $altTabClass = "", $altTabType = "", $altAclCategory = "") { parent::removeEntryConfirmed($action, $target, $all, $altTabClass, $altTabType, $altAclCategory); $this->refreshDeps(); } static function getDepartmentTypes() { return array('DEPARTMENT','COUNTRY','DCOBJECT','DOMAIN','LOCALITY','ORGANIZATION'); } } ?> fusiondirectory-1.0.19/plugins/admin/departments/class_domain.inc000066400000000000000000000036431304016502700252640ustar00rootroot00000000000000 _('Domain'), 'plDescription' => _('Domain'), 'plObjectType' => array('domain' => array( 'aclCategory' => 'department', 'name' => _('Domain'), 'filter' => '(&(objectClass=domain)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=types&icon=domain&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, )), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { $attributesInfo = parent::getDepartmentAttributesInfo(_('domain')); unset($attributesInfo['location']); unset($attributesInfo['properties']['attrs'][3]); // category return $attributesInfo; } } ?> fusiondirectory-1.0.19/plugins/admin/departments/class_locality.inc000066400000000000000000000036521304016502700256350ustar00rootroot00000000000000 _('Locality'), 'plDescription' => _('Locality'), 'plObjectType' => array('locality' => array( 'aclCategory' => 'department', 'name' => _('Locality'), 'filter' => '(&(objectClass=locality)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=types&icon=locality&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, )), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { $attributesInfo = parent::getDepartmentAttributesInfo(_('locality')); unset($attributesInfo['location']); unset($attributesInfo['properties']['attrs'][3]); // category return $attributesInfo; } } ?> fusiondirectory-1.0.19/plugins/admin/departments/class_organization.inc000066400000000000000000000034751304016502700265240ustar00rootroot00000000000000 _('Organization'), 'plDescription' => _('Organization'), 'plObjectType' => array('organization' => array( 'aclCategory' => 'department', 'name' => _('Organization'), 'filter' => '(&(objectClass=organization)(objectClass=gosaDepartment))', 'ou' => '', 'icon' => 'geticon.php?context=types&icon=organization&size=16', 'tabClass' => 'deptabs', 'mainAttr' => static::$namingAttr, )), 'plForeignKeys' => array( 'manager' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return parent::getDepartmentAttributesInfo(_('organization')); } } ?> fusiondirectory-1.0.19/plugins/admin/departments/dep-list.xml000066400000000000000000000041151304016502700243730ustar00rootroot00000000000000 true true departments 1 |20px;c|||70px;r| %{filter:objectType(row,dn)} ou string %{filter:depLabel(row,dn,"%s",ou,pid,base)} true description string %{filter:depLabel(row,dn,"%s",description,pid,base)} true %{filter:actions(dn,row,objectClass)}
    sub geticon.php?context=actions&icon=document-new&size=16 separator exporter separator remove entry geticon.php?context=actions&icon=edit-delete&size=16 edit entry geticon.php?context=actions&icon=document-edit&size=16 remove entry geticon.php?context=actions&icon=edit-delete&size=16 department[d]
    fusiondirectory-1.0.19/plugins/admin/departments/main.inc000066400000000000000000000034021304016502700235450ustar00rootroot00000000000000remove_lock(); } } /* Remove this plugin from session */ if ( $cleanup ){ session::un_set('departmentManagement'); }else{ /* Reset requested? */ if (isset($_GET['reset']) && $_GET['reset'] == 1){ session::un_set ('departmentManagement'); } /* Create usermanagement object on demand */ if (!session::is_set('departmentManagement')){ $departmentManagement = new departmentManagement (); session::set('departmentManagement',$departmentManagement); } $departmentManagement = session::get('departmentManagement'); $display= $departmentManagement->execute(); /* Show and save dialog */ session::set('departmentManagement',$departmentManagement); } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> fusiondirectory-1.0.19/plugins/admin/departments/tabs_department.inc000066400000000000000000000020621304016502700257760ustar00rootroot00000000000000get_departments(); $config->make_idepartments(); } } ?> fusiondirectory-1.0.19/plugins/admin/groups/000077500000000000000000000000001304016502700211205ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/groups/class_group.inc000066400000000000000000000150361304016502700241410ustar00rootroot00000000000000 _('Group'), 'plDescription' => _('POSIX group information'), 'plSelfModify' => FALSE, 'plObjectType' => array('group' => array( 'name' => _('POSIX group'), 'description' => _('POSIX user group'), 'ou' => get_ou('groupRDN'), 'filter' => 'objectClass=posixGroup', 'icon' => 'geticon.php?context=types&icon=user-group&size=16', 'mainAttr' => 'cn', )), 'plForeignKeys' => array( 'memberUid' => array('user','uid') ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array( 'main' => array( 'name' => _('Properties'), 'attrs' => array( new BaseSelectorAttribute(get_ou('groupRDN')), new StringAttribute( _('Name'), _('Name of this group'), 'cn', TRUE, '', '', (strict_uid_mode() ? '/^[a-z0-9_-]+$/' : '/^[a-z0-9_.-]+$/i') ), new TextAreaAttribute( _('Description'), _('Short description of this group'), 'description', FALSE ), new BooleanAttribute( _('Force GID'), _('Force GID value for this group'), 'force_id', FALSE ), new IntAttribute( _('GID'), _('GID value for this group'), 'gidNumber', FALSE, 0, FALSE, '' ) ) ), 'members' => array( 'name' => _('Group members'), 'attrs' => array( new UsersAttribute( '', _('Group members'), 'memberUid', FALSE, array(), 'uid' ) ) ), 'system_trust' => array( 'name' => _('System trust'), 'icon' => 'geticon.php?context=status&icon=locked&size=16', 'attrs' => array( new SelectAttribute( _('Trust mode'), _('Type of authorization for those hosts'), 'trustMode', FALSE, array('', 'fullaccess', 'byhost'), '', array(_('disabled'), _('full access'), _('allow access to these hosts')) ), new SystemsAttribute( '', _('Only allow this group to connect to this list of hosts'), 'host', FALSE ) ) ) ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->attributesAccess['trustMode']->setInLdap(FALSE); $this->attributesAccess['trustMode']->setManagedAttributes( array( 'multiplevalues' => array('notbyhost' => array('','fullaccess')), 'erase' => array( 'notbyhost' => array('host') ) ) ); if ((count($this->host) == 1) && ($this->host[0] == '*')) { $this->trustMode = 'fullaccess'; } elseif (count($this->host) > 0) { $this->trustMode = 'byhost'; } $this->attributesAccess['gidNumber']->setUnique(TRUE); $this->attributesAccess['force_id']->setInLdap(FALSE); $this->attributesAccess['force_id']->setManagedAttributes( array( 'disable' => array ( FALSE => array ( 'gidNumber', ) ) ) ); } function check() { global $config; $message = parent::check(); /* Check ID's if they are forced by user */ if ($this->force_id) { if ($this->gidNumber < $config->get_cfg_value("minId")) { $message[] = msgPool::toosmall(_("GID"), $config->get_cfg_value("minId")); } } return $message; } function resetCopyInfos() { parent::resetCopyInfos(); $this->force_id = FALSE; $this->attributesAccess['gidNumber']->setInitialValue(""); $this->gidNumber = ""; } function prepare_save() { if (!$this->force_id) { /* Handle gidNumber */ if ($this->attributesAccess['gidNumber']->getInitialValue() != "") { $this->gidNumber = $this->attributesAccess['gidNumber']->getInitialValue(); } else { /* Calculate new id's. We need to place a lock before calling get_next_id to get real unique values. */ $wait = 10; while (get_lock("gidnumber") != "") { sleep (1); /* Oups - timed out */ if ($wait-- == 0) { msg_dialog::display(_("Warning"), _("Timeout while waiting for lock. Ignoring lock!"), WARNING_DIALOG); break; } } add_lock ("gidnumber", "gosa"); $this->gidNumber = get_next_id("gidNumber", $this->dn); } } $this->updateAttributesValues(); parent::prepare_save(); if ($this->trustMode == 'fullaccess') { $this->attrs['host'] = array('*'); } /* Trust accounts */ if (($this->trustMode != "") && !in_array('hostObject', $this->attrs['objectClass'])) { $this->attrs['objectClass'][] = 'hostObject'; } elseif (($this->trustMode == "") && (($key = array_search('hostObject', $this->attrs['objectClass'])) !== FALSE)) { unset($this->attrs['objectClass'][$key]); } } protected function post_save() { del_lock("gidnumber"); parent::post_save(); } function addUser($dn, $uid) { $this->attributesAccess['memberUid']->addValue($dn, array( 'dn' => $dn, 'uid' => array($uid), 'cn' => array($uid) ) ); } function removeUser($uid) { $this->attributesAccess['memberUid']->searchAndRemove($uid); } } ?> fusiondirectory-1.0.19/plugins/admin/groups/class_groupManagement.inc000066400000000000000000000142071304016502700261350ustar00rootroot00000000000000 _('Groups and roles'), 'plTitle' => _('Manage groups and roles'), 'plDescription' => _('Allows you to manage object groups, POSIX groups and roles'), 'plIcon' => 'geticon.php?context=types&icon=resource-group&size=48', 'plSection' => 'accounts', 'plManages' => array('ogroup', 'group', 'role'), 'plPriority' => 20, 'plProvidedAcls' => array() ); } function __construct() { $this->filterXMLPath = get_template_path('group-filter.xml', TRUE, dirname(__FILE__)); $this->listXMLPath = get_template_path('group-list.xml', TRUE, dirname(__FILE__)); parent::__construct(); $this->headpage->registerElementFilter('filterProperties', 'groupManagement::filterProperties'); } static function filterProperties($row, $dn, $objectType, $attrs, $gosaGroupObjects = NULL) { global $config; static $grouptabs = array(); // Load information if needed $result = ' '; if (!empty($attrs)) { if (strtolower($objectType) == 'ogroup') { if (empty($gosaGroupObjects)) { return $result; } else { return static::filterGroupObjects($row, $gosaGroupObjects); } } if (strtolower($objectType) == 'role') { return ''; } if (empty($grouptabs)) { foreach ($config->data['TABS']['GROUPTABS'] as $plug) { if ($plug['CLASS'] == 'group') { continue; } if (class_available($plug['CLASS'])) { $name = $plug['CLASS']; $grouptabs[$name] = new $name($dn); } } } $result = ''; foreach ($grouptabs as $class => $grouptab) { if ($grouptab->is_this_account($attrs)) { $infos = pluglist::pluginInfos($class); if (isset($infos['plSmallIcon'])) { $result .= ''; } else { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $infos['plShortName']." ($class)", 'No icon for'); } } else { $result .= ' '; } } } return $result; } static function filterGroupObjects($row, $gosaGroupObjects) { $types = preg_replace('/[^a-z]/i', '', $gosaGroupObjects[0]); $result = ''; for ($i = 0; $i < strlen($types); $i++) { if ($types[$i] == 'I') { continue; } $info = objects::infos(ogroup::$objectTypes[$types[$i]]); $result .= ''; } if ($result == '') { return ' '; } return $result; } function renderList() { $smarty = get_smarty(); $filters = array( array('id' => 'USER', 'label' => _('Show user groups')), array('id' => 'PRIMARY', 'label' => _('Show primary groups')), array('id' => 'ROLE', 'label' => _('Show organizational roles')), array('id' => 'APPLICATION', 'label' => _('Show application groups')), array('id' => 'UNKNOWN', 'label' => _('Show unidentified groups')), ); if (class_available('mailAccount')) { $filters[]= array('id' => 'MAIL', 'label' => _('Show mail groups')); } if (class_available('sambaAccount')) { $filters[]= array('id' => 'SAMBA', 'label' => _('Show samba groups')); } if (class_available('simpleSecurityObject')) { $filters[]= array('id' => 'SIMPLESECURITYOBJECT', 'label' => _('Show DSA entries')); } if (class_available('systemManagement')) { $filters = array_merge( $filters, array( array('id' => 'SERVER', 'label' => _('Show server groups')), array('id' => 'WORKSTATION', 'label' => _('Show workstation groups')), array('id' => 'WINDOWS', 'label' => _('Show windows groups')), array('id' => 'TERMINAL', 'label' => _('Show terminal groups')), array('id' => 'PRINTER', 'label' => _('Show printer groups')), array('id' => 'PHONE', 'label' => _('Show phone groups')), ) ); } $smarty->assign('objectFilters', $filters); return management::renderList(); } } ?> fusiondirectory-1.0.19/plugins/admin/groups/class_ogroup.inc000066400000000000000000000242661304016502700243250ustar00rootroot00000000000000 array_merge($this->getValue(), $this->plugin->used_workstations) ); } protected function fillDisplayValueFrom ($i, $attrs) { if ($attrs) { foreach (ogroup::$objectTypes as $code => $objectType) { try { if (objects::isOfType($attrs, $objectType)) { $infos = objects::infos($objectType); $this->types[$i] = $code; $this->displays[$i] = $attrs[$infos['nameAttr']][0]; if (strtolower($objectType) == 'user') { if (isset($attrs['description'][0])) { $this->displays[$i] .= ' ['.$attrs['uid'][0].' - '.$attrs['description'][0].']'; } else { $this->displays[$i] .= ' ['.$attrs['uid'][0].']'; } } elseif (isset($attrs['description'][0])) { $this->displays[$i] .= ' ['.$attrs['description'][0].']'; } break; } } catch (NonExistingObjectTypeException $e) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $e->getMessage(), "Objecttype"); unset(ogroup::$objectTypes[$code]); } } if (!isset($this->displays[$i])) { trigger_error('Unkown type for "'.$this->value[$i].'"'); $this->displays[$i] = sprintf(_('Unknown type : %s'), LDAP::fix($this->value[$i])); $this->types[$i] = 'I'; } } else { $this->displays[$i] = sprintf(_('Non existing dn: %s'), LDAP::fix($this->value[$i])); $this->types[$i] = 'I'; } } function renderOnlyFormInput() { if (($this->size < 15) && ($this->size < count($this->value))) { $this->size = min(15, count($this->value)); } $id = $this->getHtmlId(); $display = '
    '."\n"; return $display; } function ldapAttributesToGet() { return array( 'objectClass', 'cn', 'sn', 'ou', 'uid', 'givenName', 'description', ); } function listObjectTypes() { /* refresh types and displays */ $this->getDisplayValues(); return '['.join(array_unique($this->types)).']'; } protected function removeValue ($row) { parent::removeValue($row); unset($this->types[$row]); } } class ObjectSelectDialog extends GenericSelectDialog { protected $dialogClass = 'objectSelect'; } class ogroup extends simplePlugin { var $objectclasses = array('groupOfNames', 'gosaGroupOfNames'); var $used_workstations = array(); static $objectTypes = array( 'U' => 'user', 'G' => 'group', 'A' => 'application', 'S' => 'server', 'W' => 'workstation', 'O' => 'winstation', 'T' => 'terminal', 'F' => 'phone', 'P' => 'printer', 'D' => 'simpleSecurityObject', ); static function plInfo() { return array( 'plShortName' => _('Object group'), 'plDescription' => _('Object group information'), 'plSelfModify' => FALSE, 'plPriority' => 1, 'plObjectType' => array('ogroup' => array( 'name' => _('Group'), 'description' => _('Group'), 'ou' => get_ou('ogroupRDN'), 'filter' => 'objectClass=groupOfNames', 'icon' => 'geticon.php?context=types&icon=resource-group&size=16', 'tabClass' => 'ogrouptabs', )), 'plForeignKeys' => array( 'member' => array( array('user'), array('group'), array('applicationGeneric'), array('serverGeneric'), array('workstationGeneric'), array('winstationGeneric'), array('terminalGeneric'), array('phoneGeneric'), array('printGeneric'), ) ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array( 'main' => array( 'name' => _('Properties'), 'attrs' => array( new BaseSelectorAttribute(get_ou('ogroupRDN')), new StringAttribute( _('Name'), _('Name of this group'), 'cn', TRUE, '', '', (strict_uid_mode() ? '/^[a-z0-9_-]+$/' : '/^[a-z0-9_.-]+$/i') ), new TextAreaAttribute( _('Description'), _('Short description of this group'), 'description', FALSE ), new HiddenAttribute('gosaGroupObjects') ) ), 'members' => array( 'name' => _('Member objects'), 'attrs' => array( new ObjectsAttribute( '', _('Objects member of this group'), 'member', TRUE, array(), 'dn' ) ) ), 'system_trust' => array( 'name' => _('System trust'), 'icon' => 'geticon.php?context=status&icon=locked&size=16', 'attrs' => array( new SelectAttribute( _('Trust mode'), _('Type of authorization for those hosts'), 'trustMode', FALSE, array('', 'fullaccess', 'byhost'), '', array(_('disabled'), _('full access'), _('allow access to these hosts')) ), new SystemsAttribute( '', _('Only allow this group to connect to this list of hosts'), 'host', FALSE ) ) ) ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->attributesAccess['trustMode']->setInLdap(FALSE); $this->attributesAccess['trustMode']->setManagedAttributes( array( 'multiplevalues' => array('notbyhost' => array('','fullaccess')), 'erase' => array( 'notbyhost' => array('host') ) ) ); if ((count($this->host) == 1) && ($this->host[0] == '*')) { $this->trustMode = 'fullaccess'; } elseif (count($this->host) > 0) { $this->trustMode = 'byhost'; } /* Detect all workstations, which are already assigned to an object group - Those objects will be hidden in the add object dialog. - Check() will complain if such a system is assigned to this object group.*/ $base = $config->current['BASE']; $res = get_list("(|(objectClass=gotoWorkstation)(objectClass=gotoTerminal))", "none", $base, array("dn"), GL_NO_ACL_CHECK | GL_SUBSEARCH); $ws_dns = array(); foreach ($res as $data) { $ws_dns[] = $data['dn']; } $res = get_list("(&(member=*)(objectClass=gosaGroupOfNames)(|(gosaGroupObjects=[W])(gosaGroupObjects=[T])))", "none", $base, array("dn","member"), GL_NO_ACL_CHECK | GL_SUBSEARCH); $this->used_workstations = array(); foreach ($res as $og) { if ($og['dn'] == $this->dn) { continue; } $this->used_workstations = array_merge($this->used_workstations, array_intersect($ws_dns, $og['member'])); } $this->reload(); $this->updateAttributesValues(); } /*! \brief This function returns an LDAP filter for this plugin object classes */ function getObjectClassFilter () { return '(objectClass=groupOfNames)'; } function is_this_account($attrs) { $this->objectclasses = array('groupOfNames'); $found = parent::is_this_account($attrs); $this->objectclasses = array('groupOfNames', 'gosaGroupOfNames'); return $found; } function prepare_save() { $this->reload(); parent::prepare_save(); if ($this->trustMode == 'fullaccess') { $this->attrs['host'] = array('*'); } /* Trust accounts */ if (($this->trustMode != "") && !in_array('hostObject', $this->attrs['objectClass'])) { $this->attrs['objectClass'][] = 'hostObject'; } elseif (($this->trustMode == "") && (($key = array_search('hostObject', $this->attrs['objectClass'])) !== FALSE)) { unset($this->attrs['objectClass'][$key]); } } function reload() { $this->gosaGroupObjects = $this->attributesAccess['member']->listObjectTypes(); } function check() { $message = parent::check(); $this->reload(); if (preg_match('/W/', $this->gosaGroupObjects) && preg_match('/T/', $this->gosaGroupObjects)) { $message[] = _('Putting both workstations and terminals in the same group is not allowed'); } return $message; } function getGroupObjectTypes() { $this->reload(); return $this->gosaGroupObjects; } } ?> fusiondirectory-1.0.19/plugins/admin/groups/class_roleGeneric.inc000066400000000000000000000067661304016502700252550ustar00rootroot00000000000000get_cfg_value('RestrictRoleMembers') == 'TRUE') { if ($this->whitelistDns === NULL) { /* Computes a list of members of all groups within our branch */ $groups = objects::ls('ogroup', array('member' => '*'), $this->plugin->base); if (empty($groups)) { $this->whitelistDns = array(); } else { $this->whitelistDns = call_user_func_array('array_merge_recursive', $groups)['member']; } } return array( 'branches' => array($this->plugin->base), 'dn' => $this->whitelistDns, ); } else { return array(); } } } class roleGeneric extends simplePlugin { var $objectclasses = array('organizationalRole'); static function plInfo() { return array( 'plShortName' => _('Role'), 'plDescription' => _('Role information'), 'plObjectType' => array('role' => array( 'name' => _('Role'), 'description' => _('Organizational role'), 'ou' => get_ou('roleRDN'), 'filter' => '(&(objectClass=organizationalRole)(!(objectClass=simpleSecurityObject)))', 'icon' => 'geticon.php?context=types&icon=role&size=16', 'mainAttr' => 'cn', ) ), 'plForeignKeys' => array( 'roleOccupant' => 'user' ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } /*! * \brief The main function : information about attributes */ static function getAttributesInfo () { return array( 'main' => array( 'name' => _('Information'), 'attrs' => array( new BaseSelectorAttribute (get_ou('roleRDN')), new StringAttribute( _('Name'), _('Name of this group'), 'cn', TRUE, '', '', (strict_uid_mode() ? '/^[a-z0-9_-]+$/i' : '/^[a-z0-9_.-]+$/i') ), new StringAttribute ( _('Description'), _('Description of the role'), 'description' ), new StringAttribute ( _('Phone number'), _('Phone number'), 'telephoneNumber' ), new StringAttribute ( _('Fax number'), _('Fax number'), 'facsimileTelephoneNumber' ) ) ), 'members' => array( 'name' => _('Role members'), 'attrs' => array( new RoleMembersAttribute ( '', _('Add users for the role'), 'roleOccupant', FALSE ) ) ) ); } } ?> fusiondirectory-1.0.19/plugins/admin/groups/group-filter.xml000066400000000000000000000067641304016502700242760ustar00rootroot00000000000000 group true LDAP (&(|(&(objectClass=posixGroup)(|$PRIMARY$MAIL$SAMBA))$ROLE(&(objectClass=groupOfNames)(|(gosaGroupObjects=[])$USER$GROUP$APPLICATION$SERVER$WORKSTATION$WINDOWS$TERMINAL$PRINTER$PHONE$SIMPLESECURITYOBJECT$UNKNOWN)))$NAME) * auto checkbox PRIMARY true (objectClass=posixGroup) checkbox MAIL true (objectClass=gosaMailAccount) checkbox SAMBA true (objectClass=sambaGroupMapping) checkbox ROLE true (objectClass=organizationalRole) checkbox USER true (gosaGroupObjects=*U*) checkbox GROUP true (gosaGroupObjects=*G*) checkbox APPLICATION true (gosaGroupObjects=*A*) checkbox SERVER true (gosaGroupObjects=*S*) checkbox WORKSTATION true (gosaGroupObjects=*W*) checkbox WINDOWS true (gosaGroupObjects=*O*) checkbox TERMINAL true (gosaGroupObjects=*T*) checkbox PRINTER true (gosaGroupObjects=*P*) checkbox PHONE true (gosaGroupObjects=*F*) checkbox SIMPLESECURITYOBJECT true (gosaGroupObjects=*D*) checkbox UNKNOWN false (gosaGroupObjects=*I*) textfield NAME 20 60 (|(cn=*$*)(description=*$*)) true LDAP (&(|(objectClass=posixGroup)$ROLE(objectClass=groupOfNames))(|(cn=*$NAME*)(description=*$NAME*))) cn 0.5 3 fusiondirectory-1.0.19/plugins/admin/groups/group-list.xml000066400000000000000000000057621304016502700237610ustar00rootroot00000000000000 true false true true groups 1 |20px;c|||120px-d|150px-d;r| %{filter:departmentType(row,dn)} %{filter:departmentLink(row,dn,description)} 2 %{filter:objectType(row,dn)} cn string %{filter:link(row,dn,"%s",cn)} true description string %{filter:link(row,dn,"%s",description)} true %{filter:filterProperties(row,dn,objectType,entry,gosaGroupObjects)} %{filter:actions(dn,row,objectClass)}
    create sub geticon.php?context=actions&icon=document-new&size=16 [c] edit entry geticon.php?context=actions&icon=document-edit&size=16 [r] remove entry geticon.php?context=actions&icon=edit-delete&size=16 [d] separator exporter separator copypaste snapshot cp copypaste edit entry geticon.php?context=actions&icon=document-edit&size=16 snapshot snapshot remove entry geticon.php?context=actions&icon=edit-delete&size=16 %acl[d]
    fusiondirectory-1.0.19/plugins/admin/groups/main.inc000066400000000000000000000015561304016502700225460ustar00rootroot00000000000000 fusiondirectory-1.0.19/plugins/admin/groups/tabs_ogroups.inc000066400000000000000000000117061304016502700243270ustar00rootroot00000000000000loadtabs($this->getBaseObject()->gosaGroupObjects); } function loadtabs($gosaGroupObjects) { global $config; if ($this->groupObjects == $gosaGroupObjects) { return; } $this->groupObjects = $gosaGroupObjects; $objects = preg_replace('/[\[\]]/', '', $gosaGroupObjects); $tabs = array(); if (strlen($objects)) { if (isset($config->data['TABS']['OGROUP-DYNAMICTABS'])) { $dtabs = $config->data['TABS']['OGROUP-DYNAMICTABS']; } else { $dtabs = array(); } $tabs = FALSE; for ($i = 0; $i < strlen($objects); $i++) { if ($objects[$i] == 'I') { continue; } $otype = ogroup::$objectTypes[$objects[$i]]; $otabs = array(); if (isset($config->data['TABS'][strtoupper($otype).'TABS'])) { $otabs = array_uintersect( $dtabs, $config->data['TABS'][strtoupper($otype).'TABS'], function ($a, $b) { return strcmp($a['CLASS'], $b['CLASS']); } ); } if (isset($config->data['TABS']['OGROUP-'.strtoupper($otype).'TABS'])) { $otabs = array_merge( $otabs, $config->data['TABS']['OGROUP-'.strtoupper($otype).'TABS'] ); } if ($tabs === FALSE) { $tabs = $otabs; } else { $tabs = array_uintersect( $tabs, $otabs, function ($a, $b) { return strcmp($a['CLASS'], $b['CLASS']); } ); } } } $tabs = array_merge($config->data['TABS']['OGROUPTABS'], (array)$tabs); $tabs = array_map( function ($a) { return $a['CLASS']; }, $tabs ); foreach ($this->by_object as $tab => $object) { if (!in_array($tab, $tabs)) { $this->delTab($tab); } } foreach ($tabs as $class) { if (class_available($class) && !isset($this->by_object["$class"])) { $this->addTab($class); } } $this->addSpecialTabs(); } function addTab ($class) { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $class, 'Adding tab '); $plInfos = pluglist::pluginInfos($class); $this->by_name[$class] = $plInfos['plShortName']; if (isset($this->removed_tabs[$class])) { $this->by_object[$class] = $this->removed_tabs[$class]; unset($this->removed_tabs[$class]); } else { $this->by_object[$class] = new $class($this->dn, $this->getBaseObject(), $this, FALSE); $this->by_object[$class]->set_acl_category($this->acl_category); } } function delTab ($class) { $this->removed_tabs["$class"] = $this->by_object["$class"]; unset($this->by_object["$class"]); unset($this->by_name["$class"]); } function gen_tabs($disabled = FALSE) { $this->loadtabs($this->getBaseObject()->getGroupObjectTypes()); return parent::gen_tabs($disabled); } function check($ignore_account = FALSE) { return parent::check(FALSE); } function save() { foreach ($this->removed_tabs as $key => &$obj) { if (isset($this->by_object[$key])) { continue; } @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $key, "Removing"); $obj->dn = $this->dn; $obj->remove_from_parent(); } unset($obj); parent::save(); } function save_object($save_current = FALSE) { parent::save_object($save_current); /* Update reference, transfer variables */ $baseobject = $this->getBaseObject(); foreach ($this->by_object as $name => $obj) { /* Don't touch base object */ if ($name != 'ogroup') { $obj->uid = $baseobject->cn; $obj->cn = $baseobject->cn; $obj->sn = $baseobject->cn; $obj->givenName = $baseobject->cn; $this->by_object[$name] = $obj; } } } } ?> fusiondirectory-1.0.19/plugins/admin/users/000077500000000000000000000000001304016502700207425ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/admin/users/class_userManagement.inc000066400000000000000000000221721304016502700256010ustar00rootroot00000000000000 _('Users'), 'plTitle' => _('Manage users'), 'plDescription' => _('Manage user accounts and their properties'), 'plIcon' => 'geticon.php?context=types&icon=user&size=48', 'plSection' => 'accounts', 'plManages' => array('user'), 'plPriority' => 10, 'plProvidedAcls' => array() ); } function __construct() { $this->filterXMLPath = get_template_path('user-filter.xml', TRUE, dirname(__FILE__)); $this->listXMLPath = get_template_path('user-list.xml', TRUE, dirname(__FILE__)); parent::__construct(); } function configureHeadpage () { parent::configureHeadpage(); $this->registerAction('new_user', 'newEntry'); $this->registerAction('new_template_user', 'newEntryTemplate'); $this->registerAction('template_apply_to_user', 'applyTemplateToEntry'); $this->registerAction('template_apply_user', 'newEntryFromTemplate'); $this->registerAction('lock', 'lockEntry'); $this->registerAction('lockUsers', 'lockUsers'); $this->registerAction('unlockUsers', 'lockUsers'); $this->headpage->registerElementFilter('lockLabel', 'userManagement::filterLockLabel'); $this->headpage->registerElementFilter('lockImage', 'userManagement::filterLockImage'); $this->headpage->registerElementFilter('filterProperties', 'userManagement::filterProperties'); } function configureFilter () { parent::configureFilter(); $classes = array(); if (class_available('posixAccount')) { $classes[]= 'posixAccount'; } else { /* If posix plugin is not installed, ignore posix filter */ $this->filter->elements['POSIX']['unset'] = ''; $this->filter->elements['POSIX']['set'] = ''; } if (class_available('mailAccount')) { $classes[]= 'gosaMailAccount'; } else { /* If mail plugin is not installed, ignore mail filter */ $this->filter->elements['MAIL']['unset'] = ''; $this->filter->elements['MAIL']['set'] = ''; } if (class_available('sambaAccount')) { $classes[]= 'sambaSamAccount'; } else { /* If samba plugin is not installed, ignore samba filter */ $this->filter->elements['SAMBA']['unset'] = ''; $this->filter->elements['SAMBA']['set'] = ''; } if (empty($classes)) { $this->filter->elements['FUNCTIONAL']['set'] = '(objectClass=*)'; } else { /* The FUNCTIONAL filter must not use inexisting classes */ $this->filter->elements['FUNCTIONAL']['set'] = '(!(|(objectClass='.implode(')(objectClass=', $classes).')))'; } } function renderList () { $smarty = get_smarty(); $smarty->assign('USE_POSIX', class_available('posixAccount')); $smarty->assign('USE_MAIL', class_available('mailAccount')); $smarty->assign('USE_SAMBA', class_available('sambaAccount')); return parent::renderList(); } /* !\brief Lock/unlock multiple users. */ function lockUsers($action, $target, $all) { if (!count($target)) { return; } if ($action == 'lockUsers') { $this->lockEntry($action, $target, $all, 'lock'); } else { $this->lockEntry($action, $target, $all, 'unlock'); } } /* !\brief Locks/unlocks the given user(s). */ function lockEntry($action, $entry, $all, $type = 'toggle') { global $config, $ui; // Filter out entries we are not allowed to modify $disallowed = array(); foreach ($entry as $dn) { if (!preg_match('/w/', $ui->get_permissions($dn, 'user/user', 'userPassword'))) { $disallowed[] = $dn; } else { $allowed[] = $dn; } } if (count($disallowed)) { msg_dialog::display(_('Permission'), msgPool::permDelete($disallowed), INFO_DIALOG); } // Try to lock/unlock the rest of the entries. $ldap = $config->get_ldap_link(); foreach ($allowed as $dn) { $ldap->cat($dn, array('userPassword')); if ($ldap->count() == 1) { // We can't lock empty passwords. $val = $ldap->fetch(); if (!isset($val['userPassword'])) { continue; } // Detect the password method and try to lock/unlock. $pwd = $val['userPassword'][0]; $method = passwordMethod::get_method($pwd, $val['dn']); $success = TRUE; if ($method instanceOf passwordMethod) { if ($type == 'toggle') { if ($method->is_locked($val['dn'])) { $success = $method->unlock_account($val['dn']); } else { $success = $method->lock_account($val['dn']); } } elseif ($type == 'lock' && !$method->is_locked($val['dn'])) { $success = $method->lock_account($val['dn']); } elseif ($type == 'unlock' && $method->is_locked($val['dn'])) { $success = $method->unlock_account($val['dn']); } // Check if everything went fine. if (!$success) { $hn = $method->get_hash_name(); if (is_array($hn)) { $hn = $hn[0]; } msg_dialog::display(_('Account locking'), sprintf(_('Password method "%s" does not support locking. Account "%s" has not been locked!'), $hn, $dn), WARNING_DIALOG); } } else { // Can't lock unknown methods. } } } } static function filterLockImage($userPassword) { $image = 'images/empty.png'; if (isset($userPassword[0]) && preg_match('/^\{[^\}]/', $userPassword[0])) { if (preg_match('/^[^\}]*+\}!/', $userPassword[0])) { $image = 'geticon.php?context=status&icon=object-locked&size=16'; } else { $image = 'geticon.php?context=status&icon=object-unlocked&size=16'; } } return $image; } static function filterLockLabel($userPassword) { $label = ''; if (isset($userPassword[0]) && preg_match('/^\{[^\}]/', $userPassword[0])) { if (preg_match('/^[^\}]*+\}!/', $userPassword[0])) { $label = _('Unlock account').''; } else { $label = _('Lock account'); } } return $label; } static function filterProperties($row, $dn, $attrs) { global $config; static $usertabs = array(); if (empty($usertabs)) { foreach ($config->data['TABS']['USERTABS'] as $plug) { if ($plug['CLASS'] == 'user') { continue; } if (class_available($plug['CLASS'])) { $name = $plug['CLASS']; $usertabs[$name] = new $name('new'); } } } // Load information if needed $result = ''; if (!empty($attrs)) { if (in_array_ics ('fdTemplate', $attrs['objectClass'])) { $attrs = plugin::tpl_template_to_attrs($attrs); } foreach ($usertabs as $class => $usertab) { if ($usertab->is_this_account($attrs)) { $infos = pluglist::pluginInfos($class); if (isset($infos['plSmallIcon'])) { $result .= ''; } else { @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $infos['plShortName']." ($class)", "No icon for"); } } else { $result .= ''; } } } return $result; } } ?> fusiondirectory-1.0.19/plugins/admin/users/main.inc000066400000000000000000000031531304016502700223630ustar00rootroot00000000000000remove_lock(); } } /* Remove this plugin from session */ if ( $cleanup ){ session::un_set('userManagement'); }else{ /* Reset requested? */ if (isset($_GET['reset']) && $_GET['reset'] == 1){ session::un_set ('userManagement'); } /* Create usermanagement object on demand */ if (!session::is_set('userManagement')){ $userManagement = new userManagement (); session::set('userManagement',$userManagement); } $userManagement = session::get('userManagement'); $display= $userManagement->execute(); /* Show and save dialog */ session::set('userManagement',$userManagement); } ?> fusiondirectory-1.0.19/plugins/admin/users/user-filter.tpl000066400000000000000000000013361304016502700237270ustar00rootroot00000000000000

    {t}Filter{/t}

    {$TEMPLATES} 
    {$FUNCTIONAL} 
    {if $USE_POSIX} {$POSIX} 
    {/if} {if $USE_MAIL} {$MAIL} 
    {/if} {if $USE_SAMBA} {$SAMBA} 
    {/if}
    {$SCOPE}
    {$NAME}
    {$APPLY}
    fusiondirectory-1.0.19/plugins/admin/users/user-filter.xml000066400000000000000000000036021304016502700237260ustar00rootroot00000000000000 user true LDAP (&$NAME(|(&(objectClass=inetOrgPerson)(|$FUNCTIONAL$SAMBA$POSIX$MAIL))$TEMPLATES)) * auto textfield NAME 20 60 (|(cn=*$*)(sn=*$*)(givenName=*$*)(uid=*$*)(mail=*$*)) true LDAP (&(objectClass=inetOrgPerson)(|(cn=*$NAME*)(sn=*$NAME*)(givenName=*$NAME*)(uid=*$NAME*)(mail=*$NAME*))) cn uid 0.5 3 checkbox TEMPLATES (objectClass=fdTemplate) checkbox FUNCTIONAL true UNSET checkbox POSIX true (objectClass=posixAccount) checkbox MAIL true (objectClass=gosaMailAccount) checkbox SAMBA true (objectClass=sambaSamAccount) fusiondirectory-1.0.19/plugins/admin/users/user-list.xml000066400000000000000000000123371304016502700234210ustar00rootroot00000000000000 true false true true users 1 |20px;c||||150px-d|185px-d;r| %{filter:departmentType(row,dn)} %{filter:departmentLink(row,dn,description)} 3 %{filter:objectType(row,dn)} sn string %{filter:link(row,dn,"%s",sn,cn)} true givenName string %{filter:link(row,dn,"%s",givenName)} true uid string %{filter:link(row,dn,"%s",uid)} true %{filter:filterProperties(row,dn,entry)} %{filter:actions(dn,row,objectClass)}
    sub geticon.php?context=actions&icon=document-new&size=16 new_user entry geticon.php?context=types&icon=user&size=16 user/user[c] template_apply_user entry geticon.php?context=types&icon=user&size=16 user/user[c] new_template_user entry geticon.php?context=actions&icon=document-new&size=16 user/template[c] separator edit entry geticon.php?context=actions&icon=document-edit&size=16 remove entry geticon.php?context=actions&icon=edit-delete&size=16 separator lockUsers entry geticon.php?context=status&icon=object-locked&size=16 user/user[userPassword:rw] unlockUsers entry geticon.php?context=status&icon=object-unlocked&size=16 user/user[userPassword:rw] separator template_apply_to_user entry geticon.php?context=actions&icon=tools-wizard&size=16 separator exporter separator copypaste snapshot template_apply_user entry geticon.php?context=actions&icon=document-new&size=16 fdTemplate cp copypaste edit entry geticon.php?context=actions&icon=document-edit&size=16 lock entry !fdTemplate %{filter:lockImage(userPassword)} user/user[userPassword:rw] snapshot snapshot !fdTemplate remove entry geticon.php?context=actions&icon=edit-delete&size=16 user/user[d]
    fusiondirectory-1.0.19/plugins/config/000077500000000000000000000000001304016502700177565ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/config/class_configInLdap.inc000066400000000000000000000511511304016502700241760ustar00rootroot00000000000000getLdapName()])) { $value = $attrs[$this->getLdapName()][0]; $this->value = array(); foreach ($this->attribute->getChoices() as $choice) { if ($value & $choice) { $this->value[] = $choice; } } } else { $this->resetToDefault(); } } function computeLdapValue() { $value = 0; foreach ($this->value as $v) { $value |= $v; } return $value; } } class configInLdap extends simplePlugin { var $objectclasses = array("fusionDirectoryConf"); static function plInfo() { return array( 'plShortName' => _('Configuration'), 'plTitle' => _('FusionDirectory configuration'), 'plDescription' => _('Configuration screen of FusionDirectory'), 'plIcon' => 'geticon.php?context=categories&icon=settings&size=48', 'plObjectType' => array( 'configuration' => array( 'name' => _('FusionDirectory configuration'), 'filter' => 'objectClass=fusionDirectoryConf', 'tabClass' => 'tabs_configInLdap', 'icon' => 'geticon.php?context=categories&icon=settings&size=16', 'mainAttr' => FALSE, 'ou' => preg_replace('/^[^,]+,/', '', CONFIGRDN) ) ), 'plSection' => array('conf' => array('name' => _('Configuration'), 'priority' => 20)), 'plManages' => array('configuration'), 'plPriority' => 0, 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { global $config; $plugins = array(); if (session::global_is_set('plist')) { $plugins = array_keys(session::global_get('plist')->info); } sort($plugins); return array( 'look_n_feel' => array( 'name' => _('Look and feel'), 'attrs' => array( new SelectAttribute ( _('Language'), _('Language of the application. If \'automatic\' or not available, the one asked by the browser will be used. This setting can be overriden per user.'), 'fdLanguage', FALSE, array('') ), new SelectAttribute ( _('Theme'), _('Theme to be used'), 'fdTheme', TRUE, static::get_themes(), 'breezy' ), new SelectAttribute ( _('Timezone'), _('Timezone to be used'), 'fdTimezone', TRUE, array('America/New_York') ), new HiddenAttribute ('fusionConfigMd5'), ) ), 'schema_setup' => array( 'name' => _('Schema setup'), 'attrs' => array( new BooleanAttribute ( _('Schema validation'), _('Enables schema checking during login.'), 'fdSchemaCheck', FALSE, TRUE ), ) ), 'password' => array( 'name' => _('Password settings'), 'attrs' => array( new SelectAttribute ( _('Password default hash'), _('Default hash to be used'), 'fdPasswordDefaultHash', TRUE, array('ssha') ), new BooleanAttribute ( _('Force default hash'), _('Force the use of the default password hash'), 'fdForcePasswordDefaultHash' ), new IntAttribute ( _('Password minimum length'), _('Minimum length of user passwords'), 'fdPasswordMinLength', FALSE, 0 /*min*/, FALSE /*no max*/ ), new IntAttribute ( _('Password minimum differs'), _('Minimum number of different characters from last password'), 'fdPasswordMinDiffer', FALSE, 0 /*min*/, FALSE /*no max*/ ), new BooleanAttribute ( _('Use account expiration'), _('Enables shadow attribute tests during the login to FusionDirectory and forces password renewal or account locking'), 'fdHandleExpiredAccounts' ), new StringAttribute ( _('SASL Realm'), _('SASL Realm'), 'fdSaslRealm' ), new StringAttribute ( _('SASL Exop'), _('Attribute to be stored in the userPassword attribute'), 'fdSaslExop' ), ) ), 'core_settings' => array( 'name' => _('Core settings'), 'attrs' => array( new BooleanAttribute ( _('Display summary in listings'), _('Determines whether a status bar will be shown on the bottom of lists, displaying a short summary of type and number of elements in the list.'), 'fdListSummary', FALSE, TRUE ), new SelectAttribute ( _('Edit locking'), _('Check if a entry currently being edited has been modified outside of FusionDirectory in the meantime.'), 'fdModificationDetectionAttribute', FALSE, array('', 'entryCSN', 'contextCSN'), 'entryCSN' ), new BooleanAttribute ( _('Enable logging'), _('Event logging on FusionDirectory side.'), 'fdLogging', FALSE, TRUE ), new IntAttribute ( _('LDAP size limit'), _('Defines the number of entries to get from LDAP by default.'), 'fdLdapSizeLimit', FALSE, 0 /*min*/, FALSE /*no max*/, 200 ), ) ), 'login' => array( 'name' => _('Login and session'), 'attrs' => array( new SelectAttribute ( _('Login attribute'), _('Which LDAP attribute should be used as the login name during login.'), 'fdLoginAttribute', TRUE, array('uid', 'mail', 'uid,mail'), 'uid', array('uid', 'mail', 'both') ), new BooleanAttribute ( _('Enforce encrypted connections'), _('Enables PHP security checks to force encrypted access (https) to the web interface.'), 'fdForceSSL' ), new BooleanAttribute ( _('Warn if session is not encrypted'), _('will display a warning to the user when http is used instead of https.'), 'fdWarnSSL', FALSE, TRUE ), new IntAttribute ( _('Session lifetime'), _('Defines when a session will expire in seconds (0 to disable).'), 'fdSessionLifeTime', TRUE, 0 /*min*/, FALSE /*no max*/, 1800 ), new BooleanAttribute ( _('HTTP Basic authentication'), _('Use HTTP Basic authentication protocol instead of the login form.'), 'fdHttpAuthActivated', FALSE, FALSE ), new BooleanAttribute ( _('HTTP Header authentication'), _('Use HTTP Header authentication instead of the login form.'), 'fdHttpHeaderAuthActivated', FALSE, FALSE ), new StringAttribute ( _('Header name'), _('Name of the header containing user identifier.'), 'fdHttpHeaderAuthHeaderName', FALSE, 'AUTH_USER' ), ) ), 'snapshots' => array( 'name' => _('Snapshots'), 'attrs' => array( new BooleanAttribute ( _('Enable snapshots'), _('This enables you to save certain states of entries and restore them later on.'), 'fdEnableSnapshots', FALSE, TRUE ), new StringAttribute ( _('Snapshot base'), _('The base where snapshots should be stored inside of the LDAP.'), 'fdSnapshotBase', FALSE, 'ou=snapshots,'.$config->current['BASE'] ), ) ), 'ssl' => array( 'name' => _('SSL'), 'attrs' => array( new StringAttribute ( _('Key path'), _('Path to FusionDirectory private key. Unused for now.'), 'fdSslKeyPath', FALSE, '/etc/ssl/private/fd.key' ), new StringAttribute ( _('Certificate path'), _('Path to FusionDirectory certificate. Unused for now.'), 'fdSslCertPath', FALSE, '/etc/ssl/certs/fd.cert' ), new StringAttribute ( _('CA certificate path'), _('Path to the CA certificate. Used for validating Argonaut Server host.'), 'fdSslCaCertPath', FALSE, '/etc/ssl/certs/ca.cert' ), ) ), 'cas' => array( 'name' => _('CAS'), 'attrs' => array( new BooleanAttribute ( _('Enable CAS'), _('CAS login will be used instead of LDAP bind'), 'fdCasActivated', FALSE, FALSE ), new StringAttribute ( _('CA certificate path'), _('Path to the CA certificate of the CAS server'), 'fdCasServerCaCertPath', FALSE, '/etc/ssl/certs/ca.cert' ), new StringAttribute ( _('Host'), _('Host of the CAS server'), 'fdCasHost', FALSE, 'localhost' ), new IntAttribute ( _('Port'), _('Port the CAS server is listening on'), 'fdCasPort', FALSE, 0 /*min*/, FALSE /*no max*/, 443 ), new StringAttribute ( _('CAS context'), _('CAS context to be used'), 'fdCasContext', FALSE, '/cas' ), ) ), 'people_and_group' => array( 'name' => _('People and group storage'), 'class' => array('critical'), 'attrs' => array( new SelectAttribute ( _('People DN attribute'), _('Attribute to use at the beginning of users dn'), 'fdAccountPrimaryAttribute', TRUE, array('uid', 'cn') ), new StringAttribute ( _('CN pattern'), _('The pattern to use to build the common name field'), 'fdCnPattern', TRUE, '%givenName% %sn%' ), new BooleanAttribute ( _('Strict naming policy'), _('Enables strict checking of user and group names'), 'fdStrictNamingRules', FALSE, TRUE ), new IntAttribute ( _('Group/user min id'), _('The minimum assignable user or group id to avoid security leaks with id 0 accounts.'), 'fdMinId', FALSE, 0, FALSE, 100 ), new StringAttribute ( _('Next id hook'), _('A script to be called for finding the next free id number for users or groups.'), 'fdNextIdHook', FALSE ), new IntAttribute ( _('Base number for user id'), _('Where to start looking for a new free user id.'), 'fdUidNumberBase', FALSE, 0, FALSE, 1100 ), new IntAttribute ( _('Base number for group id'), _('Where to start looking for a new free group id.'), 'fdGidNumberBase', FALSE, 0, FALSE, 1100 ), new StringAttribute ( _('Users RDN'), _('The branch where users are stored.'), 'fdUserRDN', TRUE, 'ou=people' ), new StringAttribute ( _('Groups RDN'), _('The branch where groups are stored.'), 'fdGroupRDN', TRUE, 'ou=groups' ), new StringAttribute ( _('ACL role RDN'), _('The branch where ACL roles are stored.'), 'fdAclRoleRDN', TRUE, 'ou=aclroles' ), new SelectAttribute ( _('Id allocation method'), _('Method to allocate user/group ids'), 'fdIdAllocationMethod', TRUE, array('traditional', 'pool'), 'traditional', array(_('Traditional'), _('Samba unix id pool')) ), new IntAttribute ( _('Pool user id min'), _('Minimum value for user id when using pool method'), 'fdUidNumberPoolMin', FALSE, 0, FALSE, 10000 ), new IntAttribute ( _('Pool user id max'), _('Maximum value for user id when using pool method'), 'fdUidNumberPoolMax', FALSE, 0, FALSE, 40000 ), new IntAttribute ( _('Pool group id min'), _('Minimum value for group id when using pool method'), 'fdGidNumberPoolMin', FALSE, 0, FALSE, 10000 ), new IntAttribute ( _('Pool group id max'), _('Maximum value for group id when using pool method'), 'fdGidNumberPoolMax', FALSE, 0, FALSE, 40000 ), new BooleanAttribute ( _('Restrict role members'), _('When enabled only users from the same branch or members of groups from the same branch can be added to a role.'), 'fdRestrictRoleMembers' ), ) ), 'debug' => array( 'name' => _('Debugging'), 'attrs' => array( new BooleanAttribute ( _('Display errors'), _('Shows PHP errors in the upper part of the screen. This should be disabled in productive deployments, because there might be some passwords in it.'), 'fdDisplayErrors' ), new IntAttribute ( _('Maximum LDAP query time'), _('Stop LDAP actions if there is no answer within the specified number of seconds.'), 'fdLdapMaxQueryTime', FALSE, 0 /*min*/, FALSE /*no max*/ ), new BooleanAttribute ( _('Log LDAP statistics'), _('Track LDAP timing statistics to the syslog. This may help to find indexing problems or bad search filters.'), 'fdLdapStats' ), new DebugLevelAttribute ( new SelectAttribute ( _('Debug level'), _('Display certain information on each page load.'), 'fdDebugLevel', FALSE, array(DEBUG_TRACE, DEBUG_LDAP, DEBUG_DB, DEBUG_SHELL, DEBUG_POST, DEBUG_SESSION, DEBUG_ACL, DEBUG_SI, DEBUG_MAIL), DEBUG_TRACE, array('Trace', 'LDAP', 'Database', 'Shell', 'POST', 'SESSION', 'ACL', 'SI', 'Mail') ) ), ) ), 'miscellaneous' => array( 'name' => _('Miscellaneous'), 'class' => array('fullwidth'), 'attrs' => array( new OrderedArrayAttribute ( new CompositeAttribute ( _('Hooks that are called when specific actions happens'), 'fdTabHook', array( new SelectAttribute( _('tab'), _('The tab that this hook concerns'), 'hookTab', TRUE, $plugins ), new SelectAttribute( _('mode'), _('When to call this command'), 'hookMode', TRUE, array('postcreate', 'postremove', 'postmodify', 'precreate', 'preremove', 'premodify', 'check') ), new StringAttribute( _('cmd'), _('The command that will be called'), 'hookCmd', TRUE ) ), '/^([^\\|]+)\\|([^\\|]+)\\|(.*)$/', '%s|%s|%s', '', // acl _('Hooks') ), FALSE, // non-ordered array(), TRUE // edition ), new BooleanAttribute ( _('Display hook output'), _('When enabled successful hook execution output is displayed to the user using a dialog.'), 'fdDisplayHookOutput' ), new SetAttribute( new StringAttribute ( _('Available shells'), _('Available POSIX shells for FD users.'), 'fdShells', FALSE ), array('/bin/ash','/bin/bash','/bin/csh','/bin/sh','/bin/ksh', '/bin/tcsh','/bin/dash','/bin/zsh','/sbin/nologin', '/bin/false', '/usr/bin/git-shell') ), new SelectAttribute ( _('Default shell'), _('Shell used by default when activating Unix tab.'), 'fdDefaultShell', TRUE ), new BooleanAttribute ( _('Show ACL tab on all objects'), _('For very specific ACL rights setting where you might need to give right on a single object.'), 'fdAclTabOnObjects' ), new SetAttribute( new StringAttribute ( _('Available department categories'), _('Available categories in the departments dropdown'), 'fdDepartmentCategories', FALSE ), array() ), ) ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE, $attributesInfo = NULL) { $attributesInfo = static::getAttributesInfo(); /* Languages */ $languages = get_languages(TRUE); asort($languages); $languages = array_merge(array("" => _("Automatic")), $languages); $attributesInfo['look_n_feel']['attrs'][0]->setChoices(array_keys($languages), array_values($languages)); /* Timezones */ $attributesInfo['look_n_feel']['attrs'][2]->setChoices(timezone::_get_tz_zones()); /* Password methods */ $methods = passwordMethod::get_available_methods(); $methods = $methods['name']; $attributesInfo['password']['attrs'][0]->setChoices($methods); try { parent::__construct($dn, $object, $parent, $mainTab, $attributesInfo); } catch (NonExistingLdapNodeException $e) { parent::__construct('new', $object, $parent, $mainTab, $attributesInfo); $this->dn = $dn; } $this->fusionConfigMd5 = md5_file(CACHE_DIR."/".CLASS_CACHE); $this->attributesAccess['fdDefaultShell']->setChoices($this->fdShells); $this->attributesAccess['fdHttpAuthActivated']->setManagedAttributes( array( 'erase' => array ( TRUE => array ( 'fdCasActivated', ) ) ) ); $this->attributesAccess['fdEnableSnapshots']->setManagedAttributes( array( 'disable' => array ( FALSE => array ( 'fdSnapshotBase', ) ) ) ); $this->attributesAccess['fdForceSSL']->setManagedAttributes( array( 'disable' => array ( TRUE => array ( 'fdWarnSSL', ) ) ) ); $this->attributesAccess['fdIdAllocationMethod']->setManagedAttributes( array( 'erase' => array ( 'traditional' => array ( 'fdUidNumberPoolMin','fdUidNumberPoolMax', 'fdGidNumberPoolMin','fdGidNumberPoolMax', ) ) ) ); $this->attributesAccess['fdCasActivated']->setManagedAttributes( array( 'disable' => array ( FALSE => array ( 'fdCasServerCaCertPath', 'fdCasHost', 'fdCasPort', 'fdCasContext', ) ) ) ); $this->attributesAccess['fdHttpHeaderAuthActivated']->setManagedAttributes( array( 'disable' => array ( FALSE => array ( 'fdHttpHeaderAuthHeaderName', ) ) ) ); } function compute_dn() { return $this->dn; } function save_object() { parent::save_object(); $this->attributesAccess['fdDefaultShell']->setChoices($this->fdShells); } static function get_themes() { $themesdir = '../ihtml/themes/'; $themes = array_keys(session::global_get(IconTheme::$session_var)); if ($dir = opendir("$themesdir")) { while (($file = readdir($dir)) !== FALSE) { if (is_dir("$themesdir/$file") && !preg_match("/^\./", $file)) { $themes[] = $file; } } } return array_unique($themes); } } ?> fusiondirectory-1.0.19/plugins/config/class_dashBoardConfig.inc000066400000000000000000000044471304016502700246640ustar00rootroot00000000000000 _('Dashboard configuration'), 'plDescription' => _('FusionDirectory dashboard plugin configuration'), 'plSelfModify' => FALSE, 'plCategory' => array('configuration'), 'plObjectType' => array('smallConfig'), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array( 'systems' => array( 'name' => _('Dashboard name schema'), 'attrs' => array( new IntAttribute ( _('Number of digits'), _('Number of digits to use after prefix'), 'fdDashboardNumberOfDigit', FALSE, 1, 20, 3 ), new SetAttribute ( new StringAttribute ( _('Prefixes'), _('Prefixes to be used for computer ids'), 'fdDashboardPrefix', TRUE ), array("PC") ) ) ), 'users' => array( 'name' => _('Dashboard expired users'), 'attrs' => array( new IntAttribute ( _('Number of days'), _('Number of days before expiration needed for an account to show in the dashboard next expired accounts list'), 'fdDashboardExpiredAccountsDays', FALSE, 1, FALSE, 15 ), ) ), ); } } ?> fusiondirectory-1.0.19/plugins/config/class_mainPluginsConfig.inc000066400000000000000000000040051304016502700252510ustar00rootroot00000000000000 _("Plugins configuration"), "plDescription" => _("FusionDirectory plugins configuration"), "plSelfModify" => FALSE, "plCategory" => array("configuration"), "plObjectType" => array("smallConfig"), "plProvidedAcls" => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array( 'ogroups' => array( 'name' => _('Object groups'), 'attrs' => array( new StringAttribute ( _('OGroup RDN'), _('Branch in which object groups will be stored'), 'fdOGroupRDN', TRUE, 'ou=groups' ), ) ), 'sasl' => array( 'name' => _('SASL'), 'attrs' => array( new BooleanAttribute ( _('Force to ask for password'), _('Useful if you add a hook using password value when SASL user passwords are edited'), 'fdForceSaslPasswordAsk', TRUE, FALSE ), ) ), ); } } ?> fusiondirectory-1.0.19/plugins/config/class_pluginsConfigInLdap.inc000066400000000000000000000023321304016502700255350ustar00rootroot00000000000000 _("Plugins"), "plDescription" => _("Configuration for plugins"), "plPriority" => 20, "plObjectType" => array("configuration"), "plProvidedAcls" => array() ); } } ?> fusiondirectory-1.0.19/plugins/config/class_recoveryConfig.inc000066400000000000000000000125501304016502700246250ustar00rootroot00000000000000 _('Password recovery'), 'plDescription' => _('Settings for the password recovery feature'), 'plObjectType' => array('configuration'), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array ( 'settings' => array ( 'name' => _('Password recovery settings'), 'class' => array ('alone'), 'template' => get_template_path('simpleplugin_section_alone.tpl'), 'attrs' => array ( new BooleanAttribute ( _('Activate password recovery'), _('Whether to activate or not password recovery feature'), 'fdPasswordRecoveryActivated', FALSE ), new MailAttribute ( _('Sender email address'), _('Email address from which mails will be sent'), 'fdPasswordRecoveryEmail', TRUE, 'to.be@chang.ed' ), new IntAttribute ( _('Link validity (minutes)'), _('Number of minutes before a recovery link expires'), 'fdPasswordRecoveryValidity', TRUE, 0, FALSE, 10 ), new StringAttribute ( _('Salt for tokens'), _('Just a security measure, you can put anything in there, even random characters'), 'fdPasswordRecoverySalt', TRUE, "SomethingSecretAndVeryLong" ), new BooleanAttribute ( _('Allow the use of alternate addresses'), _('Users will also be able to enter one of theirs alternate addresses to recover their password'), 'fdPasswordRecoveryUseAlternate', FALSE ), ) ), 'first_email' => array ( 'name' => _('First email'), 'attrs' => array ( new StringAttribute ( _('Subject'), _('Subject of the first email'), 'fdPasswordRecoveryMailSubject', TRUE, _("[FusionDirectory] Password recovery link") ), new TextAreaAttribute ( _('Body (first %s is login, second is link)'), _('Body of the first email, sent when the user ask for a new password. Use %s for the login and the recovery link.'), 'fdPasswordRecoveryMailBody', TRUE, _("Hello,\n\nHere is your information: \n - Login : %s\n - Link : %s\n\nThis link is only valid for 10 minutes.") ) ) ), 'second_email' => array ( 'name' => _('Second email'), 'attrs' => array ( new StringAttribute ( _('Subject'), _('Subject of the second email'), 'fdPasswordRecoveryMail2Subject', TRUE, _("[FusionDirectory] Password recovery successful") ), new TextAreaAttribute ( _('Body (%s is login)'), _('Body of the second email, sent to confirm the password has been changed. Use %s for the user login.'), 'fdPasswordRecoveryMail2Body', TRUE, _("Hello,\n\nYour password has been changed.\nYour login is still %s.") ) ) ) ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { global $config; // Check if token branch is here $ldap = $config->get_ldap_link(); $tokenBranch = get_ou('recoveryTokenRDN').get_ou('fusiondirectoryRDN').$config->current['BASE']; $ldap->cat($tokenBranch, array('dn')); if (!$ldap->count()) { $ldap->cd($config->current['BASE']); $ldap->create_missing_trees($tokenBranch); if (!$ldap->success()) { $display = msgPool::ldaperror($ldap->get_error(), $tokenBranch, LDAP_MOD, get_class()); } fusiondirectory_log("Created token branch ".$tokenBranch); } parent::__construct($dn, $object, $parent, $mainTab); $this->attributesAccess['fdPasswordRecoveryActivated']->setManagedAttributes( array( 'disable' => array( FALSE => array( 'fdPasswordRecoveryEmail','fdPasswordRecoveryValidity','fdPasswordRecoverySalt', 'fdPasswordRecoveryMailSubject','fdPasswordRecoveryMailBody', 'fdPasswordRecoveryMail2Subject','fdPasswordRecoveryMail2Body' ) ) ) ); } } ?> fusiondirectory-1.0.19/plugins/config/main.inc000066400000000000000000000016201304016502700213740ustar00rootroot00000000000000current['BASE'], TRUE); ?> fusiondirectory-1.0.19/plugins/config/tabs_configInLdap.inc000066400000000000000000000022721304016502700240220ustar00rootroot00000000000000check_and_reload(TRUE); /* reload plist as well as some plInfo might use $config or get_ou */ session::global_un_set('plist'); load_plist(); session::un_set('passwordMethod::get_available_methods'); } } ?> fusiondirectory-1.0.19/plugins/generic/000077500000000000000000000000001304016502700201255ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/generic/references/000077500000000000000000000000001304016502700222465ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/generic/references/class_reference.inc000066400000000000000000000041771304016502700260750ustar00rootroot00000000000000 _('References'), 'plDescription' => _('References'), 'plCategory' => array('acl'), 'plObjectType' => array( 'special' => array( 'name' => 'special' ) ), 'plPriority' => 10, 'plProvidedAcls' => array() ); } static function getAttributesInfo () { return array( 'main' => array( 'name' => _('References'), 'class' => array('fullwidth'), 'attrs' => array( new FakeAttribute('refs') ), 'template' => get_template_path('contents.tpl', TRUE, dirname(__FILE__)) ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->refs = NULL; } function execute() { if ($this->refs === NULL) { $this->fillRefs(); } $smarty = get_smarty(); $smarty->assign('usePrototype', 'true'); return parent::execute(); } function fillRefs() { if (!isset($this->parent)) { $this->refs = NULL; return; } $this->refs = $this->browseForeignKeys('references'); } function check() { } function save() { } } ?> fusiondirectory-1.0.19/plugins/generic/references/contents.tpl000066400000000000000000000024211304016502700246230ustar00rootroot00000000000000
    {$section}
    {if $attributes.refs}
      {foreach from=$attributes.refs key=key item=object}
    • {$object.link}
        {foreach from=$object.tabs item=tab}
      • {$tab.link}
          {foreach from=$tab.fields key=ofield item=field}
        • {if $field.field == 'dn'} {t escape=no 1=$ofield 2=$field.tabname 3=$field.field}%1 references our %3{/t} {else} {t escape=no 1=$ofield 2=$field.tabname 3=$field.field}%1 references our field %3 from tab %2{/t} {/if}
        • {/foreach}
      • {/foreach}
    • {/foreach}
    {else} {t}This object has no relationship to other objects.{/t} {/if}
    fusiondirectory-1.0.19/plugins/generic/welcome/000077500000000000000000000000001304016502700215605ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/generic/welcome/main.inc000066400000000000000000000024341304016502700232020ustar00rootroot00000000000000assign('iconmenu', $plist->show_iconmenu()); $smarty->assign('header', print_header(get_template_path('geticon.php?context=applications&icon=config-welcome&size=48'), sprintf(_('Welcome %s!'), $ui->cn))); $smarty->assign('year', date('Y')); $smarty->assign('revision', FD_VERSION); $display = $smarty->fetch(get_template_path('welcome.tpl', TRUE)); } ?> fusiondirectory-1.0.19/plugins/generic/welcome/welcome.tpl000066400000000000000000000003261304016502700237350ustar00rootroot00000000000000{$header} {$iconmenu}
    fusiondirectory-1.0.19/plugins/personal/000077500000000000000000000000001304016502700203345ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/personal/generic/000077500000000000000000000000001304016502700217505ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/personal/generic/changed.tpl000066400000000000000000000004301304016502700240570ustar00rootroot00000000000000

    {t}You've successfully changed your password. Remember to change all programms configured to use it as well.{/t}


    fusiondirectory-1.0.19/plugins/personal/generic/class_user.inc000066400000000000000000000536761304016502700246270ustar00rootroot00000000000000needPassword = array(); foreach ($temp['name'] as $id => $name) { $this->needPassword[$name] = $temp[$id]['object']->need_password(); $pwd_methods[$name] = $name; if (!empty($temp[$id]['desc'])) { $pwd_methods[$name] .= " (".$temp[$id]['desc'].")"; } } parent::__construct ( $description, $ldapName, array( new SelectAttribute( _('Password method'), _('Password hash method to use'), $ldapName.'_pwstorage', TRUE, array_keys($pwd_methods), '', array_values($pwd_methods) ), new PasswordAttribute( _('Password'), _('Password (Leave empty if you do not wish to change it)'), $ldapName.'_password', $required ), new PasswordAttribute( _('Password again'), _('Same password as above, to avoid errors'), $ldapName.'_password2', $required ), new HiddenAttribute( $ldapName.'_hash' ), new HiddenAttribute( $ldapName.'_locked', FALSE, FALSE ) ), '', '', $acl, $label ); $this->attributes[0]->setSubmitForm(TRUE); } public function setParent(&$plugin) { global $config; parent::setParent($plugin); if (is_object($this->plugin)) { $hash = $config->get_cfg_value('passwordDefaultHash', 'ssha'); $this->attributes[0]->setDefaultValue($hash); if ($config->get_cfg_value('forcePasswordDefaultHash', 'FALSE') == 'TRUE') { $this->attributes[0]->setValue($hash); $this->attributes[0]->setDisabled(TRUE); } $this->checkIfMethodNeedsPassword(); } } /* We need to handle method select disabling manually */ function renderAttribute(&$attributes, $readOnly) { global $config; if ($this->visible) { if ($this->linearRendering) { parent::renderAttribute($attributes, $readOnly); } else { foreach ($this->attributes as $key => &$attribute) { if (is_object($this->plugin) && $this->plugin->is_template && ($key == 2)) { /* Do not display confirmation field in template mode */ continue; } if (($key == 0) && ($config->get_cfg_value('forcePasswordDefaultHash', 'FALSE') == 'TRUE')) { $attribute->setDisabled(TRUE); } else { $attribute->setDisabled($this->disabled); } $attribute->renderAttribute($attributes, $readOnly); } unset($attribute); } } } /*! \brief Loads this attribute value from the attrs array */ protected function loadAttrValue ($attrs) { if (isset($attrs[$this->getLdapName()])) { $this->setValue($this->inputValue($attrs[$this->getLdapName()][0])); $this->setRequired(FALSE); $this->attributes[1]->setRequired(FALSE); $this->attributes[2]->setRequired(FALSE); } else { $this->setRequired(TRUE); $this->attributes[0]->resetToDefault(); $this->attributes[1]->setRequired(TRUE); $this->attributes[2]->setRequired(TRUE); $this->checkIfMethodNeedsPassword(); } } function setValue ($value) { if ($this->attributes[0]->isDisabled() || ($value[0] == '')) { $value[0] = $this->attributes[0]->getValue(); } parent::setValue($value); $this->checkIfMethodNeedsPassword(); } function applyPostValue () { parent::applyPostValue(); $this->checkIfMethodNeedsPassword(); } function checkIfMethodNeedsPassword() { $method = $this->attributes[0]->getValue(); if ($method != $this->previousMethod) { if ($this->needPassword[$method]) { $this->attributes[1]->setVisible(TRUE); $this->attributes[2]->setVisible(TRUE); } else { $this->attributes[1]->setVisible(FALSE); $this->attributes[1]->setValue(''); $this->attributes[2]->setVisible(FALSE); $this->attributes[2]->setValue(''); } } $this->previousMethod = $method; } function readValues($value) { global $config; $pw_storage = $config->get_cfg_value('passwordDefaultHash', 'ssha'); $locked = FALSE; $password = ''; if ($this->plugin->is_template) { list($value, $password) = explode('|', $value, 2); } if (preg_match ('/^{[^}]+}/', $value)) { $tmp = passwordMethod::get_method($value); if (is_object($tmp)) { $pw_storage = $tmp->get_hash(); $locked = $tmp->is_locked($this->plugin->dn); if ($this->plugin->is_template) { $value = $tmp->generate_hash($password); } } } else { if ($value != '') { $pw_storage = 'clear'; } } return array($pw_storage, $password, $password, $value, $locked); } function writeValues($values) { if ($this->needPassword[$values[0]] && ($values[1] == '')) { if ($this->plugin->is_template) { return ''; } else { return $values[3]; } } $temp = passwordMethod::get_available_methods(); if (!isset($temp[$values[0]])) { trigger_error('Unknown password method '.$values[0]); return $values[3]; } $test = new $temp[$values[0]]($this->plugin->dn); $test->set_hash($values[0]); if ($this->plugin->is_template) { return $test->generate_hash($values[1]).'|'.$values[1]; } else { return $test->generate_hash($values[1]); } } function check() { $method = $this->attributes[0]->getValue(); if (!$this->needPassword[$method]) { $this->attributes[1]->setRequired(FALSE); $this->attributes[2]->setRequired(FALSE); } $error = parent::check(); if (!empty($error)) { return $error; } if (($this->attributes[1]->getValue() != '') || ($this->attributes[2]->getValue() != '')) { return user::reportPasswordProblems($this->plugin->dn, $this->attributes[1]->getValue(), $this->attributes[2]->getValue()); } } function getMethod() { return $this->attributes[0]->getValue(); } function getClear() { return $this->attributes[1]->getValue(); } function isLocked() { return $this->attributes[4]->getValue(); } } class PostalAddressAttribute extends TextAreaAttribute { function inputValue ($ldapValue) { return str_replace( array('$', '\24','\5C'), array("\n", '$', '\\'), $ldapValue ); } function computeLdapValue () { return str_replace( array("\r\n", "\n", "\r"), '$', str_replace( array('\\', '$'), array('\5C','\24'), $this->getValue() ) ); } } class user extends simplePlugin { var $objectclasses = array('inetOrgPerson','organizationalPerson','person'); private $was_locked; static function plInfo() { return array( 'plShortName' => _('User'), 'plDescription' => _('User account information'), 'plIcon' => 'geticon.php?context=applications&icon=user-info&size=48', 'plSmallIcon' => 'geticon.php?context=applications&icon=user-info&size=16', 'plSelfModify' => TRUE, 'plObjectType' => array('user' => array( 'name' => _('User'), 'description' => _('User account'), 'filter' => '(objectClass=inetOrgPerson)', 'mainAttr' => 'uid', 'nameAttr' => 'cn', 'icon' => 'geticon.php?context=types&icon=user&size=16', 'ou' => get_ou('userRDN'), )), 'plForeignKeys' => array( 'manager' => array('user','dn') ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } // The main function : information about attributes static function getAttributesInfo () { $languages = array_merge(array('' => ''), get_languages(TRUE)); return array( 'perso' => array( 'name' => _('Personal information'), 'icon' => 'geticon.php?context=types&icon=user&size=16', 'attrs' => array( new HiddenAttribute('cn'), new StringAttribute ( _('Last name'), _('Last name of this user'), 'sn', TRUE, '', '', '/[^,+"?()=<>;\\\\]/' ), new StringAttribute ( _('First name'), _('First name of this user'), 'givenName', TRUE, '', '', '/[^,+"?()=<>;\\\\]/' ), new StringAttribute ( _('Description'), _('Short description of the user'), 'description', FALSE ), new ImageAttribute ( _('Picture'), _('The avatar for this user'), 'jpegPhoto', FALSE, 150, 200, 'jpeg' ), ) ), 'contact' => array( 'name' => _('Organizational contact information'), 'icon' => 'geticon.php?context=types&icon=contact&size=16', 'attrs' => array( new StringAttribute ( _('Location'), _('Location'), 'l', FALSE ), new StringAttribute ( _('State'), _('State'), 'st', FALSE ), new PostalAddressAttribute ( _('Address'), _('Business postal address'), 'postalAddress', FALSE ), new StringAttribute ( _('Room No.'), _('Room number'), 'roomNumber', FALSE ), new PhoneNumberAttribute ( _('Phone'), _('Business phone number'), 'telephoneNumber', FALSE ), /* TODO: mobile attribute */ new PhoneNumberAttribute ( _('Mobile'), _('Business mobile number'), 'mobile', FALSE ), new PhoneNumberAttribute ( _('Pager'), _('Business pager number'), 'pager', FALSE ), new PhoneNumberAttribute ( _('Fax'), _('Business fax number'), 'facsimileTelephoneNumber', FALSE ), new URLAttribute ( _('Homepage'), _('Personal homepage'), 'labeledURI', FALSE ), ) ), 'account' => array( 'name' => _('Account information'), 'icon' => 'geticon.php?context=applications&icon=ldap&size=16', 'attrs' => array( new BaseSelectorAttribute (get_ou("userRDN")), new UidAttribute ( _('Login'), _('Login of this user'), 'uid', TRUE ), new SelectAttribute ( _('Preferred language'), _('Preferred language'), 'preferredLanguage', FALSE, array_keys($languages), '', array_values($languages) ), new UserPasswordAttribute( _('Password'), _('Password of the user'), 'userPassword', FALSE ), ) ), 'homecontact' => array( 'name' => _('Personal contact information'), 'icon' => 'geticon.php?context=types&icon=contact&size=16', 'attrs' => array( new StringAttribute ( _('Display name'), _('Name this user should appear as. Used by Exchange.'), 'displayName', FALSE ), new PostalAddressAttribute ( _('Home address'), _('Home postal address'), 'homePostalAddress', FALSE ), new StringAttribute ( _('Private phone'), _('Home phone number'), 'homePhone', FALSE ), ) ), 'organization' => array( 'name' => _('Organizational information'), 'icon' => 'geticon.php?context=places&icon=folder&size=16', 'attrs' => array( new SetAttribute ( new StringAttribute ( _('Title'), _('Title of a person in their organizational context. Each title is one value of this multi-valued attribute'), 'title', FALSE ) ), new StringAttribute ( _('Organization'), _('Organization'), 'o', FALSE ), new StringAttribute ( _('Department'), _('Department to which the user belongs'), 'ou', FALSE ), new StringAttribute ( _('Department No.'), _('Department number'), 'departmentNumber', FALSE ), new StringAttribute ( _('Employee No.'), _('Employee number'), 'employeeNumber', FALSE ), new StringAttribute ( _('Employee type'), _('Employee type'), 'employeeType', FALSE ), new UserAttribute( _('Manager'), _('Manager'), 'manager', FALSE ), ) ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->attributesAccess['uid']->setUnique('whole'); $this->attributesAccess['uid']->setAutocomplete(FALSE); $this->attributesAccess['uid']->setDisabled($this->initially_was_account && !$this->is_template); $filename = './plugins/users/images/default.jpg'; $fd = fopen ($filename, 'rb'); $this->attributesAccess['jpegPhoto']->setPlaceholder(fread ($fd, filesize($filename))); $this->was_locked = $this->attributesAccess['userPassword']->isLocked(); } function is_this_account($attrs) { /* Only inetOrgPerson is needed, it has the two others as SUP classes */ return (isset($attrs['objectClass']) && in_array_ics('inetOrgPerson', $attrs['objectClass'])); } function postCopyHook() { $this->attributesAccess['uid']->setDisabled($this->initially_was_account && !$this->is_template); } private function update_cn () { global $config; $pattern = $config->get_cfg_value('CnPattern', '%givenName% %sn%'); $fields = plugin::tpl_list_fields($pattern); $attrs = array(); foreach ($fields as $field) { if (in_array($field, $this->attributes)) { $attrs[$field] = $this->$field; continue; } if (isset($this->parent->by_object)) { foreach ($this->parent->by_object as $object) { if (in_array($field, $object->attributes)) { $attrs[$field] = $object->$field; continue 2; } } } trigger_error('Could not find field '.$field.' in any tab!'); } $this->attributesAccess['cn']->setValue(plugin::tpl_parse_string($pattern, $attrs)); } function compute_dn() { global $config; if ($this->is_template) { $dn = 'cn='.ldap_escape_dn($this->_template_cn).',ou=templates,'.get_ou('userRDN').$this->base; return $dn; } $this->update_cn(); $attribute = $config->get_cfg_value('accountPrimaryAttribute', 'uid'); return $this->create_unique_dn($attribute, get_ou('userRDN').$this->base); } function execute() { $smarty = get_smarty(); $smarty->append('css_files', 'plugins/users/style/user_tab.css'); return parent::execute(); } function ldap_save($cleanup = TRUE) { parent::ldap_save($cleanup); if (!$this->is_template && $this->was_locked && $this->attributesAccess['userPassword']->hasChanged()) { $methods = passwordMethod::get_available_methods(); $pmethod = new $methods[$this->attributesAccess['userPassword']->getMethod()]($this->dn); $pmethod->lock_account($this->dn); } } function save() { parent::save(); /* Update current locale settings, if we have edited ourselves */ $ui = session::get('ui'); if (isset($this->attrs['preferredLanguage']) && ($this->dn == $ui->dn)) { $ui->language = $this->preferredLanguage; session::set('ui', $ui); session::set('Last_init_lang', 'update'); } } function adapt_from_template($attrs, $skip = array()) { if ($this->uid != '') { $skip[] = 'uid'; } parent::adapt_from_template($attrs, $skip); if (isset($this->attrs['userPassword']) && !in_array('userPassword', $skip)) { list($hash,$password) = explode('|', $this->attrs['userPassword'][0], 2); if (preg_match ('/^{[^}]+}/', $hash)) { $tmp = passwordMethod::get_method($hash); if (is_object($tmp)) { $hash = $tmp->generate_hash($password); } } $this->userPassword = array( '', $password, $password, $hash, $this->attributesAccess['userPassword']->isLocked() ); } } function callHook($cmd, $addAttrs = array(), &$returnOutput = array(), &$returnCode = NULL) { $addAttrs['passwordMethod'] = $this->attributesAccess['userPassword']->getMethod(); $addAttrs['userLocked'] = $this->attributesAccess['userPassword']->isLocked(); $addAttrs['passwordClear'] = $this->attributesAccess['userPassword']->getClear(); return parent::callHook($cmd, $addAttrs, $returnOutput, $returnCode); } static function reportPasswordProblems ($user, $new_password, $repeated_password, $current_password = NULL) { global $config, $ui; /* Should we check different characters in new password */ $check_differ = ($config->get_cfg_value('passwordMinDiffer') != ''); $differ = $config->get_cfg_value('passwordMinDiffer', 0); if ($current_password === NULL) { $check_differ = FALSE; } /* Enable length check ? */ $check_length = ($config->get_cfg_value('passwordMinLength') != ''); $length = $config->get_cfg_value('passwordMinLength', 0); $ldap = $config->get_ldap_link(); $ldap->cat($user, array('pwdPolicySubentry', 'pwdHistory', 'pwdChangedTime', 'userPassword')); $attrs = $ldap->fetch(); $ppolicydn = ''; if (isset($attrs['pwdPolicySubentry'][0])) { $ppolicydn = $attrs['pwdPolicySubentry'][0]; } else { $ppolicydn = $config->get_cfg_value('ppolicyDefaultCn', ''); if (!empty($ppolicydn)) { $ppolicydn = 'cn='.$ppolicydn.','.get_ou('ppolicyRDN').$config->current['BASE']; } } if (!empty($ppolicydn)) { $ldap->cat($ppolicydn, array('pwdAllowUserChange', 'pwdMinLength', 'pwdMinAge', 'pwdSafeModify')); $policy = $ldap->fetch(); if (!$policy) { return sprintf(_('Ppolicy "%s" could not be found in the LDAP!'), $ppolicydn); } if (isset($policy['pwdAllowUserChange'][0]) && ($policy['pwdAllowUserChange'][0] == 'FALSE') && ($ui->dn == $user)) { return _('You are not allowed to change your own password'); } if (isset($policy['pwdMinLength'][0])) { $check_length = TRUE; $length = $policy['pwdMinLength'][0]; } if (isset($policy['pwdMinAge'][0]) && isset($attrs['pwdChangedTime'][0])) { $date = LdapGeneralizedTime::fromString($attrs['pwdChangedTime'][0]); $date->setTimezone(timezone::utc()); $now = new DateTime('now', timezone::utc()); if ($now->getTimeStamp() < $date->getTimeStamp() + $policy['pwdMinAge'][0]) { return sprintf(_('You must wait %d seconds before changing your password again'), $policy['pwdMinAge'][0] - ($now->getTimeStamp() - $date->getTimeStamp())); } } if (isset($policy['pwdSafeModify'][0]) && ($policy['pwdSafeModify'][0] == 'FALSE')) { if (empty($current_password)) { $current_password = NULL; } } if (isset($attrs['pwdHistory'][0])) { unset($attrs['pwdHistory']['count']); foreach ($attrs['pwdHistory'] as $pwdHistory) { $pwdHistory = explode('#', $pwdHistory, 4); $method = passwordMethod::get_method($pwdHistory[3], $user); if (($method !== NULL) && $method->checkPassword($new_password, $pwdHistory[3])) { return _('Password is in history of old passwords'); } } } if (($current_password !== NULL) && ($current_password == $new_password)) { return _('Password is not being changed from existing value'); } elseif (isset($attrs['userPassword'][0])) { $method = passwordMethod::get_method($attrs['userPassword'][0], $user); if (($method !== NULL) && $method->checkPassword($new_password, $attrs['userPassword'][0])) { return _('Password is not being changed from existing value'); } } } // Perform FusionDirectory password policy checks if (($current_password !== NULL) && empty($current_password)) { return _('You need to specify your current password in order to proceed.'); } elseif ($new_password != $repeated_password) { return _('The passwords you\'ve entered as "New password" and "Repeated new password" do not match.'); } elseif ($new_password == '') { return msgPool::required(_('New password')); } elseif ($check_differ && (substr($current_password, 0, $differ) == substr($new_password, 0, $differ))) { return _('The password used as new and current are too similar.'); } elseif ($check_length && (strlen($new_password) < $length)) { return _('The password used as new is to short.'); } elseif (!passwordMethod::is_harmless($new_password)) { return _('The password contains possibly problematic Unicode characters!'); } return FALSE; } } ?> fusiondirectory-1.0.19/plugins/personal/generic/main.inc000066400000000000000000000015501304016502700233700ustar00rootroot00000000000000dn); ?> fusiondirectory-1.0.19/plugins/personal/generic/nochange.tpl000066400000000000000000000002711304016502700242530ustar00rootroot00000000000000

    {t}You have no permission to change your password at this time{/t}

    {t}Your password hash method will not be changed!{/t}

    fusiondirectory-1.0.19/plugins/personal/generic/paste_generic.tpl000066400000000000000000000036701304016502700253070ustar00rootroot00000000000000

    {t}User settings{/t}

    {t}Password{/t} {t}Clear password{/t}
    {t}Set new password{/t}
    {t}Personal picture{/t}
    {t}User picture{/t}  

    fusiondirectory-1.0.19/plugins/personal/posix/000077500000000000000000000000001304016502700214765ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/personal/posix/class_posixAccount.inc000066400000000000000000000622051304016502700260420ustar00rootroot00000000000000 \version 2.00 \date 24.07.2003 This class provides the functionality to read and write all attributes relevant for posixAccounts and shadowAccounts from/to the LDAP. It does syntax checking and displays the formulars required. */ class EpochDaysDateAttribute extends DateAttribute { public static $secondsPerDay = 86400; function __construct ($label, $description, $ldapName, $required, $defaultValue = 'now', $acl = "") { parent::__construct($label, $description, $ldapName, $required, '', $defaultValue, $acl); } protected function ldapToDate($ldapValue) { $date = DateTime::createFromFormat('U', $ldapValue * static::$secondsPerDay, timezone::utc()); if ($date !== FALSE) { return $date; } else { trigger_error('LDAP value for '.$this->getLdapName().' was not in the right date format.'); return new DateTime($ldapValue, timezone::utc()); } } protected function dateToLdap($dateValue) { return floor($dateValue->format('U') / static::$secondsPerDay); } function getEpochDays() { if (empty($this->value)) { return 0; } else { try { return $this->dateToLdap($this->getDateValue()); } catch (Exception $e) { if (is_object($this->plugin) && $this->plugin->is_template) { return $this->value; } else { throw $e; } } } } } class posixAccount extends simplePlugin { var $displayHeader = TRUE; var $objectclasses = array('posixAccount', 'shadowAccount'); static function plInfo() { return array( 'plShortName' => _('Unix'), 'plDescription' => _('Edit users POSIX settings'), 'plIcon' => 'geticon.php?context=applications&icon=os-linux&size=48', 'plSmallIcon' => 'geticon.php?context=applications&icon=os-linux&size=16', 'plSelfModify' => TRUE, 'plPriority' => 2, 'plObjectType' => array('user'), 'plForeignKeys' => array( 'gidNumber' => array( array('group','gidNumber'), array('mixedGroup','gidNumber'), ), 'host' => array( array('serverGeneric', 'cn'), array('workstationGeneric', 'cn'), array('terminalGeneric', 'cn'), ) ), 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } // The main function : information about attributes static function getAttributesInfo () { global $config; return array( 'main' => array( 'name' => _('Unix'), 'icon' => 'geticon.php?context=applications&icon=os-linux&size=16', 'attrs' => array( new PathAttribute( _('Home directory'), _('The path to the home directory of this user'), 'homeDirectory', TRUE ), new StringAttribute('gecos', 'gecos', 'gecos'), new SelectAttribute( _('Shell'), _('Which shell should be used when this user log in'), 'loginShell', TRUE, $config->get_cfg_value('Shells', array(_('unconfigured'))), $config->get_cfg_value('DefaultShell', '') ), new SelectAttribute( _('Primary group'), _('Primary group for this user'), 'primaryGroup', FALSE ), new DisplayAttribute( _('Status'), _('Status of this user unix account'), 'posixStatus', FALSE ), new BooleanAttribute( _('Force user/group id'), _('Force user id and group id values for this user'), 'force_ids', FALSE ), new IntAttribute( _('User id'), _('User id value for this user'), 'uidNumber', FALSE, 0, FALSE, '' ), new IntAttribute( _('Group id'), _('Group id value for this user'), 'gidNumber', FALSE, 0, FALSE, '' ) ) ), 'groups' => array( 'name' => _('Group membership'), 'icon' => 'geticon.php?context=types&icon=user-group&size=16', 'attrs' => array( new GroupsAttribute('', _('Group membership'), 'groupMembership') ) ), 'account' => array( 'name' => _('Account'), 'icon' => 'geticon.php?context=devices&icon=terminal&size=16', 'attrs' => array( new BooleanAttribute( _('User must change password on first login'), _('User must change password on first login (needs a value for Delay before forcing password change)'), 'mustchangepassword', FALSE ), new IntAttribute( _('Minimum delay between password changes (days)'), _('The user won\'t be able to change his password before this number of days (leave empty to disable)'), 'shadowMin', FALSE, 0, FALSE, '' ), new IntAttribute( _('Delay before forcing password change (days)'), _('The user will be forced to change his password after this number of days (leave empty to disable)'), 'shadowMax', FALSE, 0, FALSE, '' ), new EpochDaysDateAttribute( _('Password expiration date'), _('Date after which this user password will expire (leave empty to disable)'), 'shadowExpire', FALSE, '' ), new IntAttribute( _('Delay of inactivity before disabling user (days)'), _('Maximum delay of inactivity after password expiration before the user is disabled (leave empty to disable)'), 'shadowInactive', FALSE, 0, FALSE, '' ), new IntAttribute( _('Delay for user warning before password expiry (days)'), _('The user will be warned this number of days before his password expiration (leave empty to disable)'), 'shadowWarning', FALSE, 0, FALSE, '' ), new IntAttribute( 'No label', 'No description', 'shadowLastChange', FALSE, 0, FALSE, '' ), ) ), 'system_trust' => array( 'name' => _('System trust'), 'icon' => 'geticon.php?context=categories&icon=acl&size=16', 'attrs' => array( new SelectAttribute( _('Trust mode'), _('Type of authorization for those hosts'), 'trustMode', FALSE, array('', 'fullaccess', 'byhost'), '', array(_('disabled'), _('full access'), _('allow access to these hosts')) ), new SystemsAttribute( '', _('Only allow this user to connect to this list of hosts'), 'host', FALSE ) ) ) ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { global $config; parent::__construct($dn, $object, $parent, $mainTab); $this->attributesAccess['gecos']->setVisible(FALSE); $this->attributesAccess['trustMode']->setInLdap(FALSE); if (!class_available('systemManagement')) { $this->attributesAccess['trustMode']->setChoices( array('', 'fullaccess'), array(_('disabled'), _('full access')) ); } $this->attributesAccess['trustMode']->setManagedAttributes( array( 'multiplevalues' => array('notbyhost' => array('','fullaccess')), 'erase' => array( 'notbyhost' => array('host') ) ) ); if ((count($this->host) == 1) && ($this->host[0] == '*')) { $this->trustMode = 'fullaccess'; } elseif (count($this->host) > 0) { $this->trustMode = 'byhost'; } $this->attributesAccess['uidNumber']->setUnique(TRUE); $this->attributesAccess['force_ids']->setInLdap(FALSE); $this->attributesAccess['force_ids']->setManagedAttributes( array( 'disable' => array ( FALSE => array ( 'uidNumber', 'gidNumber', ) ) ) ); $this->attributesAccess['primaryGroup']->setInLdap(FALSE); $this->attributesAccess['mustchangepassword']->setInLdap(FALSE); $this->attributesAccess['shadowLastChange']->setVisible(FALSE); $this->attributesAccess['shadowMax']->setManagedAttributes( array( 'disable' => array ( '' => array ( 'mustchangepassword', ) ) ) ); if ($dn !== NULL) { /* Correct is_account. shadowAccount is not required. */ if (isset($this->attrs['objectClass']) && in_array ('posixAccount', $this->attrs['objectClass'])) { $this->is_account = TRUE; } $this->initially_was_account = $this->is_account; // Templates do not have a gidNumber if ($this->gidNumber == 2147483647) { $this->gidNumber = ""; } /* Fill group */ $this->primaryGroup = $this->gidNumber; } /* Generate shell list from config */ $loginShellList = $this->attributesAccess['loginShell']->getChoices(); /* Insert possibly missing loginShell */ $loginShell = $this->attributesAccess['loginShell']->getValue(); if (($loginShell != '') && !in_array($loginShell, $loginShellList)) { $loginShellList[] = $loginShell; } $this->attributesAccess['loginShell']->setChoices($loginShellList); $secondaryGroups = array(); $secondaryGroups[''] = "- "._("automatic")." -"; $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search("(objectClass=posixGroup)", array("cn", "gidNumber")); while ($attrs = $ldap->fetch()) { $secondaryGroups[$attrs['gidNumber'][0]] = $attrs['cn'][0]; } asort ($secondaryGroups); $this->attributesAccess['primaryGroup']->setChoices(array_keys($secondaryGroups), array_values($secondaryGroups)); if (!$this->is_template) { $current = floor(date("U") / EpochDaysDateAttribute::$secondsPerDay); $shadowExpire = $this->attributesAccess['shadowExpire']->getEpochDays(); $shadowInactive = $this->attributesAccess['shadowInactive']->getValue(); $shadowMin = $this->attributesAccess['shadowMin']->getValue(); $shadowMax = $this->attributesAccess['shadowMax']->getValue(); $shadowLastChange = $this->attributesAccess['shadowLastChange']->getValue(); if (($current >= $shadowExpire) && ($shadowExpire > 0)) { $status = _("expired"); if ($shadowInactive != "" && ($current - $shadowExpire) < $shadowInactive) { $status .= ", "._("grace time active"); } } elseif ($shadowMax != "" && ($shadowLastChange + $shadowMax) <= $current) { $status = _("active").", "._("password expired"); } elseif ($shadowMin != "" && ($shadowLastChange + $shadowMin) <= $current) { $status = _("active").", "._("password not changeable"); } else { $status = _("active"); } $this->attributesAccess['posixStatus']->setValue($status); } $this->attributesAccess['groupMembership']->setInLdap(FALSE); if (class_available('mixedGroup')) { $this->attributesAccess['groupMembership']->setDisabled(TRUE); $this->attributesAccess['groupMembership']->setVisible(FALSE); } else { if ($this->is_template) { if (isset($this->attrs['posixGroups'])) { unset($this->attrs['posixGroups']['count']); $this->groupMembership = $this->attrs['posixGroups']; } } else { /* Groups handling */ $ldap->cd($config->current['BASE']); $ldap->search('(&(objectClass=posixGroup)(memberUid='.ldap_escape_f($this->getUid()).'))', array('cn', 'description')); $groupMembership = array(); while ($attrs = $ldap->fetch()) { if (!isset($attrs['description'][0])) { $entry = $attrs['cn'][0]; } else { $entry = $attrs['cn'][0].' ['.$attrs['description'][0].']'; } $groupMembership[$attrs['dn']] = $entry; } asort($groupMembership); reset($groupMembership); $this->attributesAccess['groupMembership']->setValue(array_keys($groupMembership)); $this->attributesAccess['groupMembership']->setDisplayValues(array_values($groupMembership)); $this->savedGroupMembership = array_keys($groupMembership); } } if ($this->is_template) { if (isset($this->attrs['force_ids'])) { $this->force_ids = ($this->attrs['force_ids'][0] != 'FALSE'); } if (isset($this->attrs['mustchangepassword'])) { $this->mustchangepassword = ($this->attrs['mustchangepassword'][0] != 'FALSE'); } } } function getUid() { if (isset($this->parent)) { $baseobject = $this->parent->getBaseObject(); return $baseobject->uid; } if (isset($this->attrs['uid'][0])) { return $this->attrs['uid'][0]; } } function resetCopyInfos() { global $config; parent::resetCopyInfos(); $this->savedGroupMembership = array(); $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); $ldap->search('(&(objectClass=posixGroup)(gidNumber='.ldap_escape_f($this->gidNumber).')(cn='.ldap_escape_f($this->getUid()).'))', array('cn','gidNumber')); if ($ldap->count() > 0) { /* The copied user had its own group */ /* switch back to automatic */ $this->primaryGroup = 0; } $this->force_ids = FALSE; $this->attributesAccess['uidNumber']->setInitialValue(''); $this->attributesAccess['gidNumber']->setInitialValue(''); $this->uidNumber = ''; $this->gidNumber = ''; } function check() { global $config; if (isset($this->parent) && isset($this->parent->getBaseObject()->is_template) && $this->parent->getBaseObject()->is_template) { $message = array(); } else { $message = parent::check(); } /* Check ID's if they are forced by user */ if ($this->force_ids) { if ($this->uidNumber < $config->get_cfg_value("minId")) { $message[] = msgPool::toosmall(_("UID"), $config->get_cfg_value("minId")); } if ($this->gidNumber < $config->get_cfg_value("minId")) { $message[] = msgPool::toosmall(_("GID"), $config->get_cfg_value("minId")); } } /* Check shadow settings */ if ($this->shadowWarning !== "") { if ($this->shadowMax === "") { $message[] = msgPool::depends("shadowWarning", "shadowMax"); } if ($this->shadowWarning > $this->shadowMax) { $message[] = msgPool::toobig("shadowWarning", "shadowMax"); } if (($this->shadowMin !== "") && ($this->shadowWarning < $this->shadowMin)) { $message[] = msgPool::toosmall("shadowWarning", "shadowMin"); } } if (($this->shadowInactive !== "") && ($this->shadowMax === "")) { $message[] = msgPool::depends("shadowInactive", "shadowMax"); } if (($this->shadowMin !== "") && ($this->shadowMax !== "") && ($this->shadowMin > $this->shadowMax)) { $message[] = msgPool::toobig("shadowMin", "shadowMax"); } return $message; } function prepare_save() { global $config; /* Fill gecos */ if (isset($this->parent) && $this->parent !== NULL) { $this->gecos = rewrite($this->parent->getBaseObject()->cn); if (!preg_match('/^[a-z0-9 -]+$/i', $this->gecos)) { $this->gecos = ""; } } if (!$this->force_ids) { /* Handle uidNumber. * - use existing number if possible * - if not, try to create a new uniqe one. * */ if ($this->attributesAccess['uidNumber']->getInitialValue() != "") { $this->uidNumber = $this->attributesAccess['uidNumber']->getInitialValue(); } else { /* Calculate new id's. We need to place a lock before calling get_next_id to get real unique values. */ $wait = 10; while (get_lock("uidnumber") != "") { sleep (1); /* Oups - timed out */ if ($wait-- == 0) { msg_dialog::display(_("Warning"), _("Timeout while waiting for lock. Ignoring lock!"), WARNING_DIALOG); break; } } add_lock ("uidnumber", "gosa"); $this->uidNumber = get_next_id("uidNumber", $this->dn); } } /* Handle gidNumber * - If we do not have a primary group selected (automatic), we will check if there * is already a group with the same name and use this as primary. * - .. if we couldn't find a group with the same name, we will create a new one, * using the users uid as cn and a generated uniqe gidNumber. * */ if ($this->is_template && $this->force_ids) { /* Nothing to do in this case */ } elseif ($this->is_template && ($this->primaryGroup == 0)) { $this->gidNumber = 2147483647; } elseif (($this->primaryGroup == 0) || $this->force_ids) { /* Search for existing group */ $ldap = $config->get_ldap_link(); $ldap->cd($config->current['BASE']); /* Are we forced to use a special gidNumber? */ if ($this->force_ids) { $ldap->search('(&(objectClass=posixGroup)(gidNumber='.ldap_escape_f($this->gidNumber).'))', array('cn','gidNumber')); } else { $ldap->search('(&(objectClass=posixGroup)(gidNumber=*)(cn='.ldap_escape_f($this->getUid()).'))', array('cn','gidNumber')); } /* No primary group found, create a new one */ if ($ldap->count() == 0) { $groupcn = $this->getUid(); /* Request a new and unique gidNumber, if required */ if (!$this->force_ids) { $this->gidNumber = get_next_id('gidNumber', $this->dn); } /* If forced gidNumber could not be found, then check if the given group name already exists. */ $cnt = 0; $ldap->search('(&(objectClass=posixGroup)(cn='.ldap_escape_f($groupcn).'))', array('cn')); while ($ldap->count() && ($cnt < 100)) { $cnt++; $groupcn = $this->getUid().'_'.$cnt; $ldap->search('(&(objectClass=posixGroup)(cn='.ldap_escape_f($groupcn).'))', array('cn')); } /* Create new primary group and enforce the new gidNumber */ if (class_available('mixedGroup')) { $tabObject = objects::create('ogroup'); } else { $tabObject = objects::create('group'); } $baseObject = $tabObject->getBaseObject(); $baseObject->cn = $groupcn; $baseObject->description = sprintf(_('Group of user %s'), $this->getUid()); if (class_available('mixedGroup')) { // fake attrs as this user may not exists yet $attrs = array( 'objectClass' => array('inetOrgPerson','organizationalPerson','person','posixAccount','shadowAccount'), 'cn' => $this->getUid(), 'uid' => $this->getUid(), ); $baseObject->attributesAccess['member']->addValue($this->dn, $attrs); $tabObject->gen_tabs(); $posixTab = $tabObject->by_object['mixedGroup']; } else { $posixTab = $baseObject; } $posixTab->force_id = 1; $posixTab->gidNumber = $this->gidNumber; $tabObject->save(); $groupdn = $tabObject->dn; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, sprintf('Primary group "%s" created, using gidNumber "%s".', $groupdn, $this->gidNumber), ''); } else { $attrs = $ldap->fetch(); $this->gidNumber = $attrs['gidNumber'][0]; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, "Found and used: ".$attrs['dn']."", sprintf("Primary group '%s' exists, gidNumber is '%s'.", $this->getUid(), $this->gidNumber)); } } else { /* Primary group was selected by user */ $this->gidNumber = $this->primaryGroup; @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, sprintf("Primary group '%s' for user '%s' manually selected.", $this->gidNumber, $this->getUid()), ""); } if (!$this->is_template) { if ($this->mustchangepassword) { $this->shadowLastChange = floor(date('U') / EpochDaysDateAttribute::$secondsPerDay) - $this->shadowMax - 1; } elseif ( ($this->is_account && !$this->initially_was_account) || $this->parent->getBaseObject()->attributesAccess['userPassword']->hasChanged() ) { $this->shadowLastChange = floor(date('U') / EpochDaysDateAttribute::$secondsPerDay); } } $this->updateAttributesValues(); parent::prepare_save(); if ($this->trustMode == 'fullaccess') { $this->attrs['host'] = array('*'); } /* Trust accounts */ if (($this->trustMode != "") && !in_array('hostObject', $this->attrs['objectClass'])) { $this->attrs['objectClass'][] = 'hostObject'; } elseif (($this->trustMode == "") && (($key = array_search('hostObject', $this->attrs['objectClass'])) !== FALSE)) { unset($this->attrs['objectClass'][$key]); } if ($this->is_template) { $this->attrs['posixGroups'] = $this->groupMembership; if ($this->force_ids) { if (($this->uidNumber == '%askme%') ||($this->gidNumber == '%askme%')) { $this->attrs['force_ids'] = '%askme%'; } else { $this->attrs['force_ids'] = 'TRUE'; } } else { $this->attrs['force_ids'] = 'FALSE'; } $this->attrs['mustchangepassword'] = ($this->mustchangepassword ? 'TRUE' : 'FALSE'); } } function save() { parent::save(); del_lock("uidnumber"); if (!$this->is_template && !class_available('mixedGroup')) { /* Take care about groupMembership values: add to groups */ $groupMembership = $this->attributesAccess['groupMembership']->getValue(); foreach ($groupMembership as $value) { if (!in_array($value, $this->savedGroupMembership)) { $g = objects::open($value, 'group'); $g->by_object['group']->addUser($this->dn, $this->getUid()); $g->save(); } } /* Remove groups not listed in groupMembership */ foreach ($this->savedGroupMembership as $value) { if (!in_array($value, $groupMembership)) { $g = objects::open($value, 'group'); $g->by_object['group']->removeUser($this->getUid()); $g->save(); } } } } /* remove object from parent */ function remove_from_parent() { global $config; /* Cancel if there's nothing to do here */ if ((!$this->initially_was_account) || (!$this->acl_is_removeable())) { return; } /* Remove and write to LDAP */ parent::remove_from_parent(); /* Delete group only if cn is uid and there are no other members inside */ $ldap = $config->get_ldap_link(); $ldap->cd ($config->current['BASE']); $ldap->search ('(&(objectClass=posixGroup)(gidNumber='.ldap_escape_f($this->gidNumber).')(cn='.ldap_escape_f($this->getUid()).'))', array('cn', 'memberUid')); if ($ldap->count() != 0) { $attrs = $ldap->fetch(); if ($attrs['cn'][0] == $this->getUid() && !isset($this->attrs['memberUid'])) { $ldap->rmDir($attrs['dn']); } } } /* Adapt from template, using 'dn' */ function adapt_from_template($attrs, $skip = array()) { /* Include global link_info */ parent::adapt_from_template($attrs, $skip); $this->savedGroupMembership = $this->groupMembership; if (isset($this->attrs['posixGroups'])) { unset($this->attrs['posixGroups']['count']); $this->groupMembership = $this->attrs['posixGroups']; } else { $this->groupMembership = array(); } if (isset($this->attrs['force_ids'])) { $this->force_ids = ($this->attrs['force_ids'][0] != 'FALSE'); } if (isset($this->attrs['mustchangepassword'])) { $this->mustchangepassword = ($this->attrs['mustchangepassword'][0] != 'FALSE'); } $this->attributesAccess['uidNumber']->setInitialValue(''); /* Fix primary group settings */ if ($this->gidNumber == 2147483647) { $this->gidNumber = ""; } $this->primaryGroup = $this->gidNumber; if ((count($this->host) == 1) && ($this->host[0] == '*')) { $this->trustMode = 'fullaccess'; } elseif (count($this->host) > 0) { $this->trustMode = 'byhost'; } } function foreignKeyUpdate ($field, $oldvalue, $newvalue, $source) { $ret = parent::foreignKeyUpdate($field, $oldvalue, $newvalue, $source); if ($field == 'gidNumber') { if ($newvalue === NULL) { $this->primaryGroup = 0; } else { $this->primaryGroup = $this->gidNumber; } } return $ret; } } ?> fusiondirectory-1.0.19/plugins/personal/posix/main.inc000066400000000000000000000015611304016502700231200ustar00rootroot00000000000000dn); ?> fusiondirectory-1.0.19/plugins/personal/roles/000077500000000000000000000000001304016502700214605ustar00rootroot00000000000000fusiondirectory-1.0.19/plugins/personal/roles/class_userRoles.inc000066400000000000000000000231771304016502700253350ustar00rootroot00000000000000 _('Groups and roles'), 'plDescription' => _('Edit user\'s groups and roles'), 'plIcon' => 'geticon.php?context=types&icon=role&size=48', 'plSmallIcon' => 'geticon.php?context=types&icon=role&size=16', 'plSelfModify' => FALSE, 'plObjectType' => array('user'), 'plPriority' => 5, 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) ); } static function getAttributesInfo () { return array( 'groups' => array( 'name' => _('Groups membership'), 'attrs' => array( new SetAttribute( new SelectAttribute( '', _('Groups membership'), 'groupsMembership', FALSE ) ) ) ), 'roles' => array( 'name' => _('Roles membership'), 'attrs' => array( new SetAttribute( new SelectAttribute( '', _('Roles membership'), 'rolesMembership', FALSE ) ) ) ), ); } function __construct ($dn = NULL, $object = NULL, $parent = NULL, $mainTab = FALSE) { parent::__construct($dn, $object, $parent, $mainTab); $this->ignore_account = FALSE; /* Groups handling */ $groups = array(); $groupsattrs = objects::ls('ogroup', array('cn' => 1, 'description' => 1)); foreach ($groupsattrs as $dn => $groupattr) { $groupDisplay = $groupattr['cn']; if (isset($groupattr['description'])) { if (strlen($groupattr['description']) > 50) { $groupattr['description'] = substr($groupattr['description'], 0, 50).'…'; } $groupDisplay .= ' ['.$groupattr['description'].']'; } $groups[$dn] = $groupDisplay; } $this->attributesAccess['groupsMembership']->setInLdap(FALSE); $this->attributesAccess['groupsMembership']->attribute->setChoices(array_keys($groups), array_values($groups)); if ($this->is_template) { if (isset($this->attrs['userGroups'])) { unset($this->attrs['userGroups']['count']); $this->groupsMembership = $this->attrs['userGroups']; } } else { if (($this->dn != '') && ($this->dn != 'new')) { $myGroups = objects::ls( 'ogroup', NULL, NULL, '(member='.$this->dn.')' ); } else { $myGroups = array(); } $this->attributesAccess['groupsMembership']->setValue(array_keys($myGroups)); $this->savedGroupsMembership = array_keys($myGroups); } /* Roles handling */ $roles = array(); $rolesattrs = objects::ls('role', array('cn' => 1, 'description' => 1)); foreach ($rolesattrs as $dn => $roleattr) { $roleDisplay = $roleattr['cn']; if (isset($roleattr['description'])) { if (strlen($roleattr['description']) > 50) { $roleattr['description'] = substr($roleattr['description'], 0, 50).'…'; } $roleDisplay .= ' ['.$roleattr['description'].']'; } $roles[$dn] = $roleDisplay; } $this->attributesAccess['rolesMembership']->setInLdap(FALSE); $this->attributesAccess['rolesMembership']->attribute->setChoices(array_keys($roles), array_values($roles)); if ($this->is_template) { if (isset($this->attrs['userRoles'])) { unset($this->attrs['userRoles']['count']); $this->rolesMembership = $this->attrs['userRoles']; } } else { if (($this->dn != '') && ($this->dn != 'new')) { $myRoles = objects::ls( 'role', NULL, NULL, '(roleOccupant='.$this->dn.')' ); } else { $myRoles = array(); } $this->attributesAccess['rolesMembership']->setValue(array_keys($myRoles)); $this->savedRolesMembership = array_keys($myRoles); } $this->is_account = ((count($this->rolesMembership) > 0) || (count($this->groupsMembership) > 0)); $this->initially_was_account = $this->is_account; $this->updateAttributesValues(); } function is_this_account($attrs) { if (!isset($attrs['dn'])) { if (isset($attrs['userGroups'])) { /* Template groups field */ return TRUE; } if (isset($attrs['userRoles'])) { /* Template roles field */ return TRUE; } return FALSE; } return FALSE; } function remove_from_parent() { if (!$this->is_template && ($this->dn != '') && ($this->dn != 'new')) { /* Remove all groups */ foreach ($this->savedGroupsMembership as $ogroupdn) { $g = objects::open($ogroupdn, 'ogroup'); $g->getBaseObject()->attributesAccess['member']->searchAndRemove($this->dn); $g->save(); } /* Remove all roles */ foreach ($this->savedRolesMembership as $roledn) { $r = objects::open($roledn, 'role'); $r->getBaseObject()->attributesAccess['roleOccupant']->searchAndRemove($this->dn); $r->save(); } } } function save_object() { parent::save_object(); $this->is_account = ((count($this->rolesMembership) > 0) || (count($this->groupsMembership) > 0)); } function prepare_save() { parent::prepare_save(); if ($this->is_template) { $this->attrs['userGroups'] = $this->groupsMembership; $this->attrs['userRoles'] = $this->rolesMembership; } } function ldap_save($cleanup = TRUE) { parent::ldap_save($cleanup); if (!$this->is_template) { /* We need to give an array which looks like an ldap fetch and match user filter */ $fake_attrs = array( 'objectClass' => array('inetOrgPerson','organizationalPerson','person'), 'cn' => array($this->dn), 'dn' => $this->dn ); $errors = array(); /* Take care about groupsMembership values: add to groups */ $groupsMembership = $this->attributesAccess['groupsMembership']->getValue(); foreach ($groupsMembership as $ogroupdn) { if (!in_array($ogroupdn, $this->savedGroupsMembership)) { $g = objects::open($ogroupdn, 'ogroup'); if (!$g->getBaseObject()->attrIsWriteable('member')) { $errors[] = msgPool::permModify($ogroupdn, 'member'); continue; } $g->getBaseObject()->attributesAccess['member']->addValue($this->dn, $fake_attrs); $g->save(); } } /* Remove groups not listed in groupsMembership */ foreach ($this->savedGroupsMembership as $ogroupdn) { if (!in_array($ogroupdn, $groupsMembership)) { $g = objects::open($ogroupdn, 'ogroup'); if (!$g->getBaseObject()->attrIsWriteable('member')) { $errors[] = msgPool::permModify($ogroupdn, 'member'); continue; } $g->getBaseObject()->attributesAccess['member']->searchAndRemove($this->dn); $g->save(); } } /* Take care about rolesMembership values: add to roles */ $rolesMembership = $this->attributesAccess['rolesMembership']->getValue(); foreach ($rolesMembership as $roledn) { if (!in_array($roledn, $this->savedRolesMembership)) { $r = objects::open($roledn, 'role'); if (!$r->getBaseObject()->attrIsWriteable('roleOccupant')) { $errors[] = msgPool::permModify($roledn, 'roleOccupant'); continue; } $r->getBaseObject()->attributesAccess['roleOccupant']->addValue($this->dn, $fake_attrs); $r->save(); } } /* Remove roles not listed in rolesMembership */ foreach ($this->savedRolesMembership as $roledn) { if (!in_array($roledn, $rolesMembership)) { $r = objects::open($roledn, 'role'); if (!$r->getBaseObject()->attrIsWriteable('roleOccupant')) { $errors[] = msgPool::permModify($roledn, 'roleOccupant'); continue; } $r->getBaseObject()->attributesAccess['roleOccupant']->searchAndRemove($this->dn); $r->save(); } } /* Display errors if any */ msg_dialog::displayChecks($errors); } } function adapt_from_template($attrs, $skip = array()) { parent::adapt_from_template($attrs, $skip); $this->savedGroupsMembership = $this->groupsMembership; if (isset($this->attrs['userGroups'])) { unset($this->attrs['userGroups']['count']); $this->groupsMembership = $this->attrs['userGroups']; } else { $this->groupsMembership = array(); } $this->savedRolesMembership = $this->rolesMembership; if (isset($this->attrs['userRoles'])) { unset($this->attrs['userRoles']['count']); $this->rolesMembership = $this->attrs['userRoles']; } else { $this->rolesMembership = array(); } } } fusiondirectory-1.0.19/plugins/personal/roles/main.inc000066400000000000000000000015551304016502700231050ustar00rootroot00000000000000dn); ?> fusiondirectory-1.0.19/setup/000077500000000000000000000000001304016502700161705ustar00rootroot00000000000000fusiondirectory-1.0.19/setup/class_setup.inc000066400000000000000000000226441304016502700212200ustar00rootroot00000000000000cn = 'fake_cn'; $this->dn = 'fake_dn'; $this->uid = 'fake_uid'; $this->ip = $_SERVER['REMOTE_ADDR']; /* This fake user have all rights */ $this->ignoreACL = TRUE; /* Initialize ACL_CACHE */ $this->reset_acl_cache(); } } class setup { /* Number of setup steps */ var $i_steps; /* Current step */ var $i_current = 0; /* Previous setup step; */ var $i_previous = 0; var $i_config = 4; var $o_steps = array(); var $captured_values = array(); function __construct() { $this->o_steps = array( new Step_Welcome($this), new Step_Language($this), new Step_Checks($this), new Step_Ldap($this), new Step_Config_before_init($this), new Step_Migrate($this), new Step_Finish($this), ); $this->i_steps = count($this->o_steps); /* Ensure that setup is not reachable if fusiondirectory.conf exist (CONFIG_FILE) */ if (file_exists(CONFIG_DIR."/".CONFIG_FILE)) { session::destroy(); header("Location: index.php"); exit(); } } function execute() { /* Display phpinfo() dialog when $_GET['info'] is set, * but only do this, if user is allowed to use the setup. * If setupStep_Welcome is_completed, we are allowed to view those infos- */ if (isset($_GET['info']) && preg_match("/Step_Welcome/i", get_class($this->o_steps[1])) && $this->o_steps[1]->is_completed()) { phpinfo(); exit(); } $smarty = get_smarty(); $smarty->assign('usePrototype', 'true'); $this->o_steps[$this->i_previous]->set_active(FALSE); $this->o_steps[$this->i_current]->set_active(); $content = $this->o_steps[$this->i_current]->execute(); return $content; } /* Save posted attributes */ function save_object() { /* Call save_object for current setup step */ $this->o_steps[$this->i_current]->save_object(); /* Get attributes from setup step */ $tmp = $this->o_steps[$this->i_current]->get_attributes(); foreach ($tmp as $name => $value) { $this->captured_values[$name] = $value; } /* Set parent */ foreach ($this->o_steps as $key => $value) { $this->o_steps[$key]->parent = $this; } /* Check if image button requests next page */ foreach ($_POST as $name => $value) { if (preg_match("/^next_(x|y)/", $name)) { $_POST['next'] = TRUE; } if (preg_match("/^last_(x|y)/", $name)) { $_POST['last'] = TRUE; } } /* display step error msgs */ $msgs = $this->o_steps[$this->i_current]->check(); foreach ($msgs as $msg) { msg_dialog::display(_("Setup error"), $msg, ERROR_DIALOG); } /* Check if step was selected */ if (isset($_GET['step']) || isset($_POST['next']) || isset($_POST['last'])) { /* check if current setup step is completed now and activate the next step if possible */ for ($i = 0; $i < $this->i_steps; $i++) { if ($this->o_steps[$i]->is_completed()) { if (isset($this->o_steps[($i + 1)])) { $this->o_steps[($i + 1)]->set_enabled(); } } else { $this->disable_steps_from($i + 1); break; } } } /* Disable all following steps, if one step isn't completed right now .*/ for ($i = 0; $i < $this->i_steps; $i++) { if (!$this->o_steps[$i]->is_completed()) { $this->disable_steps_from($i + 1); break; } } $step = -1; if (isset($_POST['setup_goto_step'])) { $step = $_POST['setup_goto_step']; } if (isset($_GET['step'])) { $step = $_GET['step']; } elseif (isset($_POST['next'])) { $step = $this->i_current + 1; } elseif (isset($_POST['last'])) { $step = $this->i_current - 1; } foreach ($_POST as $name => $value) { if (preg_match("/^step_[0-9]*$/", $name)) { $step = preg_replace("/^step_/", "", $name); break; } } if ($this->selectable_step($step)) { $this->i_previous = $this->i_current; $this->i_current = $step; } } function disable_steps_from($start) { for ($i = $start; $i < $this->i_steps; $i++) { $this->o_steps[$i]->set_enabled(FALSE); $this->o_steps[$i]->set_completed(FALSE); } } /* Create navigation menu */ function get_navigation_html() { $str = '

    %\bQHei;_?N5$A?13>uc?ftT[e81p>cP,3GoaV/_o:S^qj_D9ZBKX(X\q<5K[B4Fq`H,0QI99'l)HBTMY2G!`HAmE@^hTt %ZZAO]BDR&\:"0!?9fG_6Qs040P0lWaRBiM"\XAEeO^NGgkEiIcVZ5D8rOk#p)afaV_#Fs69MH@a;Q=9p=8mDaEb6,N#h2P_ck&e3cX`9[gjZ;fRoDWZk>N8CCNeps_]p!594CAN_l<(:iX)YO6E,\=ieHNh2\>RXAVq12Zb$V!drFc,iBf#[lfo %U"sd4MHW3u76"_EEEoU.;q:BAoC7K=[t.=1WHq@$_q(L;-&[0m=!tN$@/s8DeV(/Y`hs(g;SfBQ3(l>U%lAQ<$/VU_LRPs3`J^pu %VHD@([(*L8;0NpmG],b7T).7lHhu#d^$(k4F-0U2,W24@`:TT$Skas+:IqR^C0IC"GbC's;o7]I\JMR1LS'<3P.>Z*drPbf7A/ldG174=RmBl?UKuoEM3M#$oenhk!sT4n%+&>`*Z?k'nGH:GlboSL?OA[q#n(`*-8X]$JIHCc=2*k" %:bG,ni$$r[&XB]VQtX-h8TV]sqrh*rarr%,D?P2d]D*sd5g^QO^?s3n8Sia5_.W7) %.7I+b,)Q#J3X&W;ReD);8'No,p)J^*pGOq_le<^orjo3I]n&U"`02*ia+,=.rr7$Si"Tf>N&',/ISLDe/'oMrc!?_U%UEcok/c6&Q-rNnbIr1ONWqYqor9oFD4-qlLa7\<=rZ/=iZ7S5hm_aH"U=\j)=;?cCqArM..>/7MhSQTFY'*; %k7&S3HRZI-J$PLu]&Y7(DD!m.F"jDObH,$jhIp'(!H0Ieo02RaF9=O+eckfTp9uAVK>#l(7V,9o\nf@=Xf>=n[j6-6jjp"HIs\j)d]`),0e$+/1Rm[L)4PT%#YMR,u&mj;nf$U!%@Wsg=[9Y!)hBJdKiY!f?imlR:"c1AA<:S=#ok<<+X %VXdLTX..i8qld$Ffp'X'ITkq,2/1q$7:4%#^/%Dj??=Ja-g:ZF7KRIDmGn1Q924^dQU72(W$[XgpfqPOPTZSU1"MgkTuupbHXU5T %6`!.H;_"FsT+nrVI86tQZ@I&I\bRB_Ghd)c7t`dc8"Q#Z?Iomt2>VrJdsZN?\,oKdT9&`D&Yn<;Bl!!LAaE8R[U6a2XdAt?(HXg$MTa*F.gK@m%LW6IN*CH`RmnYsV"Ata %#ljl$F=%RP<=c%tR[Un`p>QIQM7;]uKb6u;&`^TC,U]W>f?\Q6j;&aoTotl@,pocarj> %+\+DX4@I**,,!&Z7MPZYPFoPsf1Z09'cQATAm;e"a:'rFgq'0].O11MT'Q$;D5Mi)CO'R1bPo3`A\i6gj?!!judn)^sF;5hSk-YTA2^nNIh0rXNm_#dA47B6)\nWE7V8mS?XFU*"*5hpb38,`'f+mGtA %Q32Dk*EN2`of:,836g4%ECUScoRC7O:BFYDKPAA`^*!XSHM\aQ\iYM/:W/[q%;SBb %$)`M;9ln[4-?deG=$D3^i@XZg:4gka=b(s(2U+.)Q`ukqB4T-/gX85`iA@cZDoE.pB'+2!CZg=7#m$):"^:@2`H@=]T+HN!B]^;'MJYp=74Q,X"Rt %Vqo6ql+6;*Q*i.n!n=i62-%.P/FhP=emXr!G:;Y2*Gj&f2:6gjEQIe^mQlbEi %UGq\"s$qs(fS=[LpKMS]CrX^DHclL,'VhM*AiO1]..'<"gHLUc"Ct>Qg\k#s%d8MTmO_qSXmK5?Uao2nP'Ek5L"";fQ5p.!Xr8`8 %cdt,":#V>+pZPV=-8TpDlajeV"3u.%'(=!7iQ(G(oDg?IU;X%"''qib@/aDte$++]i,5]X^m/eT11:D^#L7>c2p6JMo,GZp%\c.: %Vm0/RJ70Hjj#nlVFu!Y/pfLJ-*u_r*.uH[Ig40h(5dj\541Uh#\UJQ*-7d#U?EL*.oh5QR-_F..0'>Y'1+gSS6 %#61$+f$?S\h`mi_5-:Qt?0D*7rt4#V*)@K^GWJ:L]`)I92;,PrS?jVfT1,oHldj1#"JrYu`FEGDI5Y+I3_uL7)60Q61sN+:?i'L] %T8k4t/*>9:[k'>`d1HY3nYnRg12j2US"LeXo\.bgW'b^[_IfhA6abk<7b*(5+nXT^@]G\:`'Z,)U8nJ&3k[=9'b]A))i\1!c',;h %%?j<2i7g2RhO+E@)CcE,80*5NmAH(5`tEhDh:+k`5-2N+9k)JGMt9s2#a:4MCHb7c!["$PUV"4:%[JGo2KtbX&Di?g^lSBeI-]YX %pJ$rHWq=T><:?'%QKCSMg,lSgb7AKr(rX>j3"Id2cSVnL#6m5e\"On@hn>!7>kS/>1X6]LRsZ#81_FiZ+Pc/Sb6E`m[Omi %9Yjd8lGi=-2rc%K`AT-$&Tn&a&8[*(NoR]77aFM(Oo_ms$.h2l47kjFCI?NTf#;p>pRi[j15AbgbL>SKl55PC`\rk9OdA$@-bP;- %`\h]#.304EOU!ZgoqkKH1Yh-KE/0ZGRJ#4q8DH8Y&#r@l4286ord %5*7Y_?H2O*qT(IB66Q:C@DQP-U=d!ggZ$ai`kOuSm-'K8Hu/a`;Gc=P/F"+ %_"cL:>(1eBQI94,II^?PRsp`K@4bY+(KD.-S6qR[]/tqnasdAt/WLISmR;t[N=siuNV':%9P=afn;6G\&&3Kj@Bck#VPZVbODt%5 %H?s1fpe^(g4B:iHcD5[)X1NdO]%@s,=iRLj'jFMB:fF#n'#'MX_#93_OcJ(dbn6HT97Do/1-_Q28[[ThBe3;mlU-UX$T3ceB=fI? %r?k9q5Ik&*(-PO"HaH-[cS,3u06cNF7[pUYRXnY%8Z8r\/Ubbc77OsghR]/Q+UXAU)pNH<(F2[9 %hSP\C+4hJF&GkmXD8;@A!YJhNcQK/8C,n&n'UDUPaJY<%0?aXOTQY\aH=e;M<:pR?Z$nT.S5YX*$YMKK3CoO4(&3#Fm[Bq%A*_.q %S5uT/g3X0A]nWq+epGB]q)j`!P'U%:eE0a2Ed^#2)^@+JMor='rXgE0HXfq_-G3n5bsmZVaUn!OtFTX3E-4d`*BW_=t2ZTIOJh$ %%j,UJSW:#V\%Icg_'oM6kQrB&-OoZlp2gs5"kZqQZ/Pf`* %P=boJL$VT.G>@Q@:=]": %4l91>7j>L+'eVAf?u<$qct2rHpP)$W*orfo0e/K_0mg0i\k=Gb6;>:)fC`c;[`f,8R-iqP3^]m<7*P#K2c-7d1[QtUC=>.D?!9+T %;^YJi9JMr7Ls9Q/'qVcX\#;pP`EGD*D,1.2T(')`la_@S.mV5%`IlG-"L3lY)#&u:D@*;(b0k\8=EsKf+.jICb49uX=S^mR$cbnh %ICJD:ftN^,lLZnqD8N5?B-[iJ9iH(XTBV,Cq-/H%A:^l'a](_3&$>r9F1%g6g*)Yp^/^_a5eKiL9t2&7f:MMn]D)!'K48;$Q'tNC %l4rC_23H@*5jWA2ClG*Lk5Ek2gH2u/BfA?$nXIiAC6Bjp2V:4V'>I`WO6f4,j7?fr9D[ecZc<[)EUOC:A]@!HX, %=7:IL=\sLY7m\p[DKYt9/^?rf%Ys*pOIY0%\i:\+'bXYfc&/<;Fk+!E1cKKfEO4?.)sk%_s)p9A`;8ujh">KfPFm=5b1].>lJ)Cdo%]n,.%VXNA]VnYh=Xh3DYaPag&jk%k*N,@HJ6RR:)cq.Z0W+_6`ZKY %_'cg_RS=gQ^HGBN964IdW7T3@i9dAeXb_5S'-Yi5'RbOB[VM#8bXDpia&*h11Lqf0ZHPpb&;I.&Nm4gDjW"WhaWH*]?!rNr[%'1&U77RoY` %oP-QJBR/KZ'k:cjD[!;9K(P;Xp!f^6"T-j%cuaDnNA.n$r]_bi(lbf)]&$:e:iM.Ql!6dbX+q,+&g;<=?7?=kI_cf8kutd,DW+n3 %^\b?kAWq!N#=asE$j*Q>t2*j6u"Q8nRn"fEeRU+m+Ql<@dSi[*/j`r %8Um$J#GP>.1p4G'Sa%JrBq3q_UB-9^T>S'**BIVO\gu./jP%@jKrjO:nMU7o+;G*kCY.,lV@]5Fk[(R*s,r`lr8(Klr]7-]?scrV %>mOKJ,MB%6BIi$pF!Bp2:f#"V,p'kXi)H?UM((TPmIFW)0M.D*F1@jt%GZ#;Dgl#]*)Y:f_CYX=nN%4*>p=[MV2;af#P?\T`7!$O %5c&Q\F2.TH)nqj]T/VC5MC&f.P%i=;ogaU4JbOfWcDP)DrRdY?a]2@Ik1e)P?ol)%W]?5e[?<,%Ki)qM/*?c>g.nR&5,4k8lOQnc %<2=F[s7[?g:C-\D&>*"'TL(*05YVAn!Q'=H#D5Bcn1PVdW]0UpcQEs5GE7q9f;VAmAlP8NKU#P[##1#LO[o6LT!9?eoWBZii&X<_ %@tF'P=#^ndSO*QQ?i2[f)s+Y7r[JDjX"JZH@HH1q7a$&)O]BlqmeE_o"(5:t@.=%`?lICor-Y8H`C:56GQqeDu8 %1/4ohqe!$!fH&f^H$as0HJi.[3"VJu\tdjp,Ei&>aEe]aNTfk''_7%$&t%WD3+J(Qb#SW&84g.cdd^UnSp/kQT2@^91Y9-Y"k?kX %Ll?EqO7bKtr_$GN.FB=OF8^06ZFaTn<_jU0!G9AtWaul).,b;k&G':3a73?,8(,Z5UY$29-JH$':is6tkao]/"2SJ;@OGEF1ko/s %2r:8`"%,^MOZ5bksBe\,Hi(VL*rIKl5S>`G2tFSWG:fPM*_ %IiN[#Q?Hk$[(q!l^^FnNY+6VD8,r@%kg4::c4rMr`8o]io7][+bBTtDOqf&>lSV3NHP5r^S>sKMoP`#G.U(A2jL!etlK1/`ns$+% %lK>_5g!CH^*EY0-nnUMKkID38m5*@FqpO<9DL"bVIjBXp<]R`2FWNk1S6>,!^8!_p2$SlKcf%VP96G[6JeE$:!]n-6@]:i\\f3I" %$-TEAlg8%gfl0TabL@ma2+VAMQ#UtEP/\Q9NqugGb$'@O8o%GkIlmsj=YU^*R0<);+mT4P %bo9b!*m_r`nd/qB'XcK.$^aii9:P1AA.N#Yr[nh#P^JJ2WXT`Y"_J"3[u8Tq<56DB?/KW)lYIn]c^:\m#$Jsgdbp;+OF %<-giR74-DlP_a@!QK@M.Yam\T>1kaD%T-;kFj9E %(2Rp::M:F\HFl0g5Ra':h?2sMP:gRMAO7n-"N.\F+VR<[$dKcrl`C\8Orq8I_$kIG;W:B:9@oDfCMVPm"[tY[)It)fO4rc*aA\q3h6Y=ntY)JA%CC'8R:Pa*g5phN&(dE^chZ_Kt/Qp)6$;^:bPbn*Vf0]^=RH(m@_q`iu/i12AC$;)X,m_ae8 %;2h5n,D)T:,tF<^pHKl#7,D$Ti)dtE?$.7qG9k$UmCRB@IS&Zc7M*MTMGB+ml==V<;?j5[nJ.1'!kG67ZJ7U3!u0\o`Rnr$%&-(' %Hn6;Y&aREt3VT[T$c %(FTaS/u3X>e-$A:b&d,HH/*'#F=hjt8E$p^FU(r$6o\eX35'.BQh&05'D4p+&jmjD3*+A,SHnmoX63&'OZjZY%e'3,$cRMXg)eR<).LFJIC+89j!`EI/M/0%9#-nC6bcm\hjsU]e5S.^Ls=6,!/# %YZWq"-Z;a41rqN<1-?)60)Jq8Km;P%"G&?CY?Ane8*)AiT//5PBL19kRbRZM0^PJ0W+WCah)j[C=A5pC"4HRC`ljIVClAnM;6T?c %Cand`6a9#,iTJ=WY\?1`%J#j&G5q6<@5RuVg#\dGpS_ItHlA8/;Z7Zs+dUE*S*K+b,;Jn-LpQ4<4V2C;PZ?kK>li*?Qa:*hp]ASg %^o)MD?"HbLC&_=LY-"p&BR0h?U[&bn7'rrR)Zo'QOo1/79G$0OFmQpZ"d"0!OI>!`TuG**A&R^iD9LjE]?%HtUdhn*oRN2?h;N@'.]@*RGZMN^j`eX9K"?FQ^Y`>>o>P;B7ap;6-fe?WRJi]RPnO5E:'&/L%,JeLM/YKhR"$rdQe!R?7Yf6+;NRkVdMm5Fc$*)j9`KJT$N %+R/C"o;In9H.X+CgR7Q]5J]Ol&&`0"BF5[)'%F/TA!ZLdp+W=t=ekI:E0f?`F"IF-*p,Ro;m!,m)"cA>E]@ujHR>7pD*i(BO6ngG %]&2/,ploOKOh6d)8\C%Y0nk$j_G4"#_M5r2e*';$.BkELL#Q>Fl^?6B^Js\6:N;&pf"EkM:HR#'7N!BD[`NN[nt5DNB1E2+7FSRu %dHhUmU)[\2NRqNBf%sVZG,R\eA!@XKjH/1&ApIlH5qlgX.#u/lan?WgieeB%QaVYPiRkT:LJ&:(T4;/gKs[c%)iQhAP)!$sG)`"t %`/9"rrOO7QYh0R^':cqjpcP]qKTa,T`k9S$"'OD!OMJ[QCDQ4:K_;ndb'.o$Yfb5@fbR5b&bhmO^hlHIYTHnlqrS8.MtSAh$ejkO24`TO3oS7P=i9ffAJ,h4N4gF;!eTe'1),#f%,7>Q3AZPB1MeZ\K)i@ %%qmL5"bXq?XHEi6Zn"]C?\c5J`Y&-8^08BYkC#Hfk3ODd?J1J'=P3Mi2/:O%?R&t.*N0X+m#5K#hQa,/cTZl"CoB.dZjbe(jl25E %:`'tR$oJW!EckJ[&e@#3-Zc7j9-[#G)GMC77cbI-giK2d`EXFHA+DJR)SPkuGtfr;ALFI,;O&[\'VD8aZ6%QX;=2b^ah@UkVWLGV %d4SUShNs4tN]m"E$7UhsI$t2pV+tC4Zn'mB.`d(trWY!rn5)mMJ'#S,9D,A!S"u!Nj852Ds(+1g@PHBH,W[ %&Tr43i]Km>7Gb6Q:698)KiuIA3TVL#>`*8M=+=^] %W=_gk3i?q%bEX29J_Uo(;%j(Q8u`KdmIW$9$cV=F?%8?1H0Ji^6_&[L@BNE>0T*l@&8qf5 %W=I;G=Rb[i/f_g"K-I+X>l5+-a(L+&d7$B<=fhXYC4Bm-U%)1l0]=+bfC,6t*m-1Or>q2i:jBPaKV(8f.0.R;pm>A7^'1j=31:np %4d?1H;YGZ_L8&l/KJIO)##9nV]D;]9lM)4XK\[O%`R^_NfsHf*baM"LNG_i.?$9^Gc]cBn3s@]B>8<;-24\:3P[\Vr(lTI2DSim/ %06rs8k5ojuUSO]MBN_VDoE%!Y$WX!Tk;3_Cd;q %9PF&(LE#mY3"Kkf&686M\5F"!&"_KrT$)6\=K_XWK:g@3RWaX3E_=7q!RPZ;l1d:J\uZJA":1YS4`,@chE,Kdd&n0*b)2[R@SQDSfirr.V_sbGb2Z/bQ5#S2P2fV,fQamJll`T7?=/'FHW(]7Dbj;aAnLoth!(jEWpaL-n7rhkS %N>Kp!>!@<4aiteu1hFd7L;eIr2b\5Vcj_Y6$MqF7)NfZ+hqfV/n(1$*j#Kg'2n8rH'iD:':UtlO'_sK%KTMiNXe5`)!L:&]\SYM#Z*#m)"QRe7i*FNU4SU:L<#:`NKYS9`HagS$MD,K %>m)/pM>E"AJP+4Q<'"#rmTXFbL]b&RnhWl8*f4OD&NA3t@Bd#)C--HNT%stR2!=1oR7+]TlW'-c"VCGU-bYG_r*mn[ioeph,*t(% %BcMckr\Va.h.hLpN.nucN6LceQ(#XL'tr-"L:L4M-lF7m[>(,"nT50Kl-6/T^IKl7dVONA5Ro,.!,dEH-,(ZpYPTkW4pRSu$"rHJ %VuHQ8X,p0t"osn#nWVZMON>SIlS*Z[S#%riDO/d)fik"7HQFlTa;._Vf%:aVK]Q1Dq(OeT)SjCLA@JNc'dip-">KnlAV:/[fm/W+-TLjG`cm^?fX:+M%D/8) %J!8%iYbYjt45h:mHIRtbhbg.\9U#t5L(u@:&^m=1)Sn20DuhC&X;'bthee*.>%HJ\NP`:X4Hu9[)MqQgh)i>cpG!W>cbs+hksFm6 %K4T!>'FN^lG_/T7?/O)C28F+-1"NIc'Af6I9n,LiB$@F;/UYc$K,/kBb<+^;C7,L72d[j3m!^W(;"\n<4HZf[gZ!@B?^JqXKiQfR %T-N-r?:%`\*39uk."/b?*/IDjos=bj?V1,0fSJCo`SO]D4@Ilils;jiTg(-&CT#Cp88l#Om)s+m[$a%l&iCbq++aFa`!4j9Eb]$5s=W?dc/!9Ig8'5!.!5(/G;V %96V7[nOk$dD@p;l'`:&F1QE4f"u[F&!m]5F[k,r\I'>qjTXUrG=lceVbQ&ZK-:.;cob1*0$a[ZW-,bf/PSDeIgS"!,lR %L*NDh!-l\oVBUaJh$Sutr)QQnGbnu>$B[6&\'*iW>U)/o"5[@4S(lVH[lf;GW:"7r='a+jQWC=`)-WGoL8$/[oiWR?"5`pNAEjP; %4I4r;fsX;NohQd[]`Q+.,qXD=\#9/ZLOkd1]TV-3XO4ieCd)hQ[AD#Hb@oOQptCs<=UZZ7#R-g4QuX>d+GtnE)*.r/0PU@NU+k4b %j<.C`FH<5fqhT-])\^U1<"=)Mf):S1C'IJCP3(,\Tm4j(b;7e4aZh4FeA+gahi2)8jH)A3KqpFb]&BMS2u>>s %]&+:0erqAUdiJ+[lki6h9@d/b3!`r42rR/1L=WIL(gq4a"Mt%SI%^<@5rI7C6,L+f?5(NK-ip.*Tl6s" %HOCi/h)j`gf,,TBAh"5Yk3LrZde)J.oZ*56C?i9'o5YP,d`#;jdPkt3:s$g5G>j=(GsGZ7/lHCSPE2Be%&KbVr1a>iJ4#=IbXS]" %aM7]fcgY#-3YUWo:>34-2o2L_lK+?f8j,k.JrM=USI3r.e57?R6kab.?es0Qn#5Xl8>b^o %2"OYG4k53?_>?/bD^6`@jU)>1bI8<&`q+VunN:nuGVAMN:N/1$#&E*H6>R^:-RIMW4$k4A%2VA4@V#o*1U>9qA:mh?_jaVd/p2=) %CU"o3RDG.(CFZ-lqK9+Z+SALgcDYRM$QF@`!_!&4]QFF-RIN_-06O:8D;2)%&`(8rU*S>kbF'u:,PcW^kLi,D5md>X*@fq/&KeY.MeRZ][XVD)n.gKgG&/mJu&Re10g\a%9D;)H9K2s!CF]UFM`h'/otNp"t6[gfBHA1fm\>">uCN %MSRam%7J1L\fI27?f4%]oi'NDgs,c9nGU&3g[e,n1io^FIO_h'A:GaVtIB?`j50b;g5!Qp4r&^;2#:-)/dP:UaIR5WI*57<[^.*/0]u_s5fRnN.WGG7;/UBn7JQOuBXI8#VN1QI>Bb1(H1D[hfQ=a+-k$c_4UF1bMbT=U3-4/(l;YIg96B %MY-+NX6K'#F(.el=a0"%ANYJ?iMUVYrK4lJ@BW[obb4SP-Ea+2$9M](ACAt\3hggROo+A>\DA2cOQ-@a?*QUiLas2, %nC^'tH1pX'\74X+$)"/77-VrZV4,BeTX9*XG5tVTR3#Od_Dn,bIBSS:5,"Pdh,Wi@Q4-^\n7Ur+;A`OcWttUg1F5CBXR@qSp.te2IX^+t>[(![.ct6b-ok5V^D %!l`FnS"8MX_^&!o3"%F=VJ.)Lh+[`!C5Nb'LVBn_#gdm-].e[1\)=ORRRVf;QV@r@TW8OGfW,Fd=*s=,;OOgHlRg %+3O'ZmWVcVFIgi#`8'4@"\:p,m\Ve&:kGbe;NhKS0!>*].@Y_.CL"VUoBBJLb\bhV/Qe6N_r;32A>J'l$$Y`FM0bQ1R6 %HoAlJLk2gU`E/rEI6q/=<):Wil>9m,8bb>kf*Ne4ghc5Zm);`D6NLT*HcsXH_B5skbAhspq\6-:Fj[tG^D"=PJ);9qbcG(g.@-S76ed/%PU^BA_Ks*4!&u\?Kfp?mL)Lm^Fm33#jDR`<]@V3DHNA2Qp6V %B&"n0TOa4C5#^f5JFoE\PYpY4O=+:NOrJ.gWi[IPP'pC)Y@7c5p2qRBfpAcXWg1PDeY.o"^b %)c*TN/>MGM^mh,HVru6m`O9A5Bl31eSQ%uPD-Lf/FWmaoleX_H_H1]435d?mpZ('f`W-P8QcU@U-$!ouqi/t(P[L?$cJBVWooX@VPgogT*6?6)NW-&K5>O,i)gZW2.)!n7"If\ %&/[k9g;]cTh648LPV=>NR.[O)LZCLsiQ*qGaEoHcWq-M'PMVJPTRW^jp("i?N7)L,!jJR@1HdRW9P,l:EA)IZbPcb^hf'`qQ1+Cs %nTsU/K4\H@f*UmfF8&P(X%%85mUZD)jOeQR4K3,B:Eu_nMW=.?1WoYkX-j?2bL,lDh]@hP/9Zd?GBg`\)Q+S?!8Y.\p\Q:^TEJ7k-6&6Uo6Nsr?ZRd2*g,.IA!QZ[$<%?7@S %puR$5^5j6;9W$u7:uq(r"2^3&Vfi$*UKG&7Wp`dM7>^87(8isIHj!kH[+2Sc85%pGSuXPj$>VrFQ2VsbMf??7)Sl?d08oV@n9=Tc(SN/V/EGZs4( %P#o-.!n'H\MGPJY7m(\FCb=*?\+EhSZre0!.,<&uI0-hCq@oPR]"3Z[W2G@6V_n_'#JmA2g8SP8$9os(HPFdqmY?WC@'q3]`E2IZ %`98m><]*nO+oLO"Hf-Mn.i`GO`u;'^$QVGrZ.Ah8?EQ;p>cRB8Bq"("2mCSGgmY8CDX %h^c*G6Mrfp`:.IOg,HQ>TqWQr\(=&ZlPVVd"N__tJd>97X%_,k9R)hp)NGpus"d!skfaQVLZ9`V3=H:?F,#ac.S9I)s"W#G-1@d, %:%.`;Te]!Z1MJDnT:eK!"pZ"Lt&`gP*>9t5c?l\5o13>MM*,(@ZF2Kr7VOjY0>O']!nR]cW?f9u#0?*[- %0!ar!kE\-UY=2+?]CGM9o$&mZYg=!84(=T&jPPN\qm7U:_f:0)VY9VBQcJ`0GjNd_hj']$NXh_gqb%p[Ks1u+*Hpq)Ad5pAn6_do %%Lp1PU%fD^BLPE::G[:E5I%9cA:':BmaS?D?N'-c9TmTP8qbD&XWbPu9tU-ZcKbr-U]q&*OA,F^`Zg%u_"/cLpGKD2ditJJnqMTR %X`VTjhcQ98MVgHF:lEck`=g,a_X&;mKtR*%9INR%^!0\n;cc1T3)2!6&nYB[)%u;WOr@m^:$\npV0uPc:tnacs-"*2*O$k<\k_*M %olgA3Yu@/eEhL6>I6og=;7f]mcooK;Yh?0-J*sg=*&Xa\QdIp=@=\E,TR-&Y5<717F1qmNInY@^1"G/aCu3K]H1GmV6qZtcV6PH6 %o&U.q[\^81=ZAbN\q.nX_R>cI&Ps3,cmN&aJp_^a:O+2Q[_bp\Yhe>mq@B-D%C1A7F>hIe]+WW^aOoi5u2V#0?!`N/f8jFpu/- %BqdYqI>_H7%4Rng^T5eTkX"3bf8-9$S*dZf %?3&ORMI8.Zq*I(9BeS!?"MJ+2_kQdf_;PO;XQ"Ad.jWG6i*=O=npc>h`Xb3:rl-#JQj8FQL\"g9G5FFD1J\_#>hIZHR6%K(XgE`9tL.s)]s7NmCi %9W;.H>UArgSF=ffF_ju$m,CP&gW-_oM(_G;@$oI(C@:aO\q'a>+K?<9Wu=A?&5m>n;S2Y*cuZe\H.5/RX@lOta%RE<%eb.#Nq>@g %E1A!MCVLI?[J^ZI12S4ZVFYu)m"/6l^La;Sf2BCXf&1U4!@=p+WZ^-2Yb*$a[;-C;VmbP'S#j5\ahqr4MOc+e%O7JDQ6Eu&r'YA` %IWr?(\R3(+hd_o7fM1<>"kuedh*A`R(#2fP%E5`1R:HA>)#Mfu">fn9_'ikI@p$CZO-R&AV5$Vu2ig5+;.*Eg36kZp;cU`7UWsbD %S&snaEs4I:7ZM%\QW8!I1h`=SBP-?mJ!uk%1Ld8.4*fhQB?S8$EdN!UMQL`n&,hIP?UVDX-kA8H[Sek6lo*1hh*7>ZH9J.3RToim %Xf;mB_K/eu0.Cl^Z:8YV"@[\@QEN*Hi,2Cg(UAKII86VToZ?t]jje7R/-tS[Wil\s,_9A[dK(@->gG>ER0#nIe_Qp>G6N@EJWh%K %Ztt_M&ibGCQHm\d]D2qki3eddDSirZqNoEf\ojcdMu&(pk+UK0UKcXRQG.39n5#`@;ie'8Rf$ks/88 %@1+.?+75m#oPHe0hJP'k>ShCW7+/(7nIMak`"QDmn5]PBU#`-JQAPj2f>71S)LKCl!!hgOWcUbS05>d<`Z9+fHmQef;]>8]:\HEo %6Sk:<*C8MTJ?'9,pnt;QIhN%LX^dKIc.U]S^4iT+KmKj8SHT!DmVsc5XKPHV7H8 %(9^(CmjN7kZaMO57Rtq:-d-!hYZ!%>;TqudK33Wt30F.7iJ6Q-ZZDug6Ko-kZeX&Z&CE2Q6Kd/_5[Eg+5%3JrmT3";b-SBn>R$pu %J9?CMI\+oYmE1+q\5347nd\\#UFKQf8'3-d'KPX\eK8TBn\C4YHgP$U^YE@+G\eVBG18N%^?Ag%*(u3*I)!TX#p:DI*?ut:CG/r* %2Rmne8<^coN5D"9@m*Z2A&g.'\&:T#j$Qe*df!;d!NLIqAEn0qb[9#KSo5&0fO<9f4=/YV'!:Ere>=UGVtgNeg?:!`0@TkU#3XuN %.FEFcrM=]o23I6r3K'HQea#8%D!aJiJQi/I\H3eF&:TTXnn`V,`Z9[LthF7f9-#6qg2bCpioTUr`C!b'/`];0tOj'M?$g=jgm8'Iu2?Sk*]X/91b %1>$UkAVS@.aV8eg$-r/Q7[W'K'>7sA6O67Ugi%@&F!,KakB=6=*dcLCE$-p%Z;<4PS(h>#8'ng^RTE0=iJdY8p%l\fLGco;De_"< %ls2E+B]?/,K?`q-s7:Y_Qm@NVS=MN,'t@mm65[;gYVu$cXfQS8Fe%cD;)d2"f48h0'd_Vn+Zrc/8M\OcW[=fmW?0i$$]^fWAq3K5 %1d\*h(uIUqbpVBdcj[ChSd[_Aa$QW_oHN9t[c')^hX^E`R0Sm=1RQ-OWo0'+^Ro'O[ai`DdoD#\O/GO0UI[A\4&KcD*ZC_r^OJo, %r3C/5n*$n-P?j;$6'h2c;dC,*.DQG"&d!$D3);'9-1nD?W411XOTsNA%`7G0ba^&4]=miD]HBbN\pl(onh$5RY(W;+rDlFf1J]Nd %Bn)gnZdc&.)X<3jr'eS<]l8e1R]Tc-poI$*I&ramXR)ZrpWN^)8Q,ur7bV!1`fP/A2ad(p-^U549SAD-9(mft\9GmXkoCD&Z"MA- %?k&kMG[K'o.(Jgl8`#WoVTGj)G`+HObseur4uN+ShQ*VUW2?s]5CIF$GV,p^9%n1BFjH[PCU&r/02:)>D%%\\Vq(+Ta7tR0i'u"P %SbLB)+W^.sSD/+UV8d/X',`t;if*ZWQPe+R;D?Y,OrD"Jl,[NY1IH,@O6$4]XAgSV7dX1Lqq+oZ=b\foVnl0XpFsa %(qc`6+JhO4>On@+>'itq1CW!u!T7=t?)HmfiCJUAXhWUWnGo9;Dg$Als-A=qN;g7\A&]aNrQRn%J6.Y3Pc!hh9HZg1J507OZDcYTHNg3pfjE^Ake8V?9bbRS.0ikT`<3B,t %Hf-q.LYCBi5`nP$k`B'Hq8]/YS#bHP!($f.(4X]UZX(@_]I*-q*+a=]]JC$IjX=hU0s]+E@SI-bY?E.hb`L;Q;@+?'ZIM$9Fcmaj.Q!#(l'K?<]@YdBrq4:_,:$9iC_W% %#fhR2_TWLF']h87;uq),e]#TuXJCI(jMp\__\_!bCJ?Y&Flp9<-*T3m?2=8Kk&-qB>UW8E8QVpACheu5\0_<4'4^,=rG\E[WgGIm %h-HYKe@nHi5XK87")(&Gaq;]Rc2A+!4!1ZGAIF.11$_I3eknETNFIIOV^@>3l%KHeTs^E(g4kS"hf[WB4Q0,#Z2:g,Alu&3-0fqb %LFQ$UJ01JI#1_)h%UlBr("^0]Z&coQX-(3>hq'<@=2_,nfs-e+rQ@tS5Vk,CW6I]Ua\0<>kl32W3`.G:#4Am]n1\_2=D']!s %JhJ6ke=1$b^Adg#eV[pR<7.s(q_j>#gGf!fWHsG7;V5ih2$0E<>ta4_,,!cp8<4_W!4ui$?""F("st;I/VIm''^W3>_mY5jjAR9Y %C_L(B&!m2AJp%S6d?a.V5-BY/#,$,u/_$q7d3OD=:bh`j^c<_%X([d^"*H7rib0NeV.Y*I]dJ>Nf-PR3ZN4Jg5r9OH?I,jUj5uau!d.AFQ$RHDYHuG:RN+R*1KR %H:ktNmr_]4nurADGO,LgQqI309U>*Y@o/kO<(kpaKN*aHZq+%<[t;![-9LeZ4[fW9M1[=E0F6;0ME %=cS4T@O\Too[KO3;%eE6bNle;-.kriAhB,!k!0SAkVX2XECI]<[=:5YX*J6m2K?2bj+Hu`X^3F8GK\i!bX%&b\D$1O6u)q:d`B&c %8["i3Na`88,R^G$'R^rk[$2He5]2IpO %%iHL]Yq%[`[2[.=e``tZl>*6^7#+R*Kq]qSYLKp$3hkW4jf7$?7uI`E2(WJs[idX,=f0(.bt'-)^pq(+JTtiPbMbCSmQ@-!@:H^Ee(!3.tRNg/$)F+CAgIfq6?Xk]Wj: %'5(LT5dsZ(gI\[Jj(Pb;EK%:c,'DA^(ONGZ)q9f\4m2eK=2Ngh`cl$%p$o/1n?Y*"Rrj%RcmAW[DSYuT^T/A.PO,er)F!BB]57fRe!NaJ!5[:N!_:Cso4G[io%Cs7-?2CR> %Rj'!rKc?$h`dN*W^t>J1&tm*FfV%.OJdIA1;819#%fof"uAE;$V#300&P26SLgA\8lm\[u`k8'i+L1tU*Z;>=+WmVcFB)7J*.#f;Oc?1Thq %,pl.c^]38MM1$Gm6+odC=n\@goGEnnI[T@^2eo\`((o-BC8@<)p]eE8*DDA-B^5'U>.>PR70KJP&A.n-MZUtST]ac/'3]=[=%4oI %]#`:g=@(FGg"6:g%8%opV4.M\#(Ja^p6M8SPO>$%KHlG9^P0DUg=\ri?0-q#;QCE?SJ+1/k/!:%Y?A*Q21kZ\;ko\/k;]_qRj&Q0 %gEuO62Q$j:Vo"86E&L\p7!fq,,&=Y4X]YU@ho1qWEEG#PT+P2$@M2g1KtEp8>2P'%d'e`X"qgA/l:$)(JQc6 %p4k!7UnI_ok'HBa5=eo@Af6[2nJr"gIZk/5Len9&5apSom@Q^pEC[YoUlemO\kmR?U@[!7K]["(W[BmTfF=._j2ED?b=^B&Uh8[: %K>k149$a%-e$[6ErH.1lR%u5b7lN?VS^o\Nq"$U:"U*Gg=\;kRL#-7M>1^0D,%/62b>mVUbXW/;R)`BYh5EQEg1JU:i!po`=p)(08MBRV*HY[J\Ai7>^61`J0:PWt"dk34>K$gO5LV$8U[e)*tuRVJmk@)M6+B)/RV+>&"4&9E9-O:TAZ/0_tfi.6>OV#c[kP^+01C(sh %`N9.q5"fG5>DSX-:TnYZ!/!g_n>nk)Uo9_qN+TTa%:>W;DMp6:ihon(q;j/]!a1N6V$H*C]'GH\9I>YZ6C[KA02a]QFEH+-OtUs/ %Q4gGV$;jFtPLamTF[&=LND@tUNh+4"7&,R2]'I)/$#?[]?f>A@=iq6J0-t#GZVZ.(a59D._?b2R@3om@*>+=YcG-M92("mskI'7$ %Cu>dN7C4^BQH+Q7YZKWu)N]t+lVsco\XUQc5rlf=M6t %%')V)d7FR"ct5C%#kVDZ`Tp.Lr"Q%*I9Ln&(-:G9PL&4=fA/&YHcNNkId5asB"(F(hL+%!qUpFRFqs5ZgY9D\@mV]n6oGMTgqYE< %ef;BpD&V[T!D`$!]oSQ?FMs %ZVH$;91;;Q`suaj;G$>V(pQBV*%L:/jYC_>j$jLi-6,]jMJ)AQVFjhc+L$2_.b&[0nKTH/uli]Z%'&eKH*4M;M/r9gOG8%L?LWomQ?V?n;&I4t.?bqPrAA?V&-r %mKGV*(L+3N\?g8or%]HH50fF$/fgKhNk83Td42u?:;g(q;'TPrg(h=A8jM26l=UI0&qM4d<&eu]&KQr0#mq=6N/W@&>(h:s0/`(A %%\T/Bi3u8=lT*Y2fmk"tEV@rG&DlQ8VFX_N[X=63D]"HX8eF.,B[XT_akuPLML_3MlP1oq!"%Bt# %HCP0Uje%L8Re@un"bn^'d6rVhh&bBL+X5pjI&PDQensHtI5SKD*rKA0Lnidmd4A3o:'qUS9]:Md:h#_UbXq'pMKYG<0_R?I,Vq51]@4"mo`EUs$*;82;:7#Fmrq7tar]-:Ing"ILA>H!T%e %0g8Y.5dd&i>7o$N^n2SC\[f4[m&q\P%7k^`a',`2YoD6S'-&fW=lKI^J1$Ql/.C>dj]bV!f?qWt)Z<;UmqL0fA.TZp(E2(Ztq;?++K<'?6ohZYUpq)hKkI3-'u?K$Ui#[N(6arbCo*A*DlrgYFZg(f7U`L.D*XVeRc8d,Ak=p8.fWu %;0tie\]4V@\nZ(!h)lBc&SQsbG1P#jXrpHtR#e,JQW<[3\?9!6nnuVSM!%0a=c/TTP=CK6^PGbXl<^YH'*e0]i68b,o,]27&dU])rU#W0"t@=XPu!->#&NiM&UY62WO4XkF7rpD;'lkIrep,V8C6_;A%QE%XZiX=jI&+.K=@BML&P4.19JrsPCI,f %LCi!'clS*B5J?4HeXl!0UFSAqI!giaeAMRFhb%QtoU3M5.sn[tgPO68'23=ON\BCQSZSl0cJ(A8DcOYXM6`M2JJG4EW0 %%24foga``o4eJ,lb;H@?+MIG_Rcf&sKtoC0nZ`RiPl%2Wni?mO@h$c&C*)t>lXhd)2VC'QW/hW9'3mi[d;+X!C`dXIqU.H!oZf&! %/5mi;f!*R!)F^RHEO-5#K\9qap/>n,W0OLabS0&"df=D4Oe75Oh %Qok7*6I4,3_=a/79Sn&$)"t2RbjB8u7oj>"s2q_u5-d[-,@]qN1TA\q6(4oe!KUEH#ggNfr(CC-\I;&R;bHZB@)l=0B),9/'d%5H %L5eL>d$jWm2`,S`.H2uP?#$TY']MOLMCd>^0BN=Um[2LE(qnr:,jelDi3IJtj;-OK7qLF-2Z%7/"mSI3L.-\#.o9lsP>]q<%RM&C %b]S9^6[1U+*kefnF^FZ999')MEFgBNCZPh]-0J/S"nUU8VW7I2%KQ)J10,oXE_VA; %VOd3`KUAKiKVGgOrL0)dBliW;0[CLh2Zlb;Z[!NpM/guMN)<;%jR9$cBE1GOf@X6*\N)V)M^6S)SV$#IAC$i?4%`X',[5`.`l)+/ %9H]k)#Y!&ljhY`9GIFDaAX(Nd1EJqCeX9n_Btcgs!sFk+j#p)+TWS!3D:"kt51lF`qR5jK!pF_sRmnu]L=B7QLs)re'JkRIqXh'<9O:A"\]5M7OspQmH<_65^*H%&p:Xd2BE@,M %;JaGHkn^sEpojuAojg2GN=)qOSlG"^>^6p])c_&2A1Lk=oWS`(jg*dSNQ#k*p#7`RlmEGB[PNe67"kif(X:DVF\kE'.NYLIbsZV( %ZY<O8DFXNC.Y4dN+0(&*"W8Zj$`UDhG.7A@bbg\4NqCW)GI/I4/8_u)U85m?Z5Lbn"Q'#8<9O['-B1Ckrif`c>B#\2;Hb[,I$Ufp:5>3G>H>;bt51!X] %j1`CT_T5qtlknaLM+b/-_u.(o;N:C0`JZD)S""^^3GsIF8L+Q33XXLV. %9Te`$(t4R9n"``oI2%7;<$1`E\669j`$on%b[\:JJZBi!Pra&Ll6eg/S>8:<)l]Q@Nm8AFOrCNnVKmHD,%Xb'6T2]1WlnQA"rX/6 %<-Jo.GQJ,M,054sFS\9lE;#aCQO+0BLrBW!Mb:/E!#sn>Eh$!4NXGKg,^Z7`2Xs]5KZ]%gP%$\AF/7el%C&?mKpk^kLCc=*^RZ#r5]`V'/U^MLp>3*K$19Bckcrf*M6Zhd-O;*o+XquRX/q<_[J2+OAZ=T6S`N1DepboX1ukkj6T%j_)PH4MM,Hn2XgYFo!N]V^:)bh63gU-j)r/@kAjA8'GX %WRSiKRl/1jB@:rVcXu`k#4uV@EuUJD=*PP_&MlKm[6!kg.eltd]"]#(P'3us%:>K[fMtg7@a(f!_-VIdC5*Q\=?S332[)`/NaDWs %T,"d!9'mBQeTVEckU,Eg88bcM'-$uG+7n6gg@^@Pd*r6r36)AUMGkJ2mKsWjK$QF>\t/VprX]iC^9OHkfp9)qq;hR;hT-2N9Jb^N$;K&2A6ceQuVn&?_;WOkFWK8 %g%O-Effe]N>krW0MV@8G`Y*mP^L?W9N%(R(_JqiKopc`Y$V':db`g3Bjsp56^5O#_2;R'RNhT*RG+V"lr7?b0+89ZuOQ9;so:'/8 %&0)Gm#:EN:fo+YIF5ll*#Efnc/9-.`^]M,m;#P+3j %,_[]L(7cYWYkJ-tAmIVcbaSNs(A][Z&PntT"G8MjeS-sO;a;)cV= %2S_Z<-Xf4fVXU=EXqF@kg7ljuo@]M)8t"PXB`qiILQ8dWT,.6?4S7m([Jt`bhW.e&gh>E,J3$L-[UDiTf!R(]H;4@Ip\4:7kPUf@/1\08fq[m,>0HASL]tM7g8B[9t&AY`+/"L4$d?bUni;[.".(LS;gZ1oEdHh%V %7DMe[FYKPZ!f6ipj7Q`!#Q;amo-`mR'X]MHSP`\aIto7 %\C%O\K=]75dJD#];mAqNH20L\k!mNcJ^2Z[T]O,M0J1R:h,#+iD8gR8:>-C52*:aBe@j_#2%B_.`06qErlilia/LKP7mSPWU9!jO'][ %WIFP]UcpgiZ?>jsOWgZ]"]=YpAWX[*fh67JVUU:90b9*=N/gSO&sUaUcC6:#RnJfTPX.p8s1QZn6U47>0n-q1pcB`L6n,A'M'H`B %N"gJ?d.S)!#.l2j_5K$'fiHU:MGjJZ^?JkKXcgg2#,,*=d;uRkX$].0cR"%uc!g:+[aIj`fCA?Ub_*JjJfAMb!l%d<=]9\?<9Tuf %^AOts*(itXPa\3S*5@WtR6'rg&"Gfe\-G2L8jrV?Y]i8iM[$LuhV)e8Qfs.UYJk-Q\.R<9c>i<\[PoRGbI23BQ>mL>M0D?P`ntRG %M6]heBg,U>-MHa(.MdfXE,3eB";[8=jpSJ+peAF=oD'-Wna`T+>3+;-FmOu$.M*?8@e[[;h^9Ph_C)Uh"r-`r[Ys(^:56F4Cs.S* %(loF9l8Qd$^MVat[96+l[bIB%&]>j5EDtTqe9n>i/Z5M6^1acoP&I,N]^+)f6YO]H;WSu=1@V^'c<%r\gIkCX2YoP9Tjs-GoMhS` %/Ae)P4VCmnm9u%G51Z`N5hb'1$'0T_!4qB#?V=uMgpZo-ife7GVJ\@9l`=R4I'.M0R?)Q9<0q@G%`FkU`t2mO[/mJ@%GrXi^A$(]u2spZ#R-LS'V^BSq"kR^Q56FmT+' %^EGN7-GL5u/pTL"VkN3#p,[r#[U)h[MT^Q=Nr.)RWtfQe)5B7+[p77`-!bARI-JtVBR,cT:R2^[97B'ohg+[uYje6XrkXX4V]&2n %o!/*5oD'h$9'j[56p9e7$;BUk%%[QhjU-r=ba?-L)no'6\nO't2QR7AB]$R7Cn*>;W#\pZYitQGR8Q2JWUo3j&9?:.rhLZu2:k!$lZ('%'Q!2Qjm_SHY`ji,dlp>4Y3ahXnM?:d\8369dgiosL@U.efc^I8Y4P\)#TO%+f&+!>4S;"]@3Yc'?.4u4]`Q)DUSRb<>XM#;CPlK%p %aP=s+C2JQsSP^8=453@[Ockg_2\9Z`,B&HL(6m=#i?Z;,-EQep&9`/H'2-(H@>RYMNf0dHaY;j%Jm_;#7]8aPgra00^,B@:Y;c?c!T^)!*FLDc:ClZr3FVo\8g2TdM6op0Fa9g;%94c2cFQM6]?0>d@XtH %VXl3n,RgrPf'ZeJBY9J_I3!C=$ZH2CP"fr5L09d=Nt%jAO@lTtD$*H^1hTe4"?KT[ZKCTJ!,?;Ho2p)iq^`kG,3)TQJ@NQhVfZ$` %*9(NYGQ.6u+D/1A0Q;QM@B@&h\.C5q5T$(E,r %MP@W$,3)%R;`Y`9)Jr;A&U=,Z*;A`,MIC"PQ,Y:t#[NEn.Ik/'WSi'J(U^BnogLe8G=&i\LhbsL9^Q/J"mGL'&1Z/]-,CB:9@]$F %-Ro5@*)kBCMK;mSd(A#f,SDiDU-\p#kg$%B-#&^"hh-L\4,^?&fd7Edlh1%,62n"l1CN?:eb".+=@+ %nYljW0-1@qF,jGENS>D`RMr'jfZ!+X_ApD.>d)>%`%`P2VZ*-l^BD6&KjI7%>PK=+WHD95[!k1aI]]hiM&0L$eXJ\eX^f>LiC>VF %LU$WH:ca"m%u4P:I.6EKq,hl_RLL=]Og%R*uTAX07q5R_\Ye\RkGLa[g`nkL]j>%-fD3Zl$PO3`^O0'F.@b+H*$uZ!O/BG`OeM)'P&h#Wm %%HP0n\W?D%\d?CPh0tpg#sl%a7G/ON`U#Ki^[`(9PQ[cb>B,,E_Wshm0&9Q'*N/ %JbcSBW`hDmP[f;hZdW&$7:ffAI0jh$7a%",K=fT#H(Z?Z7Q#8#'lm8n#+qq4<4?hPR&(XsIm_Em]/25)H#1E0Ah``7f,%D^/,qpf=-(KKQ@jQ*3b;1jN=+;J]>XNN4V;Sq)d>+fm7]m.VJO_:$;=k %E'[_D"Wf2b7r=&/p,SIZNYu:^RkpBLD`&sa`@ZKB"EIts`)Ct%$C9kaN29\cJ'24j=U+XuL*J@d`&'2_7P.O"UZh!hlqHWjk>/_W %d!m3M5Mqa`4T\/QgN)9mJCV*Fs"qMra-e`u'&%Et*Xq0L\+Odk8q22@UC^%Ne9q,h4D&P2=.NAa\7gE@7,3h5/l_u?^V^+CqHZ)+ %j"Um-'4e#Z^s.uJI.q2a]L"HDa?P8ofDe-7(d-#1H.EOJCM-K[`'p9RgU"K"g+2b%49WO:pKg3J2JGR %!loRe2#Gr$O`Ot4`KWL2CZd60\HP,IY(?s*1M1FZJ\!Ss@e?MNrP[uXD&GJE28+-K6\.WGRYVW_h,EGH1#3Bi!"f*MC;V"l(EaO' %h"S\n.]7/q9@uE7o %+Cf&ZrIa3NoT-\D"Nd.(T&Ua)&f9,,l^\`a*Hh*QUce6EKgS'@pXi#/8)P+*M5ft^_lCWE1b'S.<-;LO60agYi?Kb6;dq/DpcII' %>9J,qn_V-PoK:@jBs&[BHZIVV8a]W=;`56:S6Yaia.Y.YZeV4]N2`]q#C=Gc%c-_:[>]bA3;]>LehPXjn(,M1Q>_8n[A,B1lL+biK5fJ-6RR'Hh&%fiWD.im#J7U-Kt>8fQqfp9L6%jB^fsW#_mL!!Hafi^(UuE\^8oQ+O'KI%=`6 %dtZAeklA&n>l`'c\N2J=BCR9FgA*(V1K7m3X`hCiWM92L7HGfeLl78!Dbmgk/`f2EY$C9h:5G^Xo'7pI&:L+lB=@%0\NX@HQ$#Q^ %1!jV533-L))\FO$@;tTB'F\r?K1!W!O)q2@C>W$$[]n5a"\)&1)2'e1hQ07t@i,;RMjADJc1(N_pr6fT^L-'*Tc;?lcj/hX\X:6H %MPq<+.q3Z/!^Y\iXhLWr9:2fMk]l5%^d$k?dg95?004f %;OlJYC=eZ@=],."[.IS6GU-/Af$9o-@0FU1[&X+G#*WJ+HemU]1<+dSD&52bp3]S6jTQp26R+&6?[9#HbPdr@$bKo?ZeFj![RW1] %!N:b9;hmWUM)D$q8^f=V:3QM[XBb2Po^cGN-]#4In_7LZJ\ms-m:eRgQPVIS1*_9`Vak%;VJ>s+2C#&i,>`WT8ku,-GcThL,b&Y? %86?_@Wq(5%kSqej0F65+(,a66[Y@jpRb47&(qh94k`#^,<)(S*U7'erlTni++2cW71_7'E^7Tnc0IY3\/_&?t%="ek_3q7IW*+JJ %aX%B^3f^OUir`5D=_Hi%_jP?i%oHp^)s>WN"[\Z$X[d:h01(5cP+iSLCGRb!LVEpZWY[!DD4&qXoYa;YQH]$?[s_hI2Wb,[P/l[( %E]D(N0,IL@0bHX3_?L<,'JSeJ[7q4r2/oX8Zp0R@i:E"V][O?dabf"99HgTb3N43h%ebM3S%u].f6/qG=!U4h=H[?R'\91'1&Y)bo/oO %Q)2aX1J$:NU'#%87%_++'O&i9kekr"b@PUs^JeNVl:+hhq$;pSh'aluKeBBPQa\^=LZ;Wd&rDAJI. %/E)hF?pgG(29ZK0>,R*bX62hcB%Eu=`29.[.Lim\PZS1+L#4Em.0q?Lc&d6]4>U(B&+urY"Rl#K)>3@A*UHpJ_/&(XAYt%L;*^,8 %9`%amGY3NS"4&J"IL.f/%r3+CZD;fK`l1b%7s!JL6HYU)r %iC;s3T2@.QB"l4DE*s]Y/"JUIKqa`/go!t81Ygq'c0!781t6Nu#P %/C+Klcn&R]%N2>m1<4?MVX!-C4"SMIktdLg'2N2LlM1B0m,;G'H%]K\WZuA[s&q"&Pd<%Mdt-)j'3$!;!?^obpcJA\jS:Pkhg]oJ %Hs_W6)p3rHTPb[bferirk>.r*@A&Z:)Uu?gdWc*"T(`F[%N3%m %f3T]dLWc'2OC9K<)]O>=H)Qi'`a<&6a'TY,=_$G\>W+!7mo$hb28-m63%pR#2k-*I8I7J.-G)EPmoq3V&IU>5/8a,BMtDnB.of1DE5m@?oHbdki#u/geD5Sbog5@ %3MH7DX(c?+7fPLb/'-aH$Z&%^E$A4FX9JP>_eH<*DHAF#k3gOA[]50:AfYd*N;C,>/[e`UYTHp!d0G#j)AZb(CD>LhBA&&NEreG@,IZ9)CPKGPM//9aZHcDpP2WRR&0K)%8Q?1_1Uch9*d73&,!MqP>DhW%3Z\VS>O*TaI\!7!UX)Z6=A?e=nY[e]/,>$jNc*RAnPPH/riAq`m-cgH/,+RdYFhOkkg&"5BhH_*i9"d`O@+iTW&qmg7%agIk76^I`.=71FA^8K'`Na/EApF;g,ki^ %nOWrcKZm'>9L?F)48W6$d/T.I$#KStTEg-4`R-qFQ;b_c7FN4%N4@PtD$3a@^PeZ;qfm#^\JU[mj.`9aV.UNiA9a7)Aq%8alo61[ %k:r=.'t=ofn%W^X;kHS5DMT)AAs#P$rA;\rQZ/0DnFBa1rYY(LTCk+W6^`K("EBJCP\so?<]TAO@HRkZNcA6D@5Lc-X-[Z*-VtXo %,u]5'KST3LcGGC7N'ED`?hCn\nsaK_f1jt6p6ZTU[$C(qFU:mgkk3SH:h&lCm_%Y$Pe7tLEl3d]n!\&F3r*[&!"5QH1<[:D`7IYF %Ci@u`N&YAAmrK_Y0M`TgD&*K;_5FIlqX@JPrFSn$MX %kM!etIi)NF8Ub"C.WnUA:%%aB4T,>:L5M`d&RQ]TbU!(kHE:BLg*BLD@)XZGX&cqiAA(JWgeU[@#%SC;_gY6A5TN%#d %QFbTW1DI12$Ucg,BIDh.(!2Yf!-)bBS>[.pgPX>88,!M`VHiZ0q63r=]8R,=UMFbUMF1T8<;i!u$E''ncsC8rqD"J%=L=>PCQfY\ %_.3D"PuH(rguA+i]ADhbBtj+c9Q9a\jtHr`hS,4k-<+W'HYahP7N"k6;NUo]#hdleb`n:Q`m'2nesSM7&:!<#8X.9CPUY)9@V#\, %7-+F%i_eNLPu?-%7Nd8=TAK:&c,A,A5)YJ)>Z4bif:RF5MQN0[?P./MKDRha'Qe.EIe!8S%F[f@J0D_sU-bBmaZMHY_cJEG:ZQH1GS9^*aZlhBg@da\O"6A'?4r4aA,ghhG$\_GA3*6!'g\MqMk6uggcll%k& %1d=-n@OFG5E6%PB$luqn#p"FYm=Ys?'QgmHAhETo(;m+o&HtE\0A]+K/0XbddFnF-Vmf^B'*;\a9")(F9L %Sr@n(5AgnL=H/3:?s%fS$[PKPB:1>XT;!!iA%?T]9.:b"l3?5Z>I#DEHn(GSH_$83!Rf>HL/rhNi`JicA"k0q9tg4apGG%s+G=L"0GW$k"e3X-DG'Nrd0S.=%Lm6qXbtpChSsK2I4).ZaV>$+!3Eu2Jge#`eS,q!15+kOj'nf %=,Xf(`Li0uiZPVNm*\t9UVCWT>"ZkM\bCH`QIfD^(IePk^")>:.Qof/n&11,o=3GI[VrZ!NB"$@L4,?",mI]5EgLUQ8>,E.9Y=>+ %V?&h2G,N;DX"`$<@M_/)/X-Ct0/4SAcP>bSsR!u^8o1A3e'7KNl-hOntnps$NSo8jCkhD20-r+H[oVX0p %>4oq1RagFmK&Gqiqseg65CLHVFpYQ %kXV0F>I`tda6meGJZKlcGbS.6`]j'4pg@tZk4#%g1V?8e1GX1raesJ+0)@Tf]c$1=1lHGs6a<[<)7mKmWJ4Y53rQH@TB)JC);)(# %(:!S_(JC"K.^A'2*5T23Aq5\O]?1!)*j3'qm4$.XFlsVA2B-p3[gS*:#$'!R_5tP8(?p,SLQh('.sm1=RPb&'fH+*cI*Ce_ohmGO %HCYp/-VIs'X=G"AThiZ[>4LT2_7muQDooUb-f!Z9gWcMlZ'dN#..!`40t_`]e&ja&8BC:jZ*&:9q4rs**QT_s>_,7!=.\2,^W(Z. %cQn=diBK6!Itd1+fJOT`R,6/Cs7WfU-;&GRMWjik$JL$Ei*%`H5'Egm+)\Dd^(gN%-h(..f/7U;D-/,h5m7SOCo %;&BO\Sa6b6a-s#<-d(DNV%H^?::ID"M>SfZ>P$(re2m?MWN?*K`>'-cn+L$cfTl5'mqs$rcE6LAFJd0-^JFIr`N%q$%ljO'+Wnq[ %g71#o8C]L?.(bq35-fs'G*A(>dC\!Om`rX9kPC6dRoIT/!9MIE"^TefMb5t9b.Xe[bGs3ND1X.LF!U %U&oln>EoXib\elQY,9Z`Wkbh"-N:A5k,ot-7g+EGYo%W[duf%qk6nHMH6cFn26JL\>ETWDQItJRl^/d^uq]#)W>FcpBh>I6.#K!9,Q]^T":\3G.6m5s6GSD3PXRrFKCXV%3BPPhor>-qW9NZgZ47Cs)P1J)OK0=F6Y'a[q;1 %E[[D)g:(+D[&k=]JNZcWcWpUahB]lmk6TLbF1l-@]?&NB;ITC*_A\.YgRJpDlt?d.3nX!9F.9!'FtcYn"fLXh(\G+qLsor:9e5 %N@[K%2UitW,G#Vh"a?rYmU[jTb%@@_mIKP!I4i8JE/\R@Gr0a1(#0JTM43-eq>u#YFNZKYkr8'^a>r]$nJF:fM,,$i?O(e1K^IQo %?NU,#5j2SN4=YFi'6jkWe/UW0q*qVjNHhn-$act^#_(;f.P6./iXO&cb"U4d3V"!;XX(;foIuq*rPg$iFSk*-,jhH44q-Rl#(:\T %jM?D_#EeL9F5QG<^5?.fN49S[p\5ImIZ9:'O8=A^"@e(h,ktH1'*!G\iY5P5E2kG#/C1L %901%lC@%sCie^6/2$mnPM'0tP[tJ6N:kVcK3RKp[(Xr8_"X"m%$L^56I!ndK4l,a;?7\+mFb;0.?Gcu/+JL;oWsq'a>OpSt9iAb0 %K>#!+g!pSa2@9pm-ljh^JIiu549Z>`g*rU.OKtSR5*H=@;7u'I9,g3UHM$GPH6/HGU2f,dV987V%-5QG0V5?^^a5_ %e(%RM0[=,`S\'Ql#i'EsfAlf\X>Ab9K:CJNbiI%l<4BLoPndsTa(nkrN7DIc?)pj^H:91j7*G?F=m1'&c@r_RIaA/]X[AFP^4PUi %;DY)+ons]*a_1R2Gm`W[_$HhD/cP(G/B(>7(jH':rdsr)hOV+r*kKQ>Q^!.BActD*;?:nECrf;c-ij_o0OqiaZGeiZPk4Zo!#:&E %i[?LCX44Vo3+?^]+R!Ts0TJSjft*S=,\ADoQ@,@cdgMf=[9[&H'>mH=636,cL %9Z@PP*c9.8S^P4AR<"\P'Q2g67?KV/9YL?Ur2:O'pIuQCm%l#>5J_f5l')_8@c5p2+Og7,5DX$)R,K'<#ib][\@=[+M*8;5dKEDK %pi!1t-Hdl(;\bGS]2P7k].T!+aqF1^J9S5$Qm-4eP(8V"pjf086/"S->j6+22\:S-S;]c1_FC, %8([#1SYgYS/5=lDCMgk.>"Wes+=uSb(_h7kp/#fG_,a$Rh.-(-!(T=8t)k,+9Zf8VBdpHi-j:N!\@bc%!\OK?U\?&GNF7R\X %kC`7XR`S4Y4XXBla/WB>K(@O6$aP[`ek;Mo'gH(;<79coO*XGc,jIXPa]"3>"p_bt/PMO\#8r^T4*AGtJ#Q2$dbf0uUtgU'g1-B* %'M4Vk>\E+/r??Z;fPQ9n-=RhPX05AKEhY.aO=0PgT*aF##A#/+*p3j1Qh2dpQ-/1XS+;&PqK"KE4e"%h5?D=ps=?8ob`$NFII_WXt\tf"NQ2&Z]g8Z=q/j-s%\l: %1CQ@OH39(rS3Vam60AChm>:Y:5ld(A6'">73nE+`qPe"$liUk%$/Q^8k:jWA]S65N^LGT>=63*ToRO2s]'m/N6qd':3I$^;7'$PD %(O]T7enFO^J&lCtZU5m8M"r%o;m=T/8+R'q:i\dir/)hQO!gX8YGFY=c_>\Vj3KElQ=eE*1W.!3 %bp@IdlCjMQ@)]iW.^A=AGmN5J)oJ^A`nTrWr9.e-JAoW(hi+5rPRbHuMALQsm`^dVkmG"D4_IGq"/b\G\jss6B^mLY(uc5Ts.#WL %o1Gl"L,@Or>(5aPB`jePOY&k!G,Pg#&cPr&o9%V`@ak:$"52h6GLe7hiJ"16Y57?nP@%(u^dlT%JKJ)Ad,_][B*coGE"]HeAUBNs %@j6S)!j/iLW4=&Wl95,3GkY#bUctm3_NXY2cI(2hkBF"qA4tgkR,n&k,rda.9iJ)[.H2Z]W1(X!d^72:#dU;0FDR9oXBN$;f%,42 %Q*/Q(f+G3;H.SIpDj76NfUWrVBnY\;/]@\r9f)?q<*?i&\lF<2nWuHB@cVakB#W#%ChkeB;s5rt+Sfn9S>2XQ,0&))A_>EmGn2f[ %\(S8bYA9L1=Wkalb8G^7@(\S[f?a'Vg]C2d.NL<:C'C2R3U$9r6DCgoKL:0o[`J:jt\]M3^=j;=)Hpt_2Kb5b5_L&>M_TLqAD %r/$f<3S;EDE4R5P;_@2&qYOhu::>Z;rkHQ3Dk@>IJo[("5,$*D(LDqr@Ljjs/??Yc1$U5X#fqMCn8mn*BP:IM(2:\D(eK!]pp=S`KeGA&*b)#hc\\Y %9;'"Z"$f:aMHY-qI#5@G.dj@9J9nYp1oEXW'2>UXdqGVYf4*iMB;DeG15A/`A"V8XFcTk.g!h>`28)iQEH,MdPd=V9l0hj^(>1SF %O$`1deRrkTWi_55m=3eB'3Nh>ns,)3KA*u:8elsJ\O-&BB+fCEm7fi.?^g+Cea^OECqiH3u#qT^.oBo!&gHIYas$#j3-3,;( %qCm>/S]CSk$FkP.T.F1@gMnqii,tn0E1DSM]D5AVdM.V_^B:h4'coQnqF0ZY-_)d5B&>K20$c=MkMD,T,^Hf %5,jYu,AHVmp:Bt.P-O8Xb!l/"[T0S%P6TeG$T6Vi8TnZNK=mJ\gp%#m5G?\J&*ugmRnSFPM[?$AI1&_o?TQdj4C8Z(I[crP[Dr5 %i,1_`T[LOED'8:N;]E^eK-FWi`5!V$Q@c!#Js4OZ>_'fBM)6gj?ld,RX@b=68'f94kG]Ehbd4iYf1sf!24XR=D=r.qQmch)C_&1h %\kBBj-B$C*&1(D%&nH#5U[6D$JX)=4km'A\f^sG(E#Db^J.AQfXSae;)V;sF)J %*)tgg.]Bnq_W]">>qBp9pi4&)M]8+OH4iCWBT`X+rco:X9XBVkgpKM3qW%Fga_[LD$Y->NEKdEQir8&pM>s"GP`]X)k%tj9ik\j,;;_2KF5H(/@ %YT2Le=B$Q8F.6s9Y9iinn.%=Jhr3%[X,R6G/cJhe3Fr*bLV3n7,PsN;79F2'2d=EuoPucZfY48#&!)7G44+Qa>CH+s=a%G> %c`r@`@k_]JS[Za-PVP,P::<7P5hQ=Q;K&:sHIt.64Y^>TK8be\7fHWN:pY6np;X3Y@H\`;*=\>=t%@N;P-q:u'TD!X\c^bCW#,T*aek90@S3-bskn*`h3/R*LTWVmWF%5(B)XD)Ihfj]6S`)3g)N4]?Rkc[XW- %HafO.m,3$GWoYREe\5giqIZiUYB^DfKsSN@=Pl.r^@qSk#Jr9\K)t!.)[?g_$[g7?&Q8l6Y)TALTrB7+.E"8]$HS(]*S4:-li8[# %k]qYqgk$g>+ADslKT+aQ`3a^T*k3*"?f#Y#)34^rc=u^-=2b!dLRqH5L;?$.Esh]0AI"Fq)BP^;CJUXT9/Kkf1Bs9&Z%V?_q97`( %B'53)]li"Mf5Q3NV(h10#K`QM^9N7;PLRl_"2^D2seg$P55PFnT,)ig+Gc>IKM"89@mOL-LBd?+mi-E<-fejK?aIAK:2W0[7@p)r#G"Fs#]9FI@_F %Ws)*icEV4NT1*j$2<3HW`U$V/-N*O3G04*Fns.-pF>[8t:41Z1U6*-TceBbj\jb:UDM%4%FS$SZSY+ %.=%4*rk3GNSTajgc+OALUL[`'G==K`b&1>AP0ulb$'Kb%eaAV53[37%KR)VIYAodiHNn#Vg`'m"NKiK@A[K\0TU0tpA(><[B9)2, %lW5cmF=h/pcJrX;33&Be=?>=?S9XRV/kc@Td!be1hqq1Q^MM]pnj?[XN5Fn];Sn*%2arki8C4MiY-2b2q8T[qARP.\bLKc_MUqAC %;?P=>^dIalV)pt3.,khs41I_8:[+MC4(Z4D+5D2WWN9]edO%H9A!B1K1=1\72#/0$")LS[Ts>as>H@%ao?TatIPQ %P6F>cN00f9-WR/@33B,4U'MdI%:b9;@%,$qe!>!$n#$qs*%e=_&Th8'M)sbpXFK&'MP$VjBMB]+"AVIY]Wu#cM %VQ$\FnFtFK[)Ir8GBhrD]K0Lc]*cR]-mmZ %CTV##qHX5Y\n]m\-8[7=*21]tY3f(I@"C$hYSh=/Vlbtuc/>4t\`^h9q\uh/^5: %-E;S9hEH93tnIJYr^b1 %#cgs$4-H%qRM&u-kL8k6^(@9f#NT';hp?_)X73c,mG0ZC\M6Pd,PK9i[A2=iEX)M!V;;DNP^fuY1WT^_5O[:/C+g_GWX5_I5(Q.9mS-.E+o0s.+ %LK49G67Ac/$OD[mJ+tiT$CHl1#D%3V6=L)4k&-c&bq4O1s3n+4Dq>^/&Rn@&n3)WPWDM %KCVJ0,YT[0+sf$@GOgH@/@3qh;T5s(F%$gGWp#eli;CT*8#h+017ucK3qV&(<>^G9]$5[\jB&YMs+NaJ %;kZ3\Y"ktL#AU)oB'R>q\d66E.ZSK#0[6M#TE8ac6qBO:e'_35"&;0m-sU\-'5Gtm![9@t8PNfefop[CEbGcDUlCH_6o++g,'N@1oQrfE+;!gCE8 %Ze!b[)f%;D$(@'ho/d:4YQE37U++_eZ!!"n(;or*nW&cN2'ulBQ2n`8)PM':6De.+c+@g#MZ5MUO-Lo1[PSo)j/G2j,]jLiSDTCQ %pmuAp\u.icHB3/^jG$"-F:h3m!eLI7EPco"JZj>eee-s4Rd9GmFW&[aU*(IuKbJ!QHj4W=,7p\@S-=-LT3!./#SA_C"*F0lA>jE5 %RJPuj-C.O[?>7h*^k`qmReXsPbXe3G:'=XB&['?Qd>L-'Vs/nB;@d6^O6L'Q"Ot,"gkA?q,CfPrP?MW^ot-\X[=bfT7Q#`a)$qk= %#I_c6h<,HQB-dIaLAA#k;)%N['lBr_GA8(J$ZY5ZU2UtI-0V;;ZT"LHu %r5Xp(VIL#Ce2oPIf;\PO([_V?!51!*Kn.stA"<3RcDLb;n]kQEaS7L;c1*t)nL$XP`H,;<>\e>iE=)@ %9%,M_fn/56'hn7O[[GHJR22qYF;1ZBK@; %Khl6^4!rg]VbtQHNpD*NqpmB&"iP,o?s&JpU[E]R8u&H*aRhRPJbCa1q,7ZEXAtDj!d%tkY?'#Crm^q+,B#gBCn.WV"fBfUroU\t %l-%"i;@B*JUipn0MGC9'"Kp:4Bi1(o<=IDJNM(1aO5F;q+ojAc8ru9FHBQX6QB:/U;3HKj%&7RE@`=%^8#&B)!pK-bd."MJ#tc7Oq7[RFRjfD>acHhN"Fn+Ni.'W=+O@qALdTL %)QY=.K)Q#'$1$BqGrcA?6("9h3B7P?ce)]X\UAFI$Z3oHYR[%?@'0O!'rGBWs:j]PIVbu %.Rgq7pN-ur,6br:e7`[LBS07Ed;o_CenOMGEB1EN40bO=U1=]9>0UC^k=\1M<4sBC:VPS?,X[WSATVF4"TE!2&9[hM(@\LIlDJ3m %!>PPj%3IG,[LB^+U+:j#C"7fOJ4!1d^42POH"*6:[rM1QV%JkIDRDCY<\!]0QQ(4&i?eWW?f2)tFF5?$danHrm[>G>a%_AT8i_]/ %AP2)ZH+dc^em0/\HEZb3enZW[@f[:cRI9>QR(?gn&3kh'qFtreSM]+n&iWsi\Ge%4DM4F&U?hCdLu@Fr2#lr]ar@9k3:iK"U1:fg %1hYepV!/dW8OL9h=ZaN?fs)L>B9\^L'-0pL)t'^a6A&e0?eAOo-CNUq-=E9>d^R!"Xqn!l*e.>ZU1[1>FM#CppGlggG8r0HoC&G7 %_eR]6orBr%?6:tLD.Yqk0W&j>gbEjYd\mO?4Z6\k(sWTEK/Q/Z`J0i6NIF;P+ZnoEemDH:-Q#NsppWs&4P.'1$(cBMa,;!Z,49P/ %[8D(-SA)go4]V#[riW`CD&4a//c;$.bRVVp`bPRCo0OV#_KrOtQ,Fc-$AgZR5'Oe3?D4jY[JBQbPoPY,Dn>80]bVR!?QcJ?3`=Ks`j`h393.Dh#?LubnoUC\ThN)#,c^D9BZV$3NiH:JIO'^:'LTAK]1C6[F7=7bAk %B'cq?KB3OlSP\pA>_'S&Bl![mP`HCr.P!RC1XZoQ<$?YO+2+9\NYju@)61^.l:$m! %-Z)Z_F_`c@#P7^1X:BG\>$'d\WMG+h#GN\gU=]3]pH0Eu2Ns`j4e$%X1171se*:\OO=u]eXHbQd-T2&7VW[2E-D6`+pB7D7/?]5O %"@!mXZ'DJj?!-:r6]Vi/e3:LA>:Q$J7Qq9ib;U6RL6NF0Q8a=H8ufWM6MD6SQfGK]EkH?.!50j1g.Pc5$V$!r?_0!7O %;3mCG1hG0PR_RhZ;a:3q>1s6gaO-e7OXpr";k-=*^sj+O1p+i1n$A2W!PFrs0^;=f\gOp6P>pcabq>H>@8iWjY?RM'r`fgNG^0JI,RX4_-`03-LmF4i4Wh6m1?CH2D:Jg)IgT_0Ca[dR:H>0h$`HMGVGqA6fs/_R1)GpR2To %"IIn;e-]l@F/.U"hLlT2+u(TCAZNSQXPrFVM00>FB1)N1_/W?b9_Xr)Uda6FPqL?'VQ]OO1i1+TpUJ9$_d:ThE4a^>5>)to0ciRj %mNE75FRNp7%A3+q:gJ+Uat>9E3+6ks?>sFdEW(j7gC-s<,]H,:38Ho%5V;BjObD^.VON;a&(C1cVt/);';K!$5aeI#.>`;3f;#"i %$E,j1PEch4"2T"4JiLIjaC_h-8gGe\/?j&AOe=h=Up@WeYNRfgXX6=_m%tR<[\[dP])[H$40:>8UDGt7Q'3a;`#:p=d"M!&9aA@erS;"5\t.ij=>*Ch %kgZ\[l+&6Nef7#@`JS:porNZC^P+hu,6;+mVfnp\U]71<]=>-TUu4Lqm)gb^MgVl3qNNO]qYrLYQ.K=mK%DDd%k,U.`UC4QY&Sba %%a;`5?V]@7>Vpj,Zai8OJV$mj:/=f)4+MAqghl84;>:ahV3q/tA7LYoOSqUUpd0F9QS+;t"85l/]eWXE70@h1-FGeaLK,.r2;4!6 %W#/+:(h<[#6%(+DQK@(HJ\'PS[Tb,#(7t%fG/Y7"7>RZ%aBSc1n;G>n8W/o,nkm+9AL_VGN%@q<`k^oO6oVP1OUZ:bQ`F]/"e<1h %>/ZBPVj^rD8n%94>OoM7A\1OZ7ZFCrMg)Ra*LN&RASoNA!$cM(QoT9Vc^d13I@\],9mJcACE8@QOjpaa&hf=3^hScUKRP7U(Os!] %@YcIPr>Z^6.">RBD:IU6n$-54NQo*kB4VUS="s:u37Hhaf:8Jc%C_Ki+l^P8rl-LQ%(Zi9p*P9prn?DB/Ct.sB0>lLP-C %KXB`1(Z1>4`a:V]lN#[&(7TCE^N$/i\)ep=el@[mNA]1)AE2q1$`G21,@Y5Pe(^YGCS#M-.a?e.Cf4,YIIL(Ppgc8SCr>a=/&St?XMQSk@BRjUKIn*Y4%I&nAinJ:-Z$.KPo]BT-YXBAjF92q#\Dt86q57\$TF29sPcu %3J,,g.!#PNmn1g8/Mb_]"6P!+CC8.X:u9hGSOiAkW0=^7ts`R=BEF#,8KP;S`$5!p/%U9,Ce_6qI`h$F>5>$\JU):h:+@7>!ZWSMtsoA>Uq!_)(o58)=k0!G*08I4pn<0'g6_H %B0*U\1:O)YDfpFXDMi*dN]?g)8[F:972/YV_8ctdE"Ye$VU>KJP&]/]qt%-QiK0o>3AB@Od-im^)!NX\aVm$)!.I\qWAIjXgM_b!>E?@(b3/5NC86r[q/hsREJn,G8>\Q?)'sA %;=Q8)b9C8-ddC6dE^MgR>%Zhg]p+S\UldN4G0C+O'LM-T8B_XY3rNsYHH-B%SW&7Wpl@^_XC*Ecaf(o3qgQ7VNRR(An?XpZT"-h4 %*7+!`&>e1>/=kGq$\QJUmpQ!W7d[!kMJ\Jc!)NO>o?VD3S^kM'mO*c2hR`+Wc@17id3R@*a1n4Qhc(2G3^gMn=fR=?WeHR6M])`#iWjB?1]oR(WKA4/NiR.\%u(N$?#BA,<2(Qf:^>eI5J?32M[ %JPr-Aif6?lUpe%@OM`>dG-`Xqi-0#IXZ)R.Ii81:1]/3Pde6\6tO'O %-!Yb4CkUTi[[mLq_#"(!i4UqX?N20fR?%,n]g"8lI_$ZZM"plJb %71^IrX^]`ZK(5K,Y\Bi!Q`ttkmiJ+Df"DsAKVWA:Y)m_VVuAM0@h%Z`JA$t99T%Atk(@#E828M4M^SF)3a?=;aErb=1JO(\$/*l` %&lQu;oTVq4((XLGt,ka:ClYU\Ei,X5<6aZG://]gQlh:G0$RClLnMMHg3n[302[3[^[X2_np.@QPu?+j:_gprZHh3U24N` %O`+p\-&)!XiX\9:,M0h'rm\"@Kq?V;7:ZQ;1Po1Y>_r:-;3?G9DEp'i3_e@!>6\Vu6 %X_O\1EETBZiId.[IIG--I%8:*lDXJP9oc7(\a[4,[!02l\:1B*:*"7c(Nu,lFfTKO]h]Q!ZdP(hk/Zi@R;@u5rJ@,G3fI4J.-Z%( %D9qqKL7qB1X;0=WXunB6mj<[X;b058,3eGEQ=.k,%r0G[:a6a,-^@'So+irW+V="J,ILcPb&+LmLB0>Tdl=l&nLTeebLOnEk]-<1 %Xg3JTA)?qnRpl0%U8X0A3$)iaH`^C%Ra<*HJ:Q['KJehBECR9=fl'gu_Y6li9kG6:'`V;\OQ5Y_XF?C>CV&eT0&EVKPp&RK_Z5q! %3,U*QkSAP%<*G@WeETp?9*I=8W_^,;;&tlLNo'PqIh"N`@XJj!g8h8-IQf.j@26 %.j@C@'3YYC:VW;RiC!sBIZ*eJq!U_90&&>e%l8Nc\M:WEART6O;\<;.;Htr$6X._i-[f$P7Ch=s- %nUQ>qWk")"7Ib_5dGt1CP0tt409f(6;pq!H!a+'sP+cFD7.)7Z\NYZ!5G"e=rtDg8Og>.m>u&DNnbqFU>RW9?orDN[ZgGH[VU.77gh(n^gqdZ&7aTB3(ahWD;,f %AGZ,kZTlg.R[SMk-d$.6IVN\T%fX[_ii&0I%(g8L[-2&j;GXu?6>n*lFVMEAiNHL'I4e)"EfY-:j+UJb/$0rX,&[k"RnWj.RCV^Eoq8LP"NH>9F:K[.VZQoSpp(,uI] %pI?-W_R?HjQEJ.m-HRs?Z9eGn82gKPraA<#JU^$U$d4H*lTG,,tY(@VG"d@Dp0V^A6#lG<^de]e#^%gDSAaW]e %'m2f0eNaTbIp5_^]i^O4\'QA@T^m-]Rbu/m=/QC)QK1=#[s=K^'ehkXX]ZVF;e*=1P7?g7DK)uYe`MPe\lL//#Jom&%UIeI(:u?qK%X!=XU#^ZZ>&rn>[!"t9G,C6Xr1<%PH2S-5a](gjq' %7/WLDU=ZcKDEc_!G9s2uR"E*Ce1h^ai.!#W)a.YR%4\[kcW+X+m]^7SMsO/Wk@1Q@3lU8g?!;]KqH0se[9iabhR_%7)9,0m&1ZNM/s[)H+G@9G<9+3I^-:2 %XK`2B9UZNnnY0K3$YEK$6D#,TKe/ka+FKcsU(#\rXk""eA#Sp_c@E'0X^PLP.Lta9eZA0W-P3l.ZgNJpPlWQN&sTPMT6U[`c!R)d %.rM#ikm'==">)SZ>k\A%p$nO^,c8!SLk8ZsG!-F-AZ`qHQ.J8d7H;\R?Q-;\qUpH8HFhNE:ufFP8tE_\B+`k?'6H:%jMj"3fZi/K %;]MdihG\BR0pj_+Z\lr212A>P-o#Una="AW$!DNXnF9E$RW2J?34>&I8cr.S\?!0OI'Y:r8%TO*B(8^>6>IOgagUe%=gN:9(30-G %3MO9RUpIrt^Dm0CC&bp$9iFa(?Mb2n:PFJC_c>gQW(V7fV+imp$YC"l([@5*+OdNc.[^G$#8X1Tb4]go_:FE^X5'DmF$"Ds#Z`ER %]Ul,=Ol5530'$7@/L)'14A1MJ+^a%^kjZ;bA``GkK;-A"Irm8g&+\`0KFM*N;o@5tdO+9j7)%+\BQ$1tD]\%/4V]'dmYtAWk`MPD %G#Bn;;DMB]5I8bT3"ML@hTGoNO*@-^;f)M91Ym4kl`o]-@<4=E-Y]JV@."N<8pttc %N9IZ!)1$4\!UR#FT4kKT[CDKc[HIbZ[mB7(iGF"@-13lqFDe4,$8;`sWsnK+^^aHL4EthhY1JJfL=ZtW?I`R`G[2ooZPi8DD,f+Z %k'),h-pc?Y-'s$rk"Y\'E!N\R1ldpATms_Y'lb'0!,$)I.^mbM5X)Qb[LkdEEY4?]pt?.IYCt->pi98J(:<@`o,KE=.*Fk>_`8.a %&00psa$/NuWm3XcF/(F8&mVg*Mu^iFT'^hT$WuG-N;bACJPTk5)(sWeVp[#9_63H3]!(b_F4,C_YSrO^/3!kZT.4lUo0I?$?KP([ %jEWq^daWQ/)kaS9U-uY#08A)_pV,W`k'0G[5C1toP&-/E0hKN(-6uD:aoP(#>'Gp-hG %`V^L/$,hXqKY"M41QHoqMECgl-<,9I4,:mmW%(I%V;DE?\6nH0fZ9V\C!#1"(-`HAm`TN@Yg0Le0gofpDqf#J,2VZghOm4b9&a:Oo.TB,$Zfd_@H(o3u\-r?MBhS2k,.n!1m5A#K %">RZ_TA'3C*\u#@cul_R>F^MRCI\YV-<>.=?,_9IgP[9]EQ,?8qhKOeL4RE&pb&V+.E;9\2c1(lsT.e=LN$ea/3p,h/,/o-):S]SDT(m %!p\NH/_F;/dg"kjcO#uIfh@L"O_o['bJL3\C,:?3MHXCs0>2:s>CO.W'?)!LWX\MA0C-i>ngUnifAU?7`PreLs`H?-Ab[;*oT?kOt&BE&c#]-3?:KIH5@J4$%e0.TtFX:UK#W3GR58XYDG3Gb];]q4!u).?H\MD]nj,+4A_\ %I919I'A9))%`<\X:27)s-0P6e6e4l&Bc?`u[9:)Ha(q1f;bI)6ml"*4js*K?Pb^S"L#(apR!/&@1i?aO**e&PHBNWCK@Q/2:->>? %_2GRp>_^WRX4M(L)Ruea&p11WOr\ae@^4p>;POR^LS+M>aPtfkAf`kCP?gf9c]Q>,k`m*MuDGqsNg1r*mf(^_KHYl>]D]RNQ]mG;U%&H[_?:qB[*+3K5,ARl%"[@\d[^h)^4$Eg$" %S9>?H-E$!aea^fmF`d/FolsLg77\S"l$M%na`HE&IjLA!N[nO%>L%oHs"\r,1W;m>Mc]]4j<$MGd9PZeJdKXlg)3U(ET=PP8k)[BV56j/*_4"uPXd[t_`TQ2\#&&T'05eh!;1VQK+t %1jq0*SWuFa=n(fbh45'2MHGpEbM)g:+1AF3jAHcJUdWKmBK\@j`$5@'#]JAIb1me"Rr`!LubFa.2NPaVu&5HbRqDrbr$mC %?4SkA<&>Cu8[OIt(Kiiq]hI8C-%V>@-YpWfX2)a,-Q`5h!P*\P`^;QtF!R>L42'4Jo-5WZ-:uQCGnP,GHoYmcXUf^:ZnTpUiF/8T %eA[uB[`A)VTYP(E?mdCQm[Lt6p7,[Wp&lHJ38I'Anai1?6^]ZZRl%Pn`s&QX:#K?A@$'?4o7)tpfcAH<%*g#6IPV1;Jm'k06%T*Mi9Xh4m>JnpdY\[$`ZPhsn1XVWLGC,6Bepo%F6R6]#OK^atk)q^U!'Mntm[g,.<(B/2HKUnDA5@f8sB9.PC5 %28SWHhDQT'-CZK+Q153@B3@aXU0#jJ,Yit;nJk+4O\GTjS`60rSf9kCCS!Q3V&[m\>PkEN3Xti3F#G45N=Jb3L;$ZR)jKI`T8ML_ %pd_?;3GruUcZK%;0nEoHn%`E403b+(lRogEG3!18=.H/_Fl*l:*RU:+$)p"4NI5*[Kpm=U;eI8Woh%7>D5eO?kD %4j6e,hj)+-QTngK&H;on-$/sJJ"Bk%;VXol=+5O9'&Z?GoS],"E]KqWj]o6%]>+> %'WT0UNJF]chpOGa,MI3'N@-7p;!s!7=5-leNJJstII*uqHUM-*-3WOs7@4haJ1h+Xl"*\sgWRl?:SMm$Y)H\YKPe@l'hME_>s1\n %T$E>Hrm8fK\cmTeBPIfrc#",VS+?*cK5.c2@-IF&<0b %OoQbsdN_duHOL$T'4oIZdX9bMj'Z-)O-*7VEonWB#J`WF0^#U",ALdkNPX!J]rQm)pFqMK6,5PKO-eY#87[u1)A!9DSZ8[$Sp%/H %pYrDW%,889oH5#V8sZq6-/slrp\ESY.!ZQX*Fukoh0t\bcBH8t!!R,GS_O[`2s?Fj,?RXg-l=2N"&+=\'*ZFAq&!ZIJrJab0odIU %.2ofdO*I<(^\QGh#/t.JALA/8NQh!oOMf]s)Xke32`_T>%!4f2jTdb4u@CO,u %f@JZjnSCciH9&4^>u3\MhX8jC.S@uCh="%i@c#?"6r)tklEW5$=`4A%f$!EjY.eIHl.gs.`"!TAVGJ3RZ3T!BGNtT]dD(,@>boh\ %73FIZ5hA\pUh.-RqCZO)/Gc\fgcn7qHPqCpWP:W5JiOs4;Fha!)]LjbHYDf*45'dSMI.1?P-eM]'?!o@[;N*\/*'A]@G;G@i%re` %FAttIA#`b>7R9)N669lh=T(Y!3pA'1XQ>1*<)1mOUA[ZX?oG"]hHC5[B%B0Fr[a(;Mbc-SG6@bHs#:ejh9>!=bS^UAWX4!'d!m3To'A7sHGE+=.PA`aY3%^H5lbM%@g<;s]m/Q5:OlY!=Xr0D4+GU %cKAe=p3Jr_YLO(1r#]=t9m`cJ@7#Ydce-toP3?qlPM^q%27104*ni,@"nMoPq[qU)TIkW*P*Z`Qdla[3-8U_R#(SI5@E"jAL4liR %/Y93_\?A'A/T7hJsid.O>@.aMQCg)0L-2F3`DcOp)qin,/OSh4Es1%c/H]\\3Ga_3bqinh@h]NFfT[ %!2Z#1Q4'WhqQbf&rB'4)5iR4iF-DJKHk-g@$#AF+)/5R*2R:=p*5,`4o+NQ[iGn6fFK.O,HqEbQZ4U!HhR?$3O+gLh.H8^MfjgR4 %c0Q>5g#qiJLKfk6qAr$?Ho6qecR2lOH50rBb.R.)J(abP1hg5h]!I)Ir)QG3J:]gp3?DnG?F"/P'hM8o;5quX=oRib40,fX3mpPF %c(P9cngo6kFQnPg@//pDH;TlLBfTl[p/N77W+km#p\]>Md")Ka!!FqMFmP+/f.P %jLpci(hi*eI&n*c0A19(,dSD92t5CXdJVJW;^b8%M/YUQ/POVh+of)51f]I81ku*2!1m %)QdYR'`pUDR^f)\"qH*C]gt7,:TL'AeJZ?eSAB?$[h;Z`QDCC,+s=45er#lG<+];S[:8XNY;3a"%cggGME\"TqjuDY.NJ[UqT?M+ %n+G=.U+Kmq2Y(MfkfSd"mTCF\(>+K8-ll&GqQAUH+mD8ba:*B,Jm@Ae'fJ`kAmeaiRq.F9H,>^o,N %W`B&g*;p?@jQF9\*Uq(ge(UYH,sF&6S@e]$-jKXU&S8:aa`W#":!;nZSe;I%b'.HHK/?4VV=Q;"LYhI>Kl%R<74ODKNX<03a2?h8 %DIbl;3"T=E8QJ,[IsdI/b;c\2)]Jab)^j9/'XFLHU)`cM7kK,?DUBSsXcST>Op\A^&ia3tJ(Y[g@`J?`\tc-9cDdEJBi%"bg/)Z_a[<+5ggG@OSMttW;rcW4EP(]!lCaGaGB-aA*nP#/?sGm-L:1"_kVX1,J0#)%[ijrQ5f_&5bt##22ns+fO+jjlH*X9($*(;=kK1L>)rhHh=dAGl.763SY9h!eDU[3sDMZ.o %1SenK2"je@MR[q\IOWRASQ!73o$7kQ%,TrAGPu.8>PuSY`Ur'7<("gmT,&cD<83pdYlS5'&Vh)[qCm%X]XH8(T9`UZ"\gWAj;u>D %?#=^[6!K\rAQ'agk/ncO]@KXSSlOk.":;J0]bVo.h%W%Rg=uWFlJ%$g3AhSi+^V"Ed+7B-#KU[l9Ae%>]r`Q2ot<@!]W+lt?3BZd %42lY=",.Q[G%C+"Tsc.smX)\NO[ctP@Yn*_c_*Vmfm'Esca@&NC=\f2psG(LSF:^USa_'BZ^E+p1c6k8d(86m0,)V#O\UD"kPc>k %D7\3`JY'R'jK;PhkaeTVZrRpbo&21sZQf@U7@_r++X\gV?Egdd^8hmY\C,=+0>aQ_PJml51S2FB-SqY<qU]ePJ %lm70)DbQg&>V0*AnATP!1sGpc$Qd]tIK#u(@t6"X^<.'O"XIY6O@,6uA!A$A>8Q;*%*_OA:s*(u83-V@7-FWWGCK7gj'?Gl,`P;Z %?(e;q?@Gm$q.;p88j&SXH)KqZ'K,*:Qff70[fFnGb,MUs_=F'Q(;+A^g(KV2RChsM$Ze?AJIZ%@?ukp%YK182\9:4@qF5KGU9HUhc.aM$l^heX.TZ,O?sfka.^_m27`cc %3.Eofb&S]oXX9r0L0_',Yo.Im5iLO.]Sa5f9VY)2?meW6d=)/sDctDn^0X2qp_WCLf%1SD;JHqV&81?X!Zf9#_S#4orB%3`Q7D5*RH0k[tOV5[Jl,cYHZtM-?)3pc[%W0R!]ud0-(>\b_ %3,ks]K,.S;i5`DKI?"guoJfbH"ZWuh2#&?D?;c`b(C"\:A7''(`XsgkPM,UGjkCJZW/?afL\H/qA+T7U(;.sCoqfF7!C\0SMMs$j?pL0,i031ieTjjeE]hU %f'b$Y$p64jY,3A?VVhu-fAr$i[[PY$rR;*@e%?"];"8l0\TN %&3Ko.$rn7sU=[fu:XQrGqr&WA]:0tmSEI8I=F0JIecCkLd9Hqb*A(RAVehY/jeSEFm_7kP]t,)c %\dM=(Algq#lK0QE@')0t[o":>1L"9#1hH`[/J''$VFe!u:[KAB`FUK(FJ\K?pSbSAc'S,>pR'sGd]>K##!MJP:r^-?Jg4+Irl+Kr %h;A7g<:iU17\YUWKdM3Zq^(Rq"R"-6o)TSIH-`U>=053#F1WH\-r64m`3XLA`t4SKJ?O=="VgUR&PSjmSs51j0_Ngk"s!n3r8K@; %@??\2Ra/K1%[_[>ZfWkO3PZh'h<]6S^c'pq,3eUKTd#4ks807-%#lY!o@B+2_hk&Llj5g^[oaBB>TFj9aNK<-pMJ@GI`ReHV.1p0 %C(JZmQ[uX?'E,#@nt38[b_I4L!S`Y&=\+(p0X@eF]1UjXmPO9Pe>Nl0b9'pn`Rg_K3\s!m6:Vm]Ft,]a:J%+h-%%uOpXd/t.@T`5 %L_AoLb>$#I;r)I26a%!a]2jJk6X5Z=54`KHE7.AaG8%0fXh6i2:Q,/M[-\L]jHQ[Bqm(T$H19RoNVEq,aO.1h6!@US3Hqj#>)=H1 %r\uF3CFSVo1 %W01]!OD`TFZ'K$`g4TZu7>,tBq7dclPU=fAdS7p9Edl\JmHcDb;$bF]*E=C93^:\"$[p8c %6u30gDLGWk'Df!H#h6>,Aj`G4G4j:>Z5F#\o01:EP %C'3$[Ob<8(ll,pLmt[0B)eG#QG&luEf>%0`C,sHA0?]A$>-CX_SCecqS"TK;kI]#RHLer):E^:6p2\4sl>QZWUF%#4"glZ8'):Y3FQK#51ZALh'o&^>5,"MgreFefEE2FYV2)fWEi@l7o6Y$[T6f4^E)fErPi+ %\5*H'E^L-sC:T5Xs7d@Yl0Ikg>NY]M2iRu,@1i#%[T0%@Q>8E^-m-1rN&^p^`Z^)Nf="aqEq4E`V1Cp$F#h]=AiTn0S%!Z2O!B7: %]lr\Sg%k+Z"Lg(`0WdGm!J[4ac1O6jP?Ldk[5@Yap8ROS9fL&:Ab%0W"V>;0dUT/H&k(:Smr?):%8B#%#+Pckfntknp087JR,jck %C.BDCd/WLr,1V5m0/C?.oX0B>I[*1UGrh3ptD:Q?.:qs1!b"*3_Z8?+HJ.Vbd<4<3.VPOu<1i".!O0U1<>s4#FC3qVA'"&-0lHq?3/AfEf#A %:\,1j_(G68DQ,8QX5*!O#bM(d0.aSJB*lbLVa[BbC:Hd?%ed0>8D#hdER;I>N\I;/^B9IOUIM_n:Q,"G;No_/e+6-tCI[_#jVBFK %gr??F3'BTjBmC>^ORW*`)'\PAbD?g5fl9(]8*h=J4UctVX/upMpg#S3/#k)3RG9ICbN[$eoM5r1$'8;?QDCf(TIWBET7h7ZK;/bh %]&OZLC7K.?0]e\O]%e%!j.>EQ39`VtLrS&5c:CFr@PU?)q`re)q?]_-fL[U#;_O4dWHLUdBMIf&Gn6-S.F^Aqm]#Kg* %-RdVE-e2Omn7Le^GCsK?.+'3q@H>slVrLs_Gu/9>Smlimm^Ji6m[4^k4#<$ub@$O6Lp&1&C#FYkQ\Nkp,uu+RA:I*=8M(m+r2T%#2 %Y,&5VnWXq,$3%lj) %?a+JF=gj6STM$*--%Z%0[=$eP'aZ;^>iU9PR;VCpcR,8h@94ER:83rAUO3\2s0a1oe>fZC%4[c7DG_ZXKSnWrUF.MXTLb&dY(&;- %FsA0A)thUt`bP1e,Z.PtD!r$,2@6k-@;PpWjE<"3g2Xsqd:U+i6(=*[2>I0*LM9)m=dBgm75PXI+-BAidTHX;=eQrD[>656ek@'s %q3E5`KA>bl;[[`)<,i;rFj$.g8u0p^Ubj.7GG%9K7t)hE2$1$9O!i5-ntLW/6CV^"[#jch]])7Sj\jh42O>QWdBWq?m9EH7e25k;bU)Yg/,\fm#Y@ni"?J#p-TOsb+h\.5&bZnN!G`FY#BGuog %DCH-1:OIMkgNJPnV$DeZ'C3WQY(P^`fSAe);O:#+^tPdR&'o0ATS)od/o[oh]^lIpP!/5A33MgZQnj-KCM:u$#If0FX;:9*%$,U+ %^[89^.b.A(Jq;EuP-%MVj*n^Y8]n(h0NRK'^Cdp]ZWc,90mI4TMtWbt.lu-#0q%##?X<-0F31^-pH?@*_nJ,2.GE!k/2^dKJ6Gg!r%]*gH!OLAj'$UVlO@a!3,n`RPV-Ufq]=>^/S;l5`M&3+cgKEu'SN_7n'A;YY>hb3HL\`q2 %a]+3/-"MFeqfj*4gRL18RJFssA3"k.'@LIj0=0HTNYfrbA&mUWmEt$5PMlYJH`,L[pglHR-&KbDm!r$O0=]19W0QU2,g)\ %qONI"!l&,B[]-/SX9"VUP(TF3'kfB<[MG)k('f#L9T)O@gi[#NVpok,QVh/6brVjB7"qS#f0`>t1+M-DamG"2I^L*T5!AJG)/J$[ %2JGa9_IcR>2l0@i^hY<,0iD7)V,2$PC,)9,;qMR!.332*`h'dl);8T%\SOF#so"]MAV#< %A#P^aZK@_+qK#?47?WpMFsT*"b8J]JDM7Bi!9J*YWs4j86]hNJ7dmoKLa@h=$=^^(c0EZ&KK2n5^W88V.ul2pMZ2Gb'2DCF&\/$: %bW[lModLMgWb^i79UG)q^@.k6rs6)k?=:hOcb2FF_sD(ER)ktDP1('pVac_5Zc*O18>F0AFN-S8$3'8tEKVCN\GdGR.b)]%Y\c"A %CfW(ZS.&2fet&-eb3GmkZ]Eno@/8`^e&)9q/`,LbW7`hZ(5IV+W#5.*Eef$p!]hWK>'G]XJSGV'1BPEU&__!XV<0F_=uJRG7e="i^^K6_P,Zf)6HRi"bn)XR=%sUfKd[W.>rWIralX8XG^:Nn2t:8@dJ0O7 %M3tZ9lmPrXfkY5_I#entBST`m^!GKB:WHbZp1"ldFVDLF=\L`4S1+;F%Xg^J*n$$fg'QM(Z(/or0cd?u,#k^'^`Gc7HEL^WTR,P4 %D\g63a21G'P.giig5@A7heFJHEm9D414b[>uaNM$P]BgR'>LWS:8c:K&B#6Zo-beX#o?\CW.rl,sh'hsO%.'OD_o])'"&gGE@e1`_"-l.K[UCPbI;Ys(3i18(k@rLX0 %dm@3alU;O6b"3%'0AVEm,:uN4n@T,cVOGdXiD&s6T&!r\c_qk`&N6h]c9?gd&UdEgB]rLH`,sSPqT/'L1:5M%!MB85h_!&0QRt9] %/7[a*@?,iJ`+8SDC#2\WI[R9c(0BK(:[SJ56!%@/U?s?kd/qs%=:ED<'#5hD;lmLRoEn@6luln$6PU?IP.i9/>*QT'WF<4\U]Xqe %<:H,YI-F@u/fhTc&k&DZP4'*4nJ\8j&A[*1j/%3E4Cj>D#\g&3Q]>u>=^o*LpS#C/7>;jVA?$D>(DL9rqXScf+$TWP#])XB<+c9MkXC&?q%j366]?.+Uu92(R1>LC#Vr(a6b&V2Qqo3,G0%"EY[]%07rWFIR#>L,H=pVLlZn`j %F8uUo2K-f[^J0n@`=#+JZqtC!+p_4ir'"(ni$(/6K\KgI6r!d+F^iIh3);\"5+ui>YfSN,!=\-b=OaK4p&cps1f6D]EZ>cRq$Ii& %.-;Z&'-OY-+(icNWAo<>U-shD6'-N616$@0'7>BL"J+S_?*hrt^q*uCJ*ko>PK.fPkV&IK`=+(ZaR %6U8ak,94j!,^rHg]!`DJ?g'?.o.8TA3R@E#ZLP/+[Ki?6!D/>rn0Z&"THr:iNinX,5h'[Q000(p0/o/Ld"[`,kQUG=f51`tCr&=# %AjeN1Hg\t#T&mNE]Ie`/2P7=FGQ4)RN1B-,7ulNM#Z0:$SE:!ST/OqrN)a:A"G`ACV"X^F5Tg7;[8lX,G2T)JpIUp.Wj\\O^j^\S %o)g2>o,Q3fi'8M3`Pq[g[l$[Q4\A3k8nZ.s?Y\:@E'P]t$9&h1=IYZ*+s %bALQ2No5P.>8;D2>3QOsA<="f&6lRe)19ddmn^D1$kW86BV1gI9Z;W+m%=Of$o20>\cTt(hHNW`snP,)7n/XIt30d`8%G<Ve7<]Cb=R2pBOd:CK>n"\N#uaRr$:b'UY]BHM4KK'WTR"(3$q@r,UoeFepR2<+=ef-ZK;m %WAU\?SpQ@prCVcT33A)T`u2k0as!F0FT`h=n#5TkY8"b.Nh@Th.k;`)]nINc)%3'O1)I9"#PB$)ZI?e",RaG4XFjeG/)hr0:+&?" %I&BjRK#fnXCAhg$Gn<6?n,`q!Kl'US1eI-s7a[0Ep&!d[3e/Cj$cU-9'C)>>>ts,]mW#`@k>tVA@oX7C>*RWW#C0u$2j=?THp9J/ %p+>^^bglVF&'UPYS84BS#$P1o:dUJf(,&R8Cb31aJuuVS%Z*Nk_=FfpkYI %^Bo$#I"Km"qeAo3GJh:md*99pmI#F*/d]GC]gpOWJBgTUad:G!Rra6@;_ElOPpi1mka]L`Wg"?c2cA;OTo!o]I>LGA-d]ar40Q9@ %q_1GjQ<"l>:4V6=<`OcrV!M8(-#maI1<3TYH"ZUZg:S0mf1@+mVC="76U*/SDurX^?'_@'S)a=9d3;Pb\[YU<%/PZ,4]ofX)T3&) %YiAgLS+CC86bDHuR;RZ4o_4G4m,i;]35V5p&foG"G)+@:J"n#+L0J^`@3sL:e+bH)cGV`CX.2[$J^b9Z&T":YC.2Y %adK37LF6E'/3^SIctt%..X_h4/5oY]9O4n;Ar#-!#SIGSaQ)#Acg.!M(`K19]cYef,=;':K(2ZnhnPS@pGf[c]Cu#H#_kH[AT`A] %LAG@4s-u]rmj:`mmdk/=!r.#RKPpD'@"2+l714?`"+o(-dMs+XBjMj59\Ulb%Wd@:WEq`TL&3k$6:Pa7G#fkNkW?2>4H5]u%=;Hcta8mLQZ,8T%j& %r!M%Yde%.7j$d@4I/3(IPq9TR9T'fK;^nY$YE:]ud7,qRCNuFg-p_1rD/Nt,[gqZhVYU^FaTtQpe7G/nVTl&Bl92:<;m'D90*:gq %oa>5<_3p"J9&@%a%<)Cm(k])^\Z;1BVRJo7jtlHP %[dF\QAlYo<,%k'F];C6kK99$Oj=[]9/j"Z2lIB8fT@[^7:\CT)G5+WT/S`L_>c2SFFGOV]?u$:jVD1=&Dt %H)(s6R"`EtT%][*=U(VY41k"h*Nf&b43TapatA'QM(.BDWIDFt-O(TTLa>;gQg,J$D*aci&@SR;O1Laa.GC8/s7E#=L[\kNpC=/' %^TH%A1`rBacaXOso_WNin?G;nU:.l@Pr;9@RE?F\1Z#o^'bn;oMsg3jo\=Yj)U6-5*[B.STXT=!Ge..q,i-?@>5:30@N`60'b`^7 %>LGjn\_14_P(;H=2&s1br^@K\!Y/pnUX6@5nfZdMm#Z_NK?:E&NR6Mmk@afm()ORrJDk/DuoXY5"a#P86!/Jn?2XN!BGf?X/F>b %6J.ZR=qeh`?/D$I27,@N_%L;c13JVI^DZR:M/n;`%'JU]WlDrB!1i.(%D*29SB4C%$$Zc^=UWmW0^il.8/nb1pdr"Xm_cLT%bP)EuBjR_XT2g3tM:&^*%DOjBK_'=I8_[-T%`^I"-%&_W^/!]i)>([tUKVjktli5Whhioj1M*@>_"A,QF9RYBEn6FL5Df/0aZIV`efe8]8,!W.cp2:]E]%cRK8e %];S0l//sqc;+!181\UH!Gl1Rh4&_s=Kf=a?E#jNbiV68:lNRo.JQ%tkfM@Q4G(iJoKt7>LY<=V;.b!:Q)nttWX-g3'H+DGkX4cg5 %WMkqdG7<>K13W9iXB=M,"9RPPi-!(O8_sP?]P_!8qEdZg[0VWU*Yp66l3Zd%bn_pD%L&g'*$l='pknLIeSA_p5!UA;EG#;-I?9RH %aE6WFa5&na+eA@E.N@\N6>&?jl]ggba$KXeRphU.e1GH%q1+8WE7e7aTb(ST%_mubndKZC-msr2h_b(f,CV5s4hbE$1#8#T#[*-! %O.?iI+5c.$:D,Um33TFnKqkgBLmkXL6?q2-;Z>CGEtrKY)a?3h1k&:)b/nIJ2.mr0Qf.Z %^MH^#DX3^;3hWT)"lh]8:di3*#(Ujqc!M'%&XfSW6HF[`e^PpW0DBP-;YJ1$ %;uPH71!`?V$Zg\@7^A20d3r6@emV\l`[ZU*;uIsX_+,#O!0t>[H7B%YMFLe*!TZXnFkW<_bT-.*`Gr\oT_8bCKUSu*fjT9L6Q %r:@ITB--0Q[I3L,3NI#[@3tbp4S4R&r#e;S)kUeKK2H-JfVdEr&R;.4S8gPe/@QXDp*]-F4b3;'Vf9!dhh&7&h^p`qRDI"MXkme" %okqB'+2pV3.\%6uWtdB^R6\SgWaTlURcC?p5"OXb$[TecLtp$0[ci_-1kGAR;S#Hm&6tI(/$#V%pbcL!,kT]V,`_^+(;QJ!2o:D: %Pii)?Orf?pNO/(QJ'_2ic:3tW7pu;rE.5El`\`/lU[Hf_/DpuLb%V[4+/D3qC,K[t;gMuR+q(*P]Mkm:EP%qZiX&Oi3lsap+JnRP %.Qb^)N>p(m'caZKh-ANk-JEq@QN/j@9a9++GX8,T?CB?16rq0Gpd1B:+$fQqN!,D8ZMC_K*YF_mOL$FY^[Y7^f`&0H %'PnGDgo8Xe&Yn)C?7u0%$$:F@SmK9ZZfN%LIZ$h+eF$cQ2WV^AZ)qXf]3104Mgk?>Z(0A.PBA[_OF'9rcfq.T1\]PP46MYBcWqo, %4:]Es'6ZeCApB#mSY:au;]Jm4^<(MSr\bW_$nDRE*ITK!g;Ha/Y8KbFcoXA[?6pn,_L&_fdVVgnXJ5NPW@&#]irdkKmulVM/cq(C %hYLA.[7B=s%!q$@ZXaXfHc@gEn)3Pt(au21_FTXdM7E$fR=e8+>d;qc;_W<#Q9c_J"mPi,_T/SIbuAd3i#c*\CBYsN(l+\aGrPp@ %'GKmU[k7qA]ps,M-6da37"]H3$"EiV:I=\ZLgg[;'IruGud70IM(Y]RHK3V^" %Y+VO3\oSIK_#CJ`I8hH%)84\._[6JL))jE>I[3IQE#M%M-AOW5M$Q!i<&oiuOS\'"oAHTF7lKc>D"P8uVd?3b6=`>'@jH4"+i@cu %Da'J@qu^PQ2(H:NlA"C=*mJM+I^:dYd&pf^2l7qAG4K2GG0Roi+:&r.$ZQ^PIA2nDh6q/o'##jVA(l&E93r(r+\r %c.GfJE#mf_)m5076Oj2K^@=5MCVi=kM'J]X*DWu:@m0't'YKkb&G0SXD#>KO'8`8O<'=a/?\_8%=$W=ikrr#&pe.Cm\sd]U,lAu7D4j7i).P9CRiFoN5_`VaNl:I0NSLHf<$A#TkfXiUR#S\b*iq>'IaSZ;@@G0b`(f' %UoAEo?L+bJ2@'/:/F$A#PpbQ=%-Ifg>gLVk((Ge<4#7!"T'9OA]4aV-&E!9E4K=Ns%+r=97ag>JV[M%&*ZFj\L@@kPk@#PK7d1E7 %$3tHmcE,Nmk%T:(iM2d^,pgka@h'LgoLGEh5[m3f@b:c\Q]%Y)f-+M&]9V=!7Ets&qD&l.2Z$O6V8ZT5/nVGb[d+D:%%>#iGm*<* %LTJGKgHAVOgo%M@TTMI?Y]?,-#si_*0d*f]8'T[>6Ej]aOQ1O.EnHs^?'K,@1Qta2XFL!L;V]Q!qoK7#_ %G[lIKB:*q:4m=VJmc4HZp7*:PZ/E#:5np(dYD()C[\@2-_(PBrV2B,q*G/*'(mPM6N?95=#`m-oYb@qhA@k56_r4AQl!=q>W7Kl. %E6[Ykgoe-MfhrT>OEjpa_B@-:`Mt7Z9bqALiE:::CN$LO;)]F:U*ilQk/k]6ac)9YmNSF&-41@0rF1eFL;mB[@)9o@>jim16G9t( %)-d]+M=]I.&`K4-g*k&)$,pX%MP'VN$X6fel'Y&e7pb%,4n!A(UNu"3KO'A6$tg4[UTZADT&+DOE.+t..FO!k"E3NolK=jf%Q'c[3<8,/nscPS'$PC#pH,&Z=3$_b59"b>N%r]UjdV*U]&_a\nEQp %hPGOmr4&2U?<7^edT[\g&Hfm&:kb@Z^P1"*T:QeE\WXSJ;jZSdU7b9M>XNU!$ZknLd8$XhLn6Yu04UA?ZaTRHmGE\ul!!WR=]46q %/&Q6=^0D]SQ*<)I1IX<.Kfg;JIcdd$<2P0Bie##gf-gcfbT9Dlb-A1N!EDi0-PU]Po1Y9WoJ(M`DXC"F*3p.D3DBZn5dkOn0^RCe %2Q.!d2R-QipKcl:K?"4l^?h[CI/V<%^tb@KED.q-@e%%c2DAmXMC]1&o3*]PUTKXf$@s7#L>Ne0ZHT*K(jq*u(;XDHJCCpE@&bQ5hq=Z85V3&oK"?je(=>7M[[Pqka)?j^4DE7,Da)ZF)_[3"QZ&*NB,"LaRZ4bnn %g*6:u_bi@bZ!p'71b1!73bk%>'c.,II3c+L?C?`/fetnt)ck0"&Rg38PT?(rO'cAJ0OMf8$ubI3M/d]3I^[rdPb#9kEI3&b$B!\a %W0LN*?>F.9KD5%J7^a_-GPH'_eUrRb]68H?kkhg(_KuZa+_Z5Or^/YfZIDQ1d]6d!4(Mrb#T6D7fSoB`Qj7k6^IXE1Bt#tFfUI>t %cVibV-d.:F*oTL&Jra5$#].K.*#j6Q4O_8rn6[eMY+qj#1'6bt(>fc.<11c4CNd&U?a?6Sas#CRUn7,3* %E_udRH[$bj?[<4a+1?!=Mn*_`fo%>S8c2B')Yh?oRoUo0EKf1Fjtk:n`j^;q[M\3dg/FR2X0A[3mQ#:MFd,"!BH&>rbdfRqL4C %]YDe\7t@Im.CH<6k5rXkoNR%_ihBBJd=oO`T!Ct:Gm*DJ76eH0ELWui)ke+!L0VbrNhDI=GkhVq9]Pd7W`gc5S(?Ot.I$f,"rtK. %!]7Z>.*nAM0b3RD1+9%fIF\L7buAQe-^q-K&*Hk331Ac,YHI179U6!V`mH5d%N#k1K]#3Vp:1NE=cpl,'J6kjopX.m`@G+omnGON6D<9XXZ(V1hdmp,Qa[C^T(YHJ"ZFh!TGc*-N1B""O'OmSYPBIZ7FZD+>-9EO,l`m4-$jI*p, %!%4fgb*]_d:uL"3N*@Ncq&FZcU.cV\qhd%"?sG_bl\l#6Nm9c7,UeB5(`WLh]fQ9[p^#n!%n=`573P]9n1j)\49I3Wp*u,3=XmbN %hNc,@9n"W?73\5qaKcT9YCo1IPHU9Dbej"r4tcVbOh.TSm7M&ir;)u`RN33Uqj#77Na(Uk'C$^bfLlW]P.:?o2Y*?#P_t$H'E%?> %iAZ6VBJ?Nf.pmfFW'jGK@GXd,lsT^""HL:2&@u>s!q'3]`eZ0%"&=FU^_*0B>B`4lRRD:7G4JDV>j$'>:JAT%St&ObIAb-E!o"C1 %eHY\d#udOdKC#)Qk!YnCtK/s'q:]'1Z"CQN@GpS0Lt?]]8%VL]Z.3,k!'++4_b[jP7.@A%GEDT %@Et!9cfcr8s1PN5e]]Z.Rp#$W=e5Y?SYPAGe9u\*[g@[8(pJaTs*'/p< %PRiFN*XPEJdF4a@>1lf34\@fL$;i,+GbIQs; %]/a)K%i/=_ho!mhWk@'Pjp4--IcaP!Si[1KNYr"=U?th81Wu[_:@!"(f#,@m5r4Q_?@VK/BH#:iNO$0;2pj>o+RjPFT'F>%U625! %D5Z>MpL/^c^$^oGDKG60p+d5h[bYq&L>5-BUFnK3%sXXbo1SAGSQg3Go6?S,d[/RNhHb&41BaEK@B@6W*;+?.8NN;I9>eg_NS_&< %%59k0Vs>55@C+s<)GNCeS^)"]IBL`9D@3\Vfd5.GWh*hQ:a(Qt2<%J_-2B)WK'f42@>AX<5X_!57R2TpUiugVE_M<*_GDM: %[^AS[UC6MG1=(mZW^iI\ZA5lJ25%!@M)6BZ*(!!NbP-O`9MH82=567'P4^0u\fAo%S)YV9f/`H!BkGKF_\!.Kt3Grk(g,hKiZlqV[cN;k7ZQ4)W7l+>0*WSX&&6k_6:HHL,-])2,^c]*;$ %e>"RU&5"Tu?NdgI>sGW+7,tX;G\O%t4s&e+D18;8Q-VJ0RSr,P.LqasgF4#n.o#o0iEHYtRU+qlTfo\[akqX&E?r$7J;pW?SZ-8a7qJp[$AY2Wmm %,Kia(8t/-AOgN'8W%/U&'t#bDVKShP=/[t1[@iAi+)fS_hLS+$(kAj6Jh[kY%12")m&A.mApXM[MDWpo_,:f8/]EQ&`unJC.i^r%s\n2\F$5X,b&kAF4G/_m0^i' %:$oY^Gp1t@'YlGMojt408*Q^rfr`aS:JHf!d#)itd6l*bQoK`_STRO1U99m:m@+!.+IPeTDp-*]],Gg7=UhKCAK../<2D;O-1*>. %:;]NBQYspi\8=:;6">6o4T*t*@&q\+6t\jWKB<>EZUk%'8[lQnJRut.NhQ]?P=\jp,c.I\?)soOVTuK7-cKa%;c,_7c7jf,D+Bno %%"HiF$;`SunB:2%nlA\J%VS[a+*t`Ae>1=dc9mHanI@Up_f05m]&iFeZDF]k!Z,;0='kmA6EDl'3"ZL=OuA)d;0+4;VTXljm.-H\ %=E5ZTse"+'=G]HN:"V<;ca6h*Mh0E(P6.U2PCfr8;GVS<*/T.+n:FAIL3TL=;).l(:R3in=kB3_kn3I*pY#LI= %MK`a#?megKpodb/B9/Z>Rni1s'/i5#(clnTYERk2Z[`qE$KSGB%=+Lu %=S,1jd3ua^r'88$4p,#DIi_==]0kO@d>I %h0kNTY*X40b`E8k@M/:#p^lDd;>4Z4ljA:]\2U@8EZ7:NdVbp2dkBg)_8L3"E_i$jIj>6^EHAo^'/p9Qh0%/SG]meX]:AQu!L[#R %73Ej0k.Oq@(pUBk'c^9u\lEZZfi80_P`HfrE(jma<=615c$q0o1/lW,YKSfo0nc?^qElYM2\ZmKZ?W7m'V9(e%mN3&"uPTVfSJK* %pim`H"n+IJWCX-o^B_4?gG3I3/=DdYC1NbkXNC(]O.2G!bA3LF;B`6u!K%buh=#M7;a!JTO$<,^EnYL""m)[CWA/6j2]oGUpGc1o %p#per@4j18P@Fc7YnK@cU3ksbcp<00+aA9>X_#*57`cu@lE8`efYmsH-6 %EkB#8Dr%t[$E;W]bIdhi>)bZu$q(!.C3&s#]Ps;F_'U%hL[6+C&r(p-^XK!tQe3`qgM_4Vn9J^K!BtET0Fp-4Ed*je([I(i.T'aq'D-(.`>J10t?cZf)f(U$rbN]fb %T7Ie/0p-04>_[b^([9Q6!ms7@GK$'G9(#(1VAVo]-'aK*f[iQ3gG&W*,en?Yo$_oA`(0Zf5_^A^b779PM=tpFC,!c!?=gWIC^&IU %QE;%uRN)QZcc7/+pt_n/W&j>oB-fOKj8YjN(LW/7drJ#G8C,Kelif3c@rj]6SQB4h@jOk7Qm!Ss.!KRUW$D7[D(D1m!>A,9M>>8aeh;%CmiLWF5tA>gUlhT!_2Nb)3V`Eg6h:WmNu[)q,'9mm>=$ %MV?Qd9;d;t8[Wm88*'_am>efU?Vpc!?J.-a@GYDhpV]+]#MQ.mrb`MZA/\\t7YbW")WQ;Md8"tPqtt9KQpBN:XY`aR1LO#W/X#[+ %=RIZBk\t74?_c6(1fD$:9UbAA2Ifs0.g5-Qo^1kcF;\X=G'K:i".6&LWeTtLAb`tin[Fr9*5=u166*/-'>!!*S\Xuq?qd%B,df5c %bq+OhG1]\)Eh0%O0O=!e?f;]Z<#-9Q4X4SfmW;gH':$a/^:SMTqW!f=YggRdO)@]j`.t0s!i[G#[u-lJ//Dl)'69iMPL;2Ikq14) %Ih9R3@^'Kold#Sd8SQ9@'L<2W_i!1spR<=1184[;]4rOs4SHm:\Wd(*RnfbA1,R"f1S%Ngjk;P;*5igjf-Q/m\%>7U4I:JhA\[[K %\>O%c06.>6#4!%Go@1`7'[H[klF4"J8uD#/0f%bi#b"u.Dje#NR6!uc"4`pt8X[a,3:lXL8>_^R-K8D3Z:2NWPc?9r)m_fqb'D>* %c67]%LGh6^f=$8dNK=FFa^g>MptTF06P7q4fV!&?nI#(1')A#-;AJ3'nd*V.:Fss*YX/nOKg%8:kiMVEoG[HbCoh:c\up8]LU/PR %)K_`=:J(SF,H0eKQIh2-mOKLn3AG3JS64.]=m\N-]udA(N4[m9)O-fbWb&CET=UTlL1ch<:lcg\&?Vq\`)J#6#UkW[&%Zu)!MWCb.cK1P^N[,ou.;Q %Z`?bbZsRfj:.kTppSc4Ib,F]'%.m,t>O@h^p;=8!Lu4TI]dQ"aNGK-iBg<4Y=3KMm5jtf&dj1bHCK#RMN6nVDRk?7Oc^Wb#g- %/h51/`p)PM:%R:sO2;*S:HVE]:3NN"U'UUB@#L*A>NsQ!K*Ehk[YiH?s>&a/3G)CGM2/!P]6o"9f2m1A<$R[d=8hAo2>hHuMGV;'-LF!79MhOfqqb,YZ9Po]U^7Y;..b %ORJBchDEC+,)<6B%B=.!>9\<;'<@TDesH&q?J;nZ!AjiZd6lgI1JN'DC7+Sg91a/Q'];+W&CaLeWF`0^<="pgC7S=Hj_0cNK %O%mZ]RJ,rt00/?s0c7CgR'G833C]jarR8YeX?%$'\nq,:gQ&i_q0pb/Sd4'cJc=c8Yi4OeiJsufFK75[-d:&p@"-uh#D'?&,:3.B %AY7_[Dl?(oc?2=tcr>=E8M6Tg;Gkp=@)05Rp1)gbq%W:Z-G.WN_PZ)b96eZPCos:k-YYh.l7+]SPr`>OKGfBm;UUom3O%Z#'odFj %mWLcKOmo!%`1&kaYB*')&8ZTO$;E<+p%MS9m089*-ZLJIA!*o6WK^'ab-+QK9H`X9g[,pLHS %O#UrD?6"@)]PmFV%>;Y-GG_<).M.IrKd>m5WQip-(eY:o@4@CneoF+YGgA@4McLr1&h&kXA#Lf"`7kMd[N:Gj<3>8DS %NYN^E&58pAVXH7u*4&+3).bg/OBOB)5=$k#P5a;D.?Wl*]KXC+mWSjS_l1Y,@mX[!f %HU'1r[5s@Ni*CfQ&a&UR#+dQj#R&"m7[p);P]l0SCeOZj$'fQC')d^f65#(%OsBkA=I0C'a$$c#3$nH-*?%D+UVcd(EW==2-^*f0 %FpCJLmdnfIq&?PgWF//MV9qice9>2h4;i:TA`RiUUT!- %FepFkb)'u4oiRO+\KBMJbCiC#IVItViaJ`Vj^CG9_jNq@$e[;#hVP*Ip+d_R+3kM\e,X37Sth]JI1rH4U:RHcW %1D`#s#?)sIg?Oe`&tn[t/8ur0i^Qf&\+;4K$$Xk'gPr\9gH$Fl._b[s?3lactB81U8Au,:gDNV@eHkageP4>n%N&C^GK5F&?CG#c["pJ8.C(@/sJ^h2nFSo^*KVCV3]%!@uR)*mdZ_A6C&,6N3B=km/:?,/jnlWG/G#bOeq9DRhZ6 %\aIRr\)po^UYjc%rOZsp$hkDUm9)D!TO/&>$4QPfiuKlSn@,8(b'-nd2%8b'%;VZ9R`hFo;)**Qg[We`)8i06Xs?d=?.KQL#u.1J %U;:%#F]W>6Z:G^PcJ,9P)DG-2ZCj^&3_#RM`"Y1qKmDKiGK[LXb!C+PLc7=u%b!Z6u?MQ_X8@1AG %WG-$`JeK"NjT;#pZnIYqSFL=kQ8Qj=\K=fA_02Or3cF%sDeF+p1iFn3Rjr/:I %^17N1arV(KQEc1+LGj2k73$26hN58DjY8q.HD[..O'60K_Z?.HSO.49Y&m%)FbZO/qgV_U]!ZG;-_qrs6lEY#YmV2j=][-X;EoQpI'O.J/b^kD'@dKr%fV#Fmf`lNZs#Y!:`MMl0u.riY3EpQ8bsG!om$e`r5+2?=?W-#tka.lTm<+5+P30:Si[G"u\3JM`'QS %,>`:l4>`r]g2M$a/KRdj>Yc/kG;H[V_megXQrAPE\gl9LZV$am`Zd/U/uq*/?M+)n+?q$o>7OE@L.^NUJ:V,335#nDG7lqn_TSiN %pM'Un5p5fJ`=$l2`TXRsAJKo_&T6uVeVOeY-:F_Co'eJ)`."SFncg/eE2^Xc$GK2qfJQo<\m7Pg6%I3?24,MHL\\YtE\*3Er>(Q\ %#Y1nEk4OHe,T1m@8P5+Ta?9g3`Lr>]1\`1N^e?Ca20fJ)M:qM,fps@3A&aW.dh>U7]2J\qAbYhKCZVY85-(;k[Q,%7OoZDjH?;F%`+&4%ZKOnMWm8T.'7SOF %LmBH@p.@J.HCg_?%ZdZ?On!7iS/>1]N+Z<;G\17l@,^]cj[d?AT^!+1+OE4-i2UP2%SICacWBc>1[;=YMjdotjn*MQ[ufn5$/NA*OoP)>"nEStUft.DF)cR"Y4H$;5YFEJ2u=RX&YO#QLMu6qs>W %j3WP^S)si(CuJO)5u:-iIguKPO1hR:7R7E)eQ_>#X#q!Bc9#!$9BnYk[nJ=(b9(E\f&TK_TEtIU&Y^Ia]2N0csmN17SR(2!Gh!CT7K^)>X9YXOqJk])U%M&.! %=(\r-&s*hK25QU1f;7B1m?D\RI]cXV=ke#4;cISi'9("tU.G(](+sd\B"BHG2ZL49LXl+p8gUc;E2B:5[[O9_keaFmq.Pd]X&SdTrR@QT>fOK3_aY*3 %-aDBqJ[qQ':"/H/f6ZQg%(:i>IuS*4YamKp*&'S-6ZP=^bci*:ZjbFT?&bq6F30T@QUiXJEOZI7eY*&D"KG^^.#?.H\I %i_-@Lko@D3\[>]^jsbk;):%eUBe2hi>UFjI<[#3s9oil729`[a^]G"?[:#7'dOSo8-ohXDB*pO7kTkoSjsb4Lj.\<&A5(6["t?9 %X8>W=6rX,dE)iLLWZfN%JmOjZ-$54Z$<7j47QQLT?[gYgHr!W\k=C2Q).N3H)Cjosg#M\d+]RE#8,3 %Ra@MNT^7qh(.)mr52Jn<@N.\!Y:*t@]d(kGhK9dZVe+5t5Fo4PCBaOSdnIoUbIc;eJN/hhHod&BdoE3B,k`us)I`>0^$7f07+)hC %YOfn>D;&(`F`j_%:Z?7JLUGh2Aq_CY*-%Eo9&2:)YYI@;M1VKjKPg'Zdk:NEW%Ujukf[kOAjNrq>'c:RiuR:A?9S*-s8D$Nc[rH-TK*G:hV %)gSERcdDQ"lWWG*9+Ll>N=V+[;GKS\uH&=oB::4;UL,S?C_fN2G*IejeE;5Q^B) %Ce&BL]UAjQiX:MZF?Fs*m"TaE2Og%+FM9Q.esPl7kIon,lr:HOUp+_0T#\VRSL?kL4>9F.5ha4,WGrFY0OpNraCEB8.Wm""[@<>" %1dee5iHRns8,;:lC*.!a0&5i^Z;?:I7$a:%`3[6cHVliI^_\rp9nfUM2\9t9`OHVX0q7&o8VkMe*I/LJ1-L7?(GXij3p(Z$[#UL' %;4D]IS'5m6e9Fs@P,DXVOb_V\9iDpIj\i#GMkoW9Pt$T>a%82"OMpOVaKaoJhG124NXI;>bH@_d'PY\*5_lRXnB4;IuYGpqoK0"+WB.639L2p8G=c %FaN9Dd"?@.4u;eN6F]_FA=D<.iEDe7[dE*/pOGJ^nSudmPWl%nP``9N86m5dd_:)Oa?.m.ZQLt3IR^&nrHq_3'k:A.^J4.o4/'c) %*_inE65qBH*H6*o>>@b&HROEP9*X?P+;M%(>'li0Kf=`8bg_kdDE[YL8!OS"Xnqd>[IqoE/_AL%rt9->BQg.4W$#l_BE3@8kN.*; %[-5FAOm6Ku.O'op"hTdYSFX;gkmU4"1RqQC%2ClgqG@9b5nt0Y%Yd>HIJ%;$Q9(Oud-"O!M?9;Lfn5Au2VDfQRMsYK+60TN9d78dsjW;dY:t"RnOh@OBN] %d(+IX;im6fh-s^Y=OMCgAjP5:PYAK0ojR_u-5;;WLKBi&Q^U,f*Vb&o:0G7$QbWOg?eRJs4m\&ZmVet@Ioj%Op$=$E?U]ggf:F]VCQl'p(tnYh!GHd[ZtKq&K/90q#-Por;6NcTE"h5s7!M4r5IRkc!UMIlbEAkJ,J=ks&%DIjY-Y_lcT7h %p$^(t5nl,;bAJ&Z'D:s8T5D2N\h9[HX97t``r,]1:[Y/7p+KePh7n@%W#"5]/]1uggLoPMcI@:B_I5RJUn9JAP'XDRhEV$cUJ)b# %P`K2OXA/Nj$\&H$*)+aUg7F?)rQj=iDu/r%ZX.cfWhj\,H.AUOSU:;0Mg(rA0[osJ6aFD]:)(_Br+/F$J/C!4f.p!F8Flm^.G`1g %r;(a/;/Fc=!]Zr<),TB;?c?p$t28+_M0eU;"dl,@[cjNIHWP?728+GgqB8KRX9Rn%IaIlqj'H\\74=I,9U1rVTh;RG33 %`d+T!1N.tBU4*EO]d/t=]KRJW^f#ATPtgWp:>6&K,]qtsgI0%g_1AS(IYZk`7LbRZV4l7909.oIW]jb(RU/3Yb%VVN0A!Ueg8s]h %\4uIXn#)%GEE\]dZM`=`=]J6"=GTQ>DL-fsGN7L!i>\Y.$l<8L$B^+TqH!fPWb#+YS(VOM]-gG2&BjKQ`hhf#hUlHqWbH2d^TF39 %0-KDP/m>%W]ab(46YD[N`Su5)$q$JalW**c+q34TKrcW411tXZ0;#]Ocm4Y/Mk@^&;8@FiX6t/#mq,60ZfnB;rJh$7m`^j8F1iJF %>F_s:;bUS.!C+=`ldMY<3XSs\>UNbt&8^b]#h2t:h>*`O"DAOA.3h)<5\Z_h@o&07N(h2%&S#1)@M6oYg4.9_h3LiJ$/\fZ(jr5I %qjUQ(=mY0rhCe%tP;?*uGpW%U7.SG6H0rR(9- %V*>m1.0R08PK&6AM2+._GCD[I1_@Jk,mm/KVCfGLi_s4RpSRf=a,WsG1V7Jhm4c0l5CASBN?:[8J(FDRU&.fGWit`RXsoS]c1FD^OGuleD]FF)"3r6hG?`!%n2:B@A;@,FgU:8:HMM`$;5R0Rf,m3D-;ek.[d)b3+5nK'IC7H %N9b@[\f:s;j7b@m9(;$"[gA=$J+s!!n:&QYm2:lWSXq!O5OfWFf.WbfRA3?^lKLN(s4=gCj#s$3f)Rton\-Vcp>"s]TCZ,Z9)mkn %a$"4!G^X;F#Q+2)ED4eehBO.RS@>3jB!9/SRc8@mdr7rDoOZ2-Fo7L4k4^XGaj]f@E)2s_#&DMCb:mkqT/))LUgml %o'X#(6W8s:@rbP4#&R@"q73Z3dS$R/NFE1nGiDW'b5@rCCYiLsJ%G[-oW\[n`b.!^GC)gGrRCSW^AIU4s8*7s:\9iHq)0CO^9pKb %JWYAJO\7rGb6@/BZ/@H`2guU!pPJ=9N?8AfEiJC9D0l!9,"iLTR60rppj&^c@I,iNXRX2_rT&ZA_uB7orQARGjY-Yqs44fs#"8O9 %f@7W*=,d$c05"A]6tU]e(js*Dn=t58LG[^kYCER$6%7rmi_%S=f:cNVcVW0VeE-<4.R8%0L2)R1YPMq,ADk&ol-jkfqhlP?gHj[Y %&"VDoKNi^"o'+jB[R@$PpBsXuC:#5#?^.G4rZeR\.V56\n*d\t5lUaqU\$]=iY7HJVPF\T$KM*YDOP2TX1r]\+)O1\'i>'Nn2-_W %Q3@*D%I);tN*`FH^fu&s1Spr=rT*O3,el_dPA##Oa>!5Dm7hZ*POeai%p %#O2*rM\#F_25-Y+n7hgq3!p68D>hr'cVO93HbLRoPr@p&j1ZN+rQSb78oC6?miRN2%oiK*F`ohGNQ."a;@e3SY44EGl89Q:bh*C1 %jmq[D?/TG*5/p:L_-asElWA&_kXhhkM8GRX'aNju7h_/Ok&#Q+WiG08Hh"Wc.c4>-I&M]QZq^Ss`B46^EG6$]Plqua/6]-aNi^`2 %X2Ob5N`NXE>X-d(+.iXh>b7[G:ZL@4m#0@#qtMf1kL]Y%@pR\RntNetON(oXOVKoXNRYp+^\J.*km0YL`e)>#i^uL_F?laK`6s2G %>IL)Ws(lulp:F2l-l3gdGE]DmNdu#=.=in%qVZh_,^:R]l_f^aL>XHJr>BJmVUNSoU*6CQA+MGN]utdN4pYc\e[5c"R3Br:p*S5s`#DH1#qj"`#hb4b/I3J6PB.=GhqBZct@q>`VF\.A>6B99r9n"q4Xo(\!D7^m6,G"S7NR'uF_dsMr>cbXKZ,u>0qgJX\1BI=GRm'Q( %o$rQ/YBu"`]BKn&*aV!pqMAQD5/bhDe$U\nOS%eWAhM&Bk1&q4hsE2eO02HG@[3i_c/+Fc#[KEVFZ7/_rG&J=A6"YE>M(#0-[%jd %Yj_Z8m:4K?B_iS=G@U$V+*SBY8Zp/3WGLehaYc_kGOrnTs8%$sUZjgE(@sRg]Gh#CIp(clS*f=[ %rV&Z^[0QT*%V$8sA9!NR7YeKb@hfA*+lZh[&!g[b,;H.kFT;t1UY[q.%fX3:Nt2t5]A$:akJXKK*om2'+"b,R7cpJN#3=fV2/M`: %5/XEH/O+jG+HGes_@r %Mm*uY$,cjEV"W4.0n/T2q_YDC*^9?"J(spEHZ[:5"k2Vk]-$''7pJ&la %TUXeVn8c2"RAp*GG)@N+@;0+eC:.JNPje]h%VXLI)iiGhlgj0sLr]a+Gj=FU.fh9'[9G\6d= %*uulHrM08_p)gL6p=k'P8jE1>QNCeRX-+;4f]tDRG6C!WR%QNLqTm0^n^5q$J.I^nqT=+)uMkGmDMs(M:s*:I3_9TG`e %4n&+CDnc/.YQ)*-?iT.Nr3u-Er#^Fbo@L0QrpY^CoZ+`Fe,T+(5Q9Krs67j:rq;u`q#C?XQTtJe56uc/VuQbmb:eABkWs/G,QPIgZ&J,#*)qu?NSrs)b/P;r~> %AI9_PrivateDataEnd II*y R}}}}R}R}}}}}}}}}R}RR}R''}R'}R'''RR}R}R'}'}'R}}'R'}''}''''RR}R}R'RRR''}}'}RR}R''}''RR}}R}R}R}R'}}RR}}}''}RR}}R}}R}R}'RR'}}}'RR}''}}}}'}}}RR}R'}''}'R}RRR}'}}'}}'}RRR}R}RR'RRR'}R''R''R}R}}RR'}}''}}'R''R'}RR}RR}'}R}R}}}R}'''R}'}'''''RR}}'''}'RRR'}RR'R'R}}RR}RR}}'}'''}}R'R}}}R'''''}''}R}R}}}RRR'}}R'R}'}RRR}RR}R'R'R}}}RR}}R'}R'RRR}R'''}R}'}''}''}RRRR}}RR}RRR'R'}R'R'RRR'R'}R'}}RRR}'R}}''''}}}'}'R}'}''R}}R}R''R'}R'}RRRRR}}'RRR}''R'''}'}R}R}''}'}R'}'R}R}RR}R'}R'}RR''R}R}R'}}}R}R'}R}''}RR}R}R}R}''R}R}'''}}}'R'R}RRRR}R}R}R}R}RR}'R}}}}R}R}}R''}R}}'}R}R'RR'}R'}}R}'}R}RRR'}RRR}RR'R}'RRRR}R''''''}''}'RR}R'R}R}}}}}'}R'''}}}''R}}}'R}R}R}RRRR'R}RR}}''}}}'R'}''R'''''R'R'}}''}R}}}'}R}}RR}''RR}}RRRRR'R'RR}'R}R'RRRRR'}}RR'}R'''}R}''}}}'}RR}'}''R}}'R}}'}}R}}R}RR}}RRRR'R}}R}R'R'R''RR}RRR}R''}}R}R}}}R'}R}''}'''''R}}'R'}''R'}R'}''R}'R}}}}'}}}R'''}R}R''''R}''}RRRRR'R}R'}}R'R}R}RR'}R}R'RR}R'}}R'''R}R}R}R}R}}R}R}'R}}''R}''RR}RRRR''}'}R}RR'}}}'R}''R}R'R}RR'''}''}}'RR}}RR}'R}'}R}RR'}}R'}R}RR'''R}R''}'R}}R'}R}}RR''''}}'R''}RR}}R}RR}R}RR'}}}'}R}R}}}}R'}}}}R}R}}R}''}}'''R}R'}'}}}}R}RR}R}R}RR''RRRRR}'}}}'}R}}R''}R}R''}}RR}}}RR}}RRRRR}R}'}R}RRR}R}''}}}''}'R}}''}R}}}'}''}'RR}'RR'}}}}RR}}R}RR}R}'''R}'}'RR}}'}'''}'}}}R}R'}}}}''R}'}}'}RR}R'}'}''R}RR'R}R}}RR}}''RR}''''}R'R}'}R''}RR}'''}''}RRR}R}'''R'}R}R}R'R}RRR'}}}'''}R''''}'}R}R''''}RR'RR'R}}RR}}RRR}R}'R'RR}}R}}''RR}'}'}'}}R}}}'''R}'R'RR}R}RR}R}RR}''}RR}R'''RRR}RR}}}'}''R}R}''R''}'''}'R}'R''}R'}RR}R'R'R}RRR}'}R'R'RR}'}R''}R}R}RR'}R}'}}''}R}}R}R}}'''}}''}'}'R}}R}}R'}'}'''}'R'RR''R}}R}}RRRR'}'}'}R}R}''''R}'}R}'}'}}''}''R'R}''}'}}}'''R'}R'R'RRR}}R''}}R'}''}''R}'R}R'}}'}}RR'RR''R'''''RRR''}''}}R'''R}'}}}R'RR'R'}R}}R}RR'R}}}R''R}R}RRR'}}''RR}}'R}'R}RR'}'''}'}}RRR''''R}}R}}'R}RR'}}RR}RR''RR}'}'R}'R}}}}}}'}R}}}'R}}RRR}R''R}R'}R}'}}}'}'R}}}}''R}}R'RR}}}}''}}}R''}R}''}'RR'}R}}}''}R}}R}R}RRR'}'RRRRRRRR''}RR'RR'R}RR}RR'}'RR''R'RR}}R'R}}}R}R}'RRR}}'}'}R''}'}}}'}R'RR}}}R'}RR'}R''}}''''R'}''}}'''R}R}RRR}}}'RR'}''RRR}'R'R'}R}}}''}'}R}RR}R}R}}}''}RRRR'R'R'}'}'}}RR'R'''}R}'R}}''''''''''''}}''R'R}R}R}}}}R}R}R''''''}R'}RR}R'}}R}'}R}R}}R'R'R'''R}}RRR}RRRR'}R}RRRRR'RRRRR'}}R}'RR}RR''R}}''R}}R''''}}}'R}}'R}''''}'}}R}R}R'R}RR}R}'}}R}R}''}R}R'}R}}R'R}R}RR}R}R}R}RRRR}''}R}R}'''}'R}R''R}R}R}R''}}R''}R'}'}R}R}'}R}R}R}}R}R}RR'}R}R}'RR}'}R}R}RR}R}R}R}R}RRRR}R}R}R}R}R}}'R}'R}R}''R}}RRRR}}RR}R}R}'R}R}R}'}R}}R}R}R'R}R}R}'}RR}R}'}R}R}}R}R}'}}}R}RR}}RR''R}R}R}''R''}R'}RR}R}R}R}R}'RR}}}}RR}R}R}RR}'RRRR'}RR}RR}}'RR}R}'R'RRR}RR}'R}'}R}R''}'}R}RR}'''R}}RR}'}''R}R'}R'}}'}}'''}R'}}}''}'}}R}}}}}R}'}R}R}}RR'}}R}R}'RR}'RR'RR'R'R''RRRRR'R}R}'}'R''}'R}RRRR'RRR'}'R''''}'R}}}}R}'RRR''''}'}}'R''''}}}'R'}}RR}}''R''}}R}''R}'''''}}'R}''RR}'R'}'''R'}R}'R}'R}RR}}RR'}RR'RR'}R}R}R'}R'}'R}}}'}RR}'RR}R}R'}'R}'R}}RRR}}}'RRRR''R}}R'R''R}'}}'}'''}}}}}'''''}''}}}'''}}'}}'R}''}R}''''R}''}'R''''}'}}R}'}''}'}}}'}''}}R}R}''''}'RR}RR}}'}R'RRRRR'RRRRR}R'}'}}}}R}R''RR'RRR'''RR}R''}R}}R}}R}RR'}'R}''}R}RR''}R}'''R}}}R}'}''}'R}R}'}}'}'}'RR'''}'}'}'RR'}R'R'}''}R'}}'''RRRR}'}}R'}RR'RR}'RRR'R'R}R''}}}RRRR''RR}R}R}RR}R}'R}'R}}R''}RR}R'}R}}''}''}'}R}}}R''}R}'''}''R''}'R}R'}''''}'}RR}'}'}}''}RR}}}}RR''}''''}}'''''}'}R''}RR}'R}R}R}R'R}}'RR}RR'R}'R}''}}R}RRRRRRRRRR}}}'RR'R}'R}'''}R'R}'}R}'}'''}'R''R''}'}''}'''R}}}}}'''}}}R''}}}R'''RR}R'}R}R}RR'}}}R''}''R}'''}'RRRR'R}RR}'}'R'}'}R'RRRR}'}R'}''}''}}R}}R''}R}}''}'}}}'}''''''}R}}'R''}R'}R}'}'}}'}}'''}}}R}}}''}R}'}R'}'RRR'R'RRRRR}RR'RRRR'}RR'''R'R}RR}''R}R}R}RRR''}R''''R''R}}}'}''}'}R}'''R''}}''''R'R}'''}}}}''}}''}R'R'}}''}R'}}RR'R}R}R}R'R'RRRRR}'R'R}RR}RR}R'}}R'R}}RR'R}R}'}'R}RR}}RR'RR}'R}}R}R}RR''}'R'}}R}}'}'}}'}}}}RRR''''}'R'R'R'}R}'''''}''R}'R}}}''}RR'}}'RRRRR''R''R}}R}''''RR}'}RR'RR}RRR'R''RR'R}'RR'RRR}'R''}''RR}}}'''R}'''''R}R}R}'R}}'R''R''}R'}}'''''}R}R}R}R}'}''''}''R'R}RR}}}'}'R'}R}}''RRR}}R'}R}'}}RR'R'''R}RR'}}R}R}RR'R'R}''}'RRR}R'R}RRR'R'R}''}}}'}}}'}''}'''}R''''''}}}R}R}'}R}R}R}R}R}R}R'}}}''R}'}'}}''''}R''}}}R'}RRR}RRRR}RR}}R'}'RR}}R'}}R}R}''R'R}R}'}R}R}}RR''}}RR'RRR'}'R'''}}}''}'R'}}'''''R}}'}R}''R}RR}'}R'R''}}}'R}}}R}'''R''R}'R'}R}R''RRR}RR}'RRR'RRR}R}}}RR}RR'}RR}}}'RRRR'}R'}}R}R}'}R}''}R'}R}R''''}RR}R}R}'}R}RR''}''}R}}}}}R}R}R''''''''}}}}}}R}R'R}'}'}R}}}''R'R'R}}}R'}R}RRRRR}}R}RR}RRRR}''RRRRRR}RR'}R}R}R}R}RR}'}'''RRR'}R}R}}'RR}}R}}RR''}'}}R''''R'''}}R}R}R}''}'}'}RR'R}R'RR'}R}'RR}R'}RR}RR}R}RR'RR}''}RRR}R}RRRRRR}'}}'}''R''R'''}R'R''R}}}''''}R}R}RR}R}}''}}}'}''}'}}}RR''}}}''RR}R}R'}'R'RRR}}R}'R}R}R'RRR'}RR}RR}RRR}R}R'}'}RRRR}}''R''}RRR}''}R}RRR}'R'''}R'R}'}R'}}R'''}'''}'}}'R}R'}R}}}RR''R}}}'}}''''}}'}'}}}'R}}R'}R}R''RRRRR}}RR'}R'RR}R}}}R}'RRRRR}'}}'RR}RR}RRRRR'}''}RR}R'}}'}'R}'RRRR}}''''RR}R}''}R''R}'}}'R'''}'}R''}'}}'}''R'''}''}'}R}}}'}}'}}'}}R}}'}}''}'R'RRR}}R}'}RR'RR'R''}RRRR}'R}'}}RR}RR}RR}RR}}}RR'R'RRR}R''R}R}''}''''R}}}'}'}}R''}'}'RR}'R}R''}'''''}R'R'R}'}}}''}'R}R}}'}}''}'R}''}}}}'}'R'R''}R}RR}R}R}RR'}'R'}RR'}RR}}'R'}RRR}RR}R'}}RRRR}R}'R}}RRR}}R}R}'RRRR'}'''R'}'R}R''}''}}R''''}}R'}''''}'}'}}R'''}}}'R'R''}'}'}}R}}}R}}'}}}''}'}RR'RRRR}R'RR'}'RR'R}'RRRR'''R'RR''}}}R'R}'R}RR''R'RR}}'R''R}}'}}}}'''}''}'R'R}''}'}'R''}'}}R}R''}}''}''}R}'RR}}}}'}}''RR}R}}}}''}RRR''R'R}'RRR}'RRRRRRR'}R'}RRRR''}RR}RR}R}RRR}}R'R}'}}'}R}'R}R}R}}}}''''''}}}}'}}}}'''RR}}R'}}'}}}'}''R}'RR'R}''}}R''R'''}}RR}''}}R}}}'}RRR'RRR}RRR}R'''R}}RRR}RR'R'RR}RR'R}'R}'}R'RR}RR'}RRR}'}}}'}''}}'RR}'}R'}''}R'RR'}}''''R}''R}''R''''''RR}R}R}'}}''}R'}}}'}''}RR'R'RR}'}RR}}}R'}RR'RRR}'}'RRR'RR''R}'R'}}R}''}RR'}R}R}R}RRRR}RR}}}}}''}''}'}RRR}''}'}R'}'RR''}'''}R}'''''R'}}'}R}R}'}R}R}RR'R'RR}RRRR'R}R}R'R'R}RR'}R'}R'}RRR''R}R'}}}R'''''}R}R''}''}}R''R''''}R}RR}R'}R}R'''}}'R}RR'R}}'R}'RRRR''R}}}R}RR'RRR'R''R'}R}R}R}R}'RR}RR}R}R'RRR}RR'}'R}}R'}'}}}''''R'RR'RR''''}R}R}R'}R'}'}R}R}R}}}R}}}}R'}'}''}''}'}''}}RR}R}R}R}RR}RR'RR}}}RR'R'}R}RR}'}'R}}R}R}}'}R'}R}R'}}}}''}R}'}'''}}'}R}''}'}}}R'R''R}}''''R}}R''}R}}'''}}'}RRRR}RRRR'R'RRRR'RRR}''}R}RRR}R}RRR''R'}R}}}}R'''RRRRR}R}}}''R}}'''}R}R'R}R}}}'''}}}}'}R}''}'R}}R''R}R''R'}}}}R}''}R}}'RR''RR}'RR}'R}RRRRR'R'RR'R'R'}R}R}R'}R}R}RR}R}RR}R}RR''}}''}'}R''}''}'R'R'}}''}''}}R}'R'R}}}''}}'}}R}R}RRRRR'R}'}}}}}'RR}''RR}}RR}R}'}R}R''R}}''}''}R''R''}}'}'}R}}}'''RR}}R}'}}'}}}R}R''}'RRRRR'RR}R}'}R}RR}R}'}'R}R'}''}}'''R'R}''''R}}}R}RR}}}}''R}R}R}R}R}RR}R}RR'}'RRRR'R''RR}}RR}R}R}R}R''R}R}R}R}}}R''R}}R}R'}R}'''''}}RR}''}}}RRR}'}'RR}R}R}R}R}R}RRRR}}''R'R}R}'R'}RR'R}R}RRR}R''R}RR}'''R'R}}}}RR}''}}R'R}R}'}RRRR}RR'}RRRRR}R'R}R}}'RR}RR}}'R''R}R}}}'R}'}}}R''R}R'}'}}}R'R''}''R}R}'}}}'}}'}}RRR}}RR''R}RR'}RRRRRRRRR}R}R'R}R}RR}}''R}R}}}}}'}}}'''}'''}}R}RR}'}'}}'''}}R}R}RR'R}R}RRR}RRR''R}'}R}R}RRR}RRR}'''}R}RR'}}}'}'}}'R}}'}}R}'R}R'}''R}}'R}R'R'R'RRRRRR'RR'R'}RRRRR'R'}R}R}'}}}}}}R}''}''R}R}}''RR}'}}'R}'''}''}}RR}}'RR'R'RR}'}}}R}RRR}RR}R}'}R}}R'}RR}}R}R'R}}''''}'RR}'''}}'}}R'''''R}}RRR}'}}R''R''RRR'RRR'}R}RR'}''}RRR'}R}R}''}R}}'RR'}}''}}'}'''R}R}}R}R'R}}''''}R}'R}'''}R'}}}R}R}}'RRR'R'R}RRRR''}R}'}R}}R}}R'}R'RR}RRRRRR}R'}}}'''''}''}}'}'}}}R}''R}R}R}R'}''}'''}'}R}''R'''RR'}'RRRR}R}R}'RR}RR'''RRR}'R}RRR'}R}''R}'''R}}}R}'}R''}R}'}''}}}''}}}R}R}}'}'R'}'R'R}'RR}}}}RR}}R}}}'R}R'RRR}}RR}}R'''}''}'}''R}R''}R}'R}'R'R}'''}'}R}'}'}RR''R'}RR'RRR'RR'}R}'}'RR}R}}RR'R'R'R''R'RRRRR}RR}R}'R''''R}''}}'}R'}'R}'}R}''R}}}R}}''}}}'}}'}R}R}R}R'}''RRR'}'R}}}'RRRRRR}'}R}}R'}}R}}R'RR}RRR'}R'RR}R'RR}}R}R''}}}R}'RR}R'''R}R''''}R}}'''}}}}'''}'}R}'}''RR}R'}RRRRR}}RR''RRR''}R''RRRRR'}'}}RRRR'R'}}''RRR'R'R''''}}R}}R}'}}}}}R}R}'}}}}''''''R}''''''R'R}}}'}'R}}}RRRRR}}R}R}'R}}RRRR}R'R''R'RR}R}}}'RR''}}'}''R'R''}}'''RR}''}'}'RR'}RR''}'RR}RR'R'RRRR'RR}}}R'R'}RRRR'}R'}R}R}}R'}R}R''R}''R}''}'R'}'''}'}'R'}RR}}''R}'''R}'R}R}}R}R}'}R'R'R}'R'}}R}}}}R}'R}RR'R}R}R''R''''R}R}''}'''R}R'}RRR}R}R}'RRRRRRRR'RR}R}}R}'}RR'}R}R}R}R}R}RR'RR}'R}R}RR}RR}''R}'}}R}R''R}}'R}R}R}R}R}R}R}R}RR}}}R}R}RR}}R'R}R''RR}}RRR}}R'RR}RRRR}RR}R}'''''R'}RR'}R}''}'}''}R}R'}}R}R}R'}RR'R'RRRR'RR'RR}}R}R}R}R}R}R}RRR}R}R}R}'R}R'R}R}}''}}''''R''}R}'R}R'}}'R'}''''}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}}R}R}R}R}R}R}R}R}R}R}}R'}}R}R}R}R}R}}}}RR}}R}R}R}R}R}R}}R}R}R}R}R}R'}}}''}'RR'''R}R}RRRRRR}}R'RR}R}RR'}R}RRRRR'}R}RR}R}R}R}''}'}'''R}R}}}'''}R'''}'}}}}R}R}}RR''R}}R}R'}R}RR}RR}}'R''}R}RRR}RRR}'}'}''R}}}R}R'R}}}R}R'}''R''''RRR'R}R}}''R}R}}}}R'''R'}R}R}}R''}'R}R}R}''RRR'}RR'RRR}RR'}RR''}R}'}R}R}}RRR}}RRR}R}'R'}'}''}R}''R}R}}'}R}R}R}R}R}R}}RR'}R}}}R}R}R}'R}'}R'}'R'RR}}}R}R}'R}R}RRR'}R}R}R}RR'}R''R}'RR''''R}}'}}'R}'}''}}R}RRR}}'}R}R}}R''}'R}}'}'R}R}}}RRR}RR}R'R''}R}''RR'}RRR}R}R}}RR}R''}'R'}'}R''RRR'R}'}'}}R}'}}R}R}'R}R''R}'R}RRR}RR}R'}}R}'RRRRRRR}'RRR}RR''}'R}RRR}'}RRRR}R}'RR}''}}''R}R'}''}R}R}'}'}'''''}}''}R}}}}}R}R}'}R''}}''}'R}}'R}}''R'R}R}R''RRRRR}}RR}}}R}RR'R}R}RR}}RR'}'}'R'}}}}''RR''}}}}R}R'}R}RRR}R}}}'RR}RR'RRR'}'RRRRR'R}R}R}RRR}R''}}'}''}'}'}R}'R}'}''}R}R}''}R}R'R}'RR}RRR'}}R'}'R}}}RR}'R}'}RR'R}R'}R'R}''}RR'R}RRR}R}}}R}}RR}''RR}R}R'''RR''}R'R''}R'R}'''}R'R}R''R}R}R'}}R}}}}R}R'R''}}RRR}R}RR}RR''}R}}R}'RR'RR}R''}}'R}}R'R}R}''}''}'R}R}}}R''''}''R}}RRRRR}'}'}'''}'''}}R}}R}R}R}R}RRRR}}R}}R}'R}'R'}R}}R'}RR}}''}'}R}R}R}''}}R'R}RR}}'R}'RR}'R''R''R'}RRR}R}R}RRRRR}''}R}'R''}R}R}}R'}}}'}''}'R''''''}''}'''R'}'''R}R}R}''}}R'R}R''R'RR}}}R}RR}}R'}}RR}RRR}R}}R'R'}}R}}R}RRR}}R''}}R}'R}R'''}}}R}''}}'}}'}R}''''}''R}R}}R''''}R'}R}'R}R}RR}'RR'R''R}'RRR}}RRRR'RR''R}}R}RR}R}RR}R'}RR}'}}}'}}R'}R}}}RR}''R}}R}'}}}}''R}RRR}R'}}'}R}'R}}'}RRR''R}R'}'RR}RR}RR}'R}}R}R}''R}}}R}'}'}'R}'}''''}'R}R}}R''}}''RR}}}}}}RR}'R}}}'}R}R'}R''}R'R}RR}R}}'}}R'}''R}}R''R}'RR''R}R}RRR}R}''}R''}}}RR}}}}R'}}''}''}R'''''}}'R'R'''''RR'R}R'}R''''}R'R}RRR'}RR'RRR'R}'R}RR'R}R'R}}}R}R}R}}R}}R}}}}R'''''}R}}}'''}}'R'''}''R'''''}''RR'}}''}}}R}''}RR}RR}RR''R}R'R}R'R}RR''RRRR'}'R}RRRRRR'}R}R}}R}'R}RRR}R}R}}''}''}'R}''''}}''}''}''}RR}}}}}R}}R}R}R}R}R''}}R'}R}}R}'RR'}'RR}R'RRR'R'}}R}}'}RR'R}}R}''RRRRRRR}}}'}R}R}R}'}R}R}R}'RR}RRRRR}R}R}''}'''''''}R'}R}RR}'}}'''R''R''}'}R'}}'}}R}'}R}R}R''}}R}}}R'R}'R'R'R'RRRR}R'}R'R'R''R}R}'}R}R}R}RRR}RRRR}}R}R}R}R}'}R}RRR}'}RR}''R}}}''R}''RR}''''}''}R'RR}''''}'R}''R'}R}''}R}}}''R'}}R}R}R'}}RRR}RRR}R}''}RR'}'RRR}R'RRR}}RR'}R'RRRR}''''R}R'R'RR'RR}R}RRR}}}R}}}R}}R'R}'}'R}''R''}RRR}R'''''''R}}}R'}''''''}}'}}}}}}'R}R}}}RRR}R'R}RR}R}'RR''}RR}}R}'RR'}}RR}R}'RRRRRR}RRR'RR'}R}RRR}}'R}R}R}R}'R}'RR}''''RR}R''}}'''''RRR}R'}R}}}R}}R}'R''R'R}R}}}R}RRR}RRR}R'R}R}RR}'}R'R}'}'}}R}RRR}RRR}R}R}R}R}RR'R}R'R}R}R}'}R}R}}'R}}'}'''R}'}R}}RR''''R'R}R'}}R}R'R}}R}R}RRR}R}R}R'}RRRR'RR}R}}'RRRR}}R}RR''R}'}RR'R}}R}RRR}R}'}R'}R}R}R}RR}R}R}R'''}R}}RR'R''}''''}}'}}RR}R'''R}R}}'''''}'R}RR''}R}RRR}R}''}RR}'RR''R}RR'R'RRR'''R}'R}RRR}RRRRRRRRR'RRR}R}R'R}}R}R}}RR}''}R}''''}'R}RR}}}R'''''}'''}''}'}}R}'}}RRR''''}'R}R}R''}R}}R''R}R}R}}'}R'}RRRR'R'}'RR}R}'RRRRRRR'R}RRR}'R''}RRR}}R'}}'RRRR'R}R}R'R}RRR}R}RR}RR''}}''''R''R}}R}}}''}}}R'}}''''}'}RR}'}'R'R'R'}R}R}'}R}}}R}R}'RR}'R'RRRRRRRRRR}R'RR}R}'R}RR}R'RRR}RR''}R'}''RR}R'}}'}R}''R}RR}'}RR'}''}''''}'}}'''}}R'}R}}'}}'R}'}'''}}''}'}}}}RR}'R}R}}R}'}'}'''}RR}R}R}R}R''R}}}'RRR}'''R'R'RRRR'R'}R}}RRR'RR}R}'R}'R}}}'}'R}RR}R}RR}R}'}R''}}}R}}R}'}''}}R'}''}R'}'RR}'}''R'}''}}R'}}'''}'''}''''''}''R''}R}R'}R}R}R}RRRR'RRR'RR}RR'}''''}RR}''R}R}}}}}R'R}'}}R}''}'RR}'RRRR''}}}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}}R}}}R}R}R}R'}}'''}}R}'}}'R}'R}''''}''}'}R'}R}'R}}}'R''}}}}}'RR}RR}''R}''RR}R}R}}}R''R}R}RRR'}'R}R'''RRRRRRRRR}}'RRRR}'''}R'}'RRR}'}R}R}'}RR}R}}'R}RRRR}R}R}'RR}}R'''''}}'}'R}R'R}}'R}}}}}}''R}'}}}}'''''''}'R'RRR''}}R}}R}R'}}RR''R}R}R}R''}'}''}'RRRR}R'RRR}R}'R}'R}RR}R'}'R}RR}''}}'R'R}R}RR}}}RRRR}}R}R}R}}}R}'}R'''R'''R''''}'''''''R}}}RR'R}R''R''''R}R}}'R}}'R'R}'R''R}RR}'RR'''R}}R}R}R}R}}R}}}R}R''R}}'RR}}}}}R'}'RR}}}}R'}}R}RRR}R'}}R}R}RRR}R''RR}R}R}'R}}}R}'}R}}R''R''}R}}R''}RR}}'}'}R}''}RR}''}'R'R'}''}'}}''}'R}}R}R'R}R}}R''}R}}R}'RRR}}RRR}R}RRR}R}'}}R'}}R}}}}'}}R}R}R}R}RRR'RRR}R}R}R}R}R}}R}RR}RRR}R}R''}}''R}R}R}'}R''}R''R}}'R}}'R}}'}R'}}''R''}''RR}'''R}''R}R}R}R}R}R}R}RRR}}}R}R}R}RR}R}}R}}}}}R'R}R}R}'R}R}RR}R}RR}}RRRRRR'R}RR}RR''R}R}''}RRRRRR}}RRR'RR}R}}R}R}R}}}R}'}RR}'}'}R}}'}R''''}'R}R'''}R}R}RR}R'}R}R}R'R}R'}}'}RRR}}RR}}'RR'R'R'R'}RR}RR'}R}R}'}RRR'RR}RR'R'R'RR}R}R}R}}RR}R}'}R'}}}}''R'RRR'}'}''}}}R}RR}R'}R''R''R'}}}}RR}'''}'''}'RR'R}R}R}R'R}RR}R}RRRRRR}R'}RR}RR'R'}RRRR}R''RR'''RRRRR'}}}R'RR}R}'''R}'R}}}R}R'''R}R}R''}}''RR'}}'''RR''''''''RR'R}'}}}''''}}}}''''}}'''}}'R}'}'RR'''''}R'R}'}R}''RR}R}RRR}R}}R}RRR''R'RRR'RRRRRRR'}'}RRRR''R'RRRR''RRR}}'R'R'}}'R'RRR''}R}'R'R'}RR}}'}R}RRR}R}RR'}}}}}}'}'}'R}R'R}R'RRR}}R''R}R}'}'''R'R''''RR'}'''R}''}}'''}'R}R'''}}}}}}}}'}R}R}''}}R'R}}R'}RR'RR'R'RRR}RRR}R'RRR''}RR''RRR}''R'R'RRR}'}}R''}'}'R'}R}R}R}'R''R}}}}'}R}R}'}'R}}}R}'RR''}''''}'}R}R'''''R''}RR'R'}R'}'}}''R'R''''}''''}RR}R}''R'''}}''RRRR}''''}R'''}R}R}R}RRR}}'R}R'}R'R'R}}RR}RRR'RR'}'RRRR}}''R'R'RR}}}R}'}'R'R'R}}'R'R'R'RRRR}R}R'RR}'}R}}'RRR''}'}''}}''R}'''}'}'R}'}'}R}R'}''R}}}'''''}''RR''}}'R}R}R}R'}}'R'''}}}}}R''}}R'R}}}RR'}}R'R}RRR}'R'RR'}RRRR}R}'}RR}}R'}RR}}}RR'RRR'RR'RRRRR'R'R'RR}R''RR}R}R}}}}}'}}''}}R}}'}}'R}'}}}}''R'}}}'R'}R'}'}''''}R}R'R'R'''R''RR}R}''}}}'}'R'R}''R}R''''}R'}R}R}RRR'RRR}}}RR}}R}'RRRR'}R'}}R'RRR}R}R'R}'R'RR}R}'''R}RRR}'}'}'}}}RR}''R}RR}R}'}}}}}'''}}'}}''}'R}}''R}''}}R}'''}}''}''}}'R'R'}'}R''''R}}}}R}'}'}}''}'}}'}}}R''}R}'R}'R'R}'R}''}'}RRR}RRRRRR'RRR'}R''R}R'}R}'R}R'R}'R}RRRR'}RRR''RRRR}R''RR}}RRR'}}}'R''R'R''R'}''''RR}'''''}R'R'}''''R}R}}}}''}'R'}R}''}''}''R}R''''}R'R}'}}'RR}'}R}R}}RRRRR}R}RRR}R'}R}RRRRR}R'RR}}R}R'}}RR}R}R}'R'}}RR}RR}''}R''''''}R}R}R'''R''}R}'}R'}'}R'}'R}'''RRR'}}'}'}R}R'}}'''}R'}R}}R''''}'}R}''}}R}'R'R'R}R}RRR}R}R}}R'}'}R}R}R}''}R}R}''RR}}''}R'}'R''RR}R}RR'}R''''R}R}}R}R''R'''RR}''}'}}RR}}}}}''''}}}'}}RR}''}}RR}}'R'}RR''''}'}R}''}}R'}'}R}R}RR'}RR'}R}}}R}'RR}'RR'R'RR}}}''}}'R'R}R'R}'}R'RR'}R}RRRR'}}}RR}R}R}R}RR}'R}}}}R}R}R''''R}R}R}''''''''}'}}}}}''}RR}}'''R'}}'R}}}}}R'}}}R''}}'}'}'}}R}'''}}R}}R''R'}RR}RRRRR'}R}}R}RRRR}'}'}R}RRR'R}'}R'R'}}'RR}'R}}R}}RRR''R'R}RR}RRRRR}R}'}R''R}}R}''''''''}'}R}'}R}'}'R'R}}''}}'''''}R'''RR}''}RR}}'RR''}}R'}R'RR'}R'}}'R}}}R'R'RR'RR'}'R}R'R}RRRR}R}RRRR}R}R}R'RR}'}R}RR'}R}R}R}R}'R}R}R}R}}}R}}}R}}R}R}R}R''R}}}''}R}'''}R}}R'R}R}R}}}R}R'}R}R}}R}}'''}}R}R}'RRRRR}'}}RR''}'RRRRRR'}R}R}R}RR}R}'RR}R}R}R}R}R}R}R}R}R}R}R}R}'RRR}''R}}R'}R'}}}}R'}'R}RR'}}R}R}R'R}}R''''}R}'}}'R}R}R'}R}R}R}}}}}}}R}}}R'}RRR}RRRRR}R}R}RRRR'}R'R'}R'}R}RR}R}'RR}}}R}R}''}''}}R''R}}}'''''}}'}}'R}'}'}}RR}}R'}''R}}R''R}}''''}RR'}R}}'RRR'R}}RRR'R'}'RRR''}RR'R'R'RRR}R}}'RRR'RR}'}RR}}}R}RR'}}'}}}}'}R}'RR}RR}RR}''}}'RR}RRRRR}}''}''R}R}}''R}}}''''R}}}'}R}R}R}}}}R}RRR}R'}RRR}RR}RRR'RR}'}R}R'R}R''R}'}'}R}R'}RRRR''R'R}}RR'RR'R'}}}RRRR}}RRRR}R}RRR}R'}R}''}}'R}R}'''}}}}''''}RR'R}R'}R'}}'}''}''R'R}RRR}}RRR}'}RRR}'R}RRR}R}'R}}R'RR}'}R}R}R}R}R}RRR''R}R}}'R'R}}R''RR'}R}R'R}'RR}R'}RR}R}R}R}R}RR}}R}'RR}R}R}R}R}RR}''}R}R}R}R}R}RR}R}R}R}R}R}RR''''}}}R}R}}R}'''}'''}}''}'''''}RR}}}'RR}}'}}R}}'}}}R}R}R}R}R}R}R}R}R}}R}R}R}R}R}R}R}}R'R'RRRRR'}R'}''R}RRR'}RR''R'RR}}}R}}RR}RRR}}R'}}'}'}''R}'}''''}'}RR}R}''R''''}''R'}R}}'}}}}R''}}R''R}R}R}}R'}RR'}R}RR}R}'RR'R'R}'R'RR}}'}''RR''}}RR'}RRR}''}}R}}R'}R}}}'}R''}'''}}''}R}'RR}R}RR}''}'}R}'RR}R}R'''}'}RR}R}'R'}R'}'R}}'}'RR}R'R'}'}'}R}R'R}'}}}'}}'RR'''}R}RR}'}'''}}}'R'R}}R}R'R'R''}R}RR'R'R}'R}'}R'RRR''R'}'''RR''}''R}R'R}''''}'}''R}'''}''R}'RRR}}R'RR}R}R}'}}}'RRR'R}RR}R}RR}}R'}R'}'R}'''R}}R'}R'R''R'}}R'}'}'}}R}}'R'R'RR'}R}RRR'R'}}R}'''}R}'RR'}'''}}}'R}''}R'}R}}RR'R}}}RR}R}R}RRRR}'}R''R}''}}RRR}'''}}RRR}}}R}}RR''R}}R'''RR}''RRR}}}'}RR}''}''}'}}''}R}'}}R}RRRRRR}RR}}R'}}R}RRRR'}R'R}}}}'RR}}RR}'}}'}'}'R}}RRRR}R}}'R'R}}R'R}R}''}}'RRR}R}RR}RRRR'R'R''R'R''}'}'RR}''}'R}R''}R'}}R}RR'R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}RR}R}R}R}'}R}}R}R}R''}''R}R}R}}R}R}R}R}R''}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}RRR}}}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}'RR}R}R}R}'RR}RR}R}R}RR}'RR}R}R}'RR}R}R}R}R}RRR}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}}'}RR}RRR}R}R''RRR}}RR}}}'R}'R}R}R}}R'}R}R'}R}R}R}}R}RR}'R}R}R}R}R}R}R}R}R}R}R}R}R}'}R}}}R}R}R}R}R}R}'}}RR'}R}R'R}RR}R}}'RRR''}}RR'R}}RRR}'}}R'RRRR''R}}R'R''}}}'R}R}RR}R}R'RRRR'}R}'R'R''}}'''}'}R}'R}}RR}R'}R}''RR}}''}'}RR'}R}RRRR}'R}}RR}R}R}R}R}R}R'R}R}R}R}'}}R'R}R}R}R}R}R}R}R}RRR}R}R}R}R}R}R}R}R}}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R'R}R}RR}R}R}R}R}R}R}R}R}R}R}R}RR'}R}R}R}R}R}R}R}R}R}R}R}R}'}RR}RRR}R}R}R}R}R}R}R}R}}'R}}R'R}RR''R}}''}R}'}R'}}RR'R'}'R}R}'RR}}R}}RRR}'RR'R'R}R}'''R}R}'R}'}R}'''R}}'R}R}}}R}RR}R'R}}RR}''R}R'}R'R}''}''}R'''}R}R}'''RR}R}RR}''R'R}R}R'RR}R}''}}R'R'}'R}R}'''}RR'}R}'RR}'R}R'}'''R}}}}R'}R'}R}'RR'}R'RR}''R'R}RR}'R}R}'}RRR'}}R}}RRR}R}R}}RR}'R}R}'R}}}R'R}R}R}RRR}R}RR}RRRR'R}R'''R}}R}}R'''}R'}R}}}}R'R'RR}}R'RR}R}}R}}}R}'}'}R}}}'}RR'R}}RR}'}R}RRR}R}}}RRR''}R}R}R}R'RR}R}'R}}}R}R}R''R}}}R}RR'R}R}R}}R}R'RR}R}R'RR}R}RR'R}}}R}R'R}R}R}R}}R}'RR}R}RR}'R}R}R'R}}}RR}R}R''}}R}R}R}RR}R}R''}R}R}RR}R}}R}R'}'}}}R}'}}}R}}RR}'}RR}'R}RRR}R}R}}RRR''}R}}}RR'RR}'R}R}RR''R}}R}RRR'R}R}R}RR}R'}R}R}}R}}R}R}'R}R}R}'}RR}R}'RR'}R}R}R}}''R}R}''}}}R}}R}RR}R}R}}R'RR}R'}}R}}R}R}R'}'}'}}R}'R}}RR}R}R}'RR}RR}R}RR}'R}}RR'}}R}RR}}R}RR}R'RR}R}}RR}R}}R}'}}R}RR}}R'}RR}RRRR}R''}RR}}R}R}R''}}}R}}RR}RR}R}R}}RRRR}R'}R}}R}R}R''}R'}R}RRR}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}RR}RRRR}R}RR'}R}R}R''R}}R}R}R'''R}RR}RR}RR}}R}}}R}}}R'R}RRR}RR}R'}R}RR}'R}}'}R'}}R}RR'R}}RR}RRR}R}}}R}R}}}RRR}R}RRRR}R}'}R}}'}R}}R}}RR}RRR}R}}R}'}R}'R}''}}'}R}RR}}RRR}''R}RRR}R''}}R}R}}}R}R'R}R}R}R'R}'R}R}}R}''''}R}}RR}R}R}R}RR}R}R}R'''R}'}'}R''}R'R}R}}R'RR}R}RR}R''R}''}'}R}RR}R}R'R}RR}R'R}}R}R}R}R}'}'}R}}R}R}'}RR}R}''R}R''}R}}}}R''}RR}R}}}RR''R}R}}'}R}R'}'R}}}R}R}R}R}R'}}}R}}R}R'R}R'R}RR}R'R}}}}RR}R''}R}'RR}R''RRR}R}}R}R''R}'}R}''}''}R''}RR}R}}'R'}}R'}RRR}}R}}R}R'R}}R}'}''}R}RR}R}R'''RR}R''RRR}R'R}RR}RR''R}'R}''}''}RR}RR}''}R}}}}}'R}R'}RRR}}R}}R}R}'R}R''}}R}'R}}}}R}R''}R}R}}RR}R}R}'}RR}R}R}R}}R}'}R}R'RR}''}R}R}}R}R'R}R}RR}R'R}RR}RR'}R}''}}RR}RR}R}R'}RR}R}RR}R''}'}R}}R}R''}R'}}R}}R'}RR}R}}R}'}R}R}'}}R}}''R}R}RR}}R}R'}RR}R}RR}R'R}'R}}R}R'}}'RR}}}R}R'}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}R}RRR}}R}R}R}R}R}}RR'}R}R}R}R}R}R}R}R}R}R}R}R}}R}R}R}R}RR}R}R'}R}R}}R}R}R}R}R}}333333333333333333333333333333333333333333333333333333333333333333333333ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff""""DDDDUUUUwwww333333333333ffffffffffff333333333333ffffffffffff333333333333ffffffffffff333333333333ffffffffffff333333333333ffffffffffff333333333333ffffffffffff""""DDDDUUUUwwww33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff33ff""""DDDDUUUUwwww8BIMPath4 zzzmIz#z 9z z) zw zzW -y 1gx Hxe zW,zwzwxZxZ 4x7W (x :by\8 /y΢ by5y yyyyy} } }  [G{{4a{4azz z fs{R}{{|7,|O|^_*|@|OC|b~]|T||pvhpvh0v?w%tw<w{ x= YxZ YxZ Yx@ Yx@ 2x1 Gwԭ w |w@wV}w%>v}Iv Tpv Tpv T>^n>^ncOtC"3w~~$R5}h~\~GQ#~E~LTQ}}j} v} C^~' cN} >} .}j y| e| }j CG} #} }j }g .|e 1g|(|v>}!~'~'|| { `{q {> |8 M|`#} v}Kb}jTԕ}hĝ}~\~'~h6~! ~E@f>> uu1m{Rt)2$\O  2   C" "n# RV. >~ .# b      yZ 6 C" T r~@~E~E} } !Q}a ~ C^mU3q}~E}~Eq~yDŽ~~'~'}j}j }=}˿}~'}~'}˞}˞_<j ^n ^n C" C"~^j}}  yt yt:xtSAuJ#v T #vzp qv> >w% Qwh Bw 1gw} 6iwjVvPwAv%jt5GvhGvhGsӼGsӼJt_uLv Tv)vIHvhovh/8vh vh nwG kw% v1 Tv}C uuMvjut% yt2* yt2*1rZ1rZsxx nu' yCv1 yCv1 yCv T yCv T ue t sӼ:sTAq1q1qky\8ky\8 [Ry\8 Jy\8 :by\8 :by\8 :bx :bx Jx [Rxkxkxq$q$ Mr uIv Tv TuMvuMv Fos wqpFpF * * n B 1g6 aO 7 y 5 P):#i.(kLGFXϟהC"הC"ה} ה} ] T m0 m0 . .=?..zUU.zUU.zUU UU  *7.G     (pG=;KGHu!fdeS*>^lD ![Yn~UU^cy~}s}s}}9bH2mIe ] ^>R{feoO/!3Q~q;pG^WQ- ܝ   Y5 Y5 59p5mq+ e e  !|r^Rp{2 CI:qB 4I YI YI Y Y -]OO69G!G!GeGe܆ VrJ Y! Y! zw zw szw I[zw yCzw yCzw yCy\8 yCy\8 I[y\8 sy\8 y\8 y\8 yCq$ yCq$lrB}(Tu 3GsuMGsuMGq>Gq>#q}qqePriEr•(krZFqQp yCpF yCpF yC; yC;Mpc(VQֻKkŝtŝtŝ~(ŝ~(~6,շel(tW+h1 yC~( yC~(ofofpIq"#q#q#p#i#p#iQop'nnK@nK@|O|Oh|͖ț}K~(k}h(k}h(kx(kxțxZhx@w}w}XXX(kX#X#X##(kxZxZțxZxZ(kxZ(kxZ(kw%(kw%w%țw%w%w%(k}j(k}j;}K~ },G} G} Gv1Gv1 v=;vIH(kv T(kv T(ks(ksiz@n>XRF ( X X  . [^PК{(ke(ke##zJgrcx5;5;5~(5~(|1r#G#GG|G|w||ה|ה|הrpהrprpwrpGrpGrpה~Eה~E} Ϗ}~~vhvhu|tהsӼהsӼהyהy7dL4^n^n~'~'4~7d#ההtt&tVtttppVp&ppptttstssssst-t-$-{&-1t:- ,ʂ[,y G,C", $+1'}+';+z(50+(+)+u)*r**$*2**J*0*b*k***ž**+(++1K,M+),*$,*$,* G,* G+* G*ڒ* G)* G)g* G(#)(#* G'8[*L'*q'4e*$%+"+M ה+ g+M+j(k+p+k}+ּyC+p +%l,4,C=p,P,,5+,C5,[,-t-#2&T,t-_+t-_+tC"tC"F\C"vDC",C",C",w%,w%vDw%F\w%tw%tw%,~',~'~'~'5~'5~'5t5ttt,t,t,m,maM1~(5~(5~(5m5mڑD|,Kv[,!,!5vh5vhevhvhŝvhŝvhŝrZŝrZrZerZ5rZ5rZ55eŝŝŝw}ŝw}w}ew}5w}5w}5.5.+b> q q ; ;](55ŝ~ŝ~%mC"=   w w=w%mwŝwŝwŝQŝQQ%mQUUQUUQUUUU%mŝŝŝ,Dŝ,Dq.}J}J}G}G4y΅ŝofŝofUU+(UU+(%+(!*$'LY*$'LY*$'LY* G'LY* G%O+) *k*k*kˏ*$*$*$*$UU*$UU*$UU* UU* =* %*  *  *  6 6%6=6UU6UU6UUUU%P+6tBtBtt%4UUsUUs w} w} wJ)v]uuttmuX)5 vM| v1 v1 {4a {4a|d+ z8zdyazy\8y\8xxy y<ky\8yYG~y~yhoy Gxe x@ x@ }  } E}ly}LY~'*~ ~k~'˚~f+j~:~+~1gL1gL1g^n1g^n=| { { ~ ~#e:<m0m0[:H- }j }j L LDy)}6}6}}>D  C" C"  DttttttDtt t tty\8ty\8y#hxaLYx@|Ax*xxxyxxZx?dwL)yCv1 r1uV#uts&tsӼ)Or, qk.pF/p0=)pT1pp#i1oG2o3^Po4o|6 nzQ76m76m76mb76mb6mb5& m*3 m2Hnm1o<0o-?+p*6q'6rp$s!Jt(kuUvN0pvw%$HwPNx6Rkx@dxP!;wtw}tw}t t  ԕ } } }}ԕttttԕ}}}.z}.zԕ.z.zt.zt.zttԕ}}}e}eԕeetete}'x@}'x@'P(yC(5'(Oj(]t ה( (i"n(~"(#(v#C(Z# ($Q(y$'%UU(5%(X%t),% )Pj&)' ('LY('dM(ҁ'|B('6('(ҁ')u(#)Pj'h)C4*T)))*)*v)H+"o)Pj+<)*(km,(,@(,А),),),(5,(5,(5,Y(5,(5+(+'')+?'֯+RV(+"o(T*()z() 1(g(#(5'3(Z&FA( s%UU'֯#_+'h$1'Y"(5!lQ(xq S'$'֯'B'1'֯'yK'a'x@=s'j''x@'\Q'}'}'}}59 #%=;=;ܖܖ};};}k}kS4y BB2~W}0}0 5{5{|@zH:{4a{I;|:u|O|5M!D{:b{ {rI{R{>b| k +|w$!p|O!p|O!p{>!p{> y{AL{~Y{4azz5zw5zw5G5GGG#G#G#of#ofofof5of5of#"#"z"T#bY#/ $ ;l$S<$o$ I%N!gL%A#&w%$&&t''ą'_)s(+:b(5+:b(5+:b'֯+:b'֯$l%<#*#!#!##SS##XXXvXC^XC^XC^mC^mvmmmmC^1~C^1~N.1\0(k/f1/ 7/B ה/7T!xZ/!ܡ.c".".k".#t.zw#h.^P#D.}# .$.`$/$5/7T$U.`$u.k$.zw$.Z$.;$ŝ.$.Z%%m.%UU.%@.%"-% -%-&-&,.&bw. &c. &.&-&ĝ-&Ԗ-&-?'-?'LY-'dM-'|B-'6.'&-(1-X(-)?@-t)x-8*b-+B,,j1,6-yC+p-yC+p-yC+(-yC+(,y+3,I+_2+?+*+)xO,(,C',͟%O-5}#--!.G _n.Ӽ/7T̨/1)0C^0C^0C^BC^BsFB.BBBܖܖ.ܖsFܖC^ܖC^ܖ2bbbb2b|b|BB|~; }h }h }j }jl}|L|)yC|`|p#| !b{>b{>bbžžbb&c&c &c >'֯#^P'֯#^P'֯#^P'x@#^P'x@"QE&ӿ aJ&(k&c&~l&%%=;=;"n=;RV=;>=;>=;>b>bRVb"nbbb>~(>~(&~(~(~(~(&>>>>&AEeeA~(ܖ>;>;>>&eP0P0PsPsLM>e>e ZZ/I o$ y!\!A""$5#i&$b):&&,'֯,'֯,%,%,%+$*$:*Җ%".*%a#*%*& *A/& )%)/%'?$d'6$&i$&%!#|%%UU# $ "XW"M!xd ה y E!!A!q!!!qAܖܖ1gbPPP!P!u$' dmm|Uk@pGpGpGbpGb?cttÁÁuaOAj^^..aO....1g]1g]W]\(^; ה^;!4^;"V^;#t^;$^;$G^Z%UU^n';^' F](]*:]*hG_$V+]S]+]S]+\+\+l\*\h*b\*2\u*]i)]S])sF]S])v]S](]S](]3(S]i(#\'\'\\A'LY]S]'<]y&]&t]&]%%]%UU]"\] ]S]1g]S]1g]S] 1ga1ga>R`_C` ה`A"`#hG`kt$ŝ`F%5?`;%_k&t_d'0[_'_(_d* >_')i_W*_d+A0`=*xL`++`A+`A+^+^*^t)\_(_+'U_K&;_e$ŝ_"MO_J6`F1g`F1g`FXXsM=L  VQ VQjde<΂h..55GhR6   5 5(IIILRD(k-3b$^@"rޔ"Θ"Θ"Θ=;"Θ=; 3PXPX ZX"a<$ŝ'!)[.z+?.z-.z/ 2> 3 7b>n8q8q8.8.76J 514o3ljT]2>q1-9(/q.q.Vq-e -1gq,+W+? *r)7T (# '. &y&t %%5?"$ŝ.z"e a .zP.zP.zZyZy Z"ay[$5[{4&2['\*\*\*\*\(=[&[$ŝ["ZR! Y Y Y pGc%pGc%!\8d?$aDb]%=b%5a%-a%%a%paB%\aB&,a&Da&\a&tb&ub5>'VFb'6a(a)ma*a*a*_d*_d(_&@p`%%mab%ua%}a$a$b_$b<$5b#bj#Yb"b!2c) cpGcpGcpGpG DG a6!(!(!(X!(X q vVpGpG  f, f,!)f"!Yf:#teN$e]%d&tdU&d-'c:(#c:H(vc9(yNc)C^c%)Bc+b`,Yb,Yb,Y`A,Y`A*W aN(bT&tc:H$dF"\e f- f-!pb}k!pb}k"Zb#a% ya% ya% ya% ya#٣ah")a!pb!pb!ph!ph$Ig%ea8(kdU(kdU(kc(kc%d$OfB!ph!ph!(/2!(/2"g/"/# /# /# .# ."ۚ."_/B!(/!(/">K">K$k& {' y)A"5+5%A-yC%-yC%-yC$:-yC$:+1$')B+!'-&̪#">">#^P4#^P4%;4&.2'62*(Z1Dh*E/+/7T+/7T+.zw+.zw)/'(0fx'61m&y2TN$m3#^P4ab#^P4ab#^PX-#^PX-%Y'7hZ)C^[{4).[)*[*b\8* \"*[C*[+"o[-yC[{4-yC[{4-yCZ_-yCZ_,Yur,nZ},[+ZK+'Z+?ZW+Z>*Z>*ZW*Z*zZK*b[)[3)N[)C^ZW'ZG%|X#^PX)P#^PX)P# (# ($}(% y(%1(%1(%1(%1(% y($}(# (# (# VQ'# VQ'%h3Wȏ(PYY*ZW*ZW*Y *Y (bX&D U# U# U % y1~% y1~&]1%(4/p).*2.*.Z*.+`-b+-b+'.+.Z+.,., .׫-Ky.,-yC.-yC.-yC,C-yC,C,,d*lw-z\)C^.( .&0g% y0R% y0R%1]S]%1]S]&,]S]&]S]'LY]S]'LY]S]'LY\'LY\&\&,\%1\%1\&,7F&,7F'6X(5!*3+82,,c=0uy./7T./7T....*L0(3&,6&,6&# &# (Eb#K)!J$**%A*%A*$*$)!#(F"ܱ&"N3&"N3&i!2&i!2(qhC(2f*f-*CGe*#e*f-+en+e,eq,dz -Mc`.c:H.c:H.ab.ab,d$a+_c*bd)*ve(34gI&hdU&hdU'LYU'LYU(|bW *w~Y¶,YZ_,YZ_,YYD,YYD)Xj)Vn'LYU5'LYU5'LY^n'LY^n(;^n)+j^n*^n*^n*^;*^;)+j^;(;^;'LY^;'LY^; (()8:*~{+:b-+ok+ 3`+' v ,]!4 +!,A y,L ,x B>-1g -& 3.3 . . .-.-,-, '^+RV?r*^*Rx(k(k *7F*7F,w7Y,9o,9o,?9o,l8,-1g8-7/y8081[83!8p#5 y8p#68p#8;8p#98p#98p#9898683s7F07F07F.67Q.P7F-o76-/5-1g5,5,ת79,7T,F27*7T*7T*7T*\8*\8+ z\W+jK\w+\+\+[٣+[٣+jK[)+ z[*[{4*[{4+:b5?+:b5?,4-V2X5.1m.1m./2./2-*1,2o+:b3+:b3+:b;c+:b;c,b;;_-O;".;*/:@0z:1p:1@:1:2>:2^:g2~:(292G9 2'9m3^P9o3D9oG4& 94594E:D4:dt5 y:HL5Ki9599Ӝ6,98N989G9:9:98Β98Β88Β7T86,8Β5G8F5 94}9-3׽99-1SM9l9291OX90k:I00:+/pH:HL.:^+:+:b;*+:b;*+:b@/7+:b@/7.W'?)1>U3 g6,?+:b?rZ+:b?rZ+=+=,>,=ô-=0.a=w/i=l0=;1{<2=;4ŝ;4ŝ;4ŝ;*4ŝ;*3O;1;0< v/}5?!6>|7*?6"7j?6"7|B>|72>v7">77=8=h8y=8=09+j=[<9[R=G9:53t?1@1s"@/(k@/(k@/(kh/(kh/XTh/;h/$h/$h/$c%/$c%/;c%/XTc%/(kc%/(kc%/$ v /$ v 0G v 0ה v 1gL v 1gL v 1gL 1gL 00^KE/$-/$-/$%A/$%A/ %A0%A0G%A0G%A0G"N30G"N30"N3/ "N3/$"N3/$"N3/$2*/$2*0Ċ21z223F23F2282281{2'0ɖ1/$1m/$1m/$V/$V/ V0V0GV0GV0GTl0GTl0Tl/ Tl/$Tl/$Tl/$eq/$eq/ eq0eq0Geq0Geq0G[0G[0[/ [/$[/$[0G.zw0G.zw0w.zw0.zw0ה.zw0ה.zw0ה$&]0ה$&]0$&]0w$&]0G$&]0G$&]0Gb0Gb0wb0b0הb0הb0הU50הU50U50wU50GU50GU50ה-0ה-1|-17d-1gL-1gL-1gL&\1gL&\17d&\1|&\0ה&\0ה&\0ה1m0ה1m1|1m17d1m1gL1m1gL1m1gL.1gL.17d.1|.0ה.0ה.0הJ0הJ1 JH2Js3 J$4 J5Id51Ih6#Iy6>qH86GK6ԕH 6H-?7}HL7: Hʾ7aHʾ7|BHL7:H-?72H 7*GK7tGpF7`GpF8#GK8;H 8SH-?8kHL8G9 G 9:GK:$GN:`Gcv;?G1n;?G1n;?F";?F"9aF+6-G.5GK5&H5}H3 Ih3 I01J2 0הJQ0הJQ0הc%0הc%1|c%17dc%1gLc%1gLc%1gL[٣1gL[٣17d[٣1|[٣0ה[٣0ה[٣0הΒ0הΒ1'1`b2>-2g;3| 3 -4Nv4k5 5 5 5 5 j|2~Pp#0הp#0הp#0ה*0ה*1h~364ŝ4ŝ4ŝHL4ŝHL3vDHL2&HL0הHL0הHL1gL1~1gL1~141~11~11~11~1010101401gL01gL01gLhdU1gLhdU14hdU1hdU1hdU1hdU1Y 1Y 1Y 14Y 1gLY 1gLY 1gL~1gL~18?4=]4}5@4J5 S5 S5 5 5^+2.:1gL1gL1 v 1 v 2& v 2V v 2 v 2 v 20202V02&010101/21/22&/22V/22/22/22&c2&c2V&c2&&c1&c1&c 1A1A2A^3Au4}B`5B',5BIA6,Be5#BZ8~B7B>9BW:ڬ@;??rZ;??rZ;?=;;?=;:v:=s:/>:?rZ:K?m9]?o9+j@/78ۚ@8bAO&8A7B3-A91@1@1ZW1ZW2&ZW2VZW2ZW2ZW2W2W2VW2&W1W1W1c%1c%2Vc2c:H3tb3tb3t[٣3t[٣2[2V\1\81\81i1i2&i2Vi2i2i2f2f2Vf2&f1f1f2e2e5& |6+ӭ9C^ŷ9C^ŷ9C^9C^87AŻ6,05U 3|222$&2$&2Θ$&3t$&3^P$&39C3 c3 4C4M4}ŷ5(5v6t$&6t$&6tgI6tgI5$]5`l4}3,Z3g2gI2gI2Z2Z3]Ve3K4}-5) 5;6t y6t y6t6t54JO2O2O2 v 2 v 4Pz 2N53!5 !5 !5 5 4ŝ 3- 2 2 2+p2+p2+p2+p3t+p3t+p3t$3t$2$2$2$2$232323233t33t33t.3t.2.2.2.2.2:HL2:HL3t:HL3-:HL45:HL45:HL4594593-93t929292I 2I 3I;4H5 HL5 HL5 G5 G4G:3HM 2H(2H(2Mv2Mv4b'M6@K8kJQ8˚JD]9+jJi9:It:hI9 JY:J$;rI׷< HE=1gHL=1gHL=1gF=1gF9JHSi6K2MX2MX2X2X2X2X3tX3tX3tVQ'3tVQ'2VQ'2VQ'2VQ'2VQ' 2ep2ep2:d3;8d9I3?c3Ib3 bx5 yb6cY7e9eN9eN9eq9eq7dc6b51a5=aa4ݑaB4}a36`4L`_3-ab3/ax2b?2c:H2c:H222k=4I 3 h4Kk*<44ݑ5;u4H051F6S^5:7}T7}T7}7}5ڨо6* 5 yh4eC3r29293t,N3t,N3vD,B3- 745-_+45-_+45!245!23!V3vE!3t"N33t"N3 3t03t04P16-276474P8g48k4:}5o84Y9[R4ab9u3]93]94ab:H4rW:4:5?:5?:4:4:3:b3 :3F9s2:2k9gL28E3F9.4;73F6M255083t0R3t0R3t6h3t6h3F]6h3vD6h3-6h3-6h3-283-283vD283F]283t283t283tON3tON48)Oo5ZN6,Mv7IL8}KQ89J9J9J$9J$8h}J7rYK6tL[{5bM34KNm3tN3tN3t_d3t_d3vD_d3_d45_d45_d45[{445[{43[3vD[)3t[٣3t[٣3ta3ta3F]a3vDa3-a3-a3-`F3-`F3vD`F3F]`F3t`F3t`F3tf3tf3F]f3vDf3-f3-f3-d3-d3vDd3F]d3td3td3t3t324M 4ŝp#4ŝp#4ŝF4ŝF4W3)63tT3tT3t3t3-45z4ŝ;4ŝ;4ŝ v4ŝ v4 ;[|3~)3t;3t;3-43-45L)4V6v5Z8#58#58#5?8#5?6}45S#3Ƴ3-3F3-3F3-7T3-7T4:~7+Q4P65UU65e6<56c6,696L6x6l6t66h67tm67tm7}6h74f6x7dM6x766h8b7y8a{7*97F97F95959_5r958k5|8;58 57697"5T7>Q565656\5(6,5|55`5e55UU54ؗ5.46g 3-693-693-d3-d4hf"5hzge7}i!27}i!27}h7}h5f5Rd]3-c:H3-c:H45&\45&\4Ľ%=5\#6,#i7O"7 #xz76#7)$7$E7$7$8T#~8k#i9 L"Մ9D"@:>"N3:V"?:n!J:!V;,!;!?;!2P!2>P!2>P>P=l<:{S P TObNUMUIJ VGW8DŝX)PA'Y-?"&Y)Pab>Pab>P`A>P`A:Z`A7I_+45_+45_+45454ŝ5UUY5 5 5 5 5k_4 k45|45|45455C5l6t6t6tS6tS5@t5*]45W45W45/745/744B5UU5UU5UU5UU43e4R45rZ45rZ4ŝ#i4ŝ#i4#i5%m#i5UU#i5UU#i5UU!25UU!25%m!24!24ŝ!24ŝ!2 4ŝ'4ŝ'5(W7&;d8%::$w;$R~=1g#=1g#=1g!V=1g!V;!T<!;?"N3;vD"m;jK"(;^P";l# ;0=#):# 9# 9#W9[R#9 $ 7&06%6f%6$6,$:5$4%a4ŝ%4ŝ%4ŝ-4ŝ-4-5%m-5UU-5UU-5UU(5UU(5%m(4(4ŝ(4ŝ(4ŝ.4ŝ.5#.] 5p-5-_+6.,P 6Q=,K7,N9-:-<.<.<-<-; d-??9,8k,C7V,@6g+NV6,+5+5Il-4ŝ-_+4ŝ-_+ 5UU* G5UU* G5 )q86 )%|7|B(72(7"(t7(57(T8 (t8#(8Y{)8g)8(8(T8ے(8'֯9\c'j:1'|:&c;& ;%[=1g$:=1g$:=1g$&]=1g$&]:={%:8U'5UU(55UU(5 5UU*$5UU*$7)*$9+:ڒ*$P'x@>P'x@>P'>P'=Y%+=&<'<'d< 'N;-'֯;e(+;ti(;:b(;%):I3):* G:*,9 *L;9*k9*^9b*^8*k7Τ**6*k5UU*k5UU*k5UU,C5UU,C5=,C5%,C5 ,C5 ,C5 +(5 +(5%+(5=+(5UU+(5UU+(5UU/5UU/5rv/b5}.+6,.7"M-s70C'8.zw8.zw8-8-7n.7-#7}-6(-o6L-06,-6-5kr-5UU.5UU.5UU@/75UU@/76n@7y@d8AJ8AJ8@8@7~@(H6??x5UU?rZ5UU?rZ5 * G5 * G7}* G8#* G9C^* G9C^* G9C^)9C^)8#)7})5 )5 )5 /25 /27*08126O9C^3F9C^3F9C^2*9C^2*715 6/5 .5 .5 ~5 ~6~6D~6t~6t~6tT6tT6DT6T5 T5 T 6t6t8b\:99{G:bK:z::9<e;gI;<)=$:n>G:=0:=0:< v:< v:L<8?376>W76>W76;76;8N8۪>9C^ v9C^ v9C^99C^988#=767676768#R89C^W9C^W9C^~9C^~8;8#76|76|8#/28#/29%09H1:z28;n3Oo:4G1w;:b1[:1֮8B>9dC]:AB;^PC<7D);[D=1gDg=1gDg=1gC"=1gC"<=CB<Ci<5B><BI<BFU; B`;sAs;As;2B`; B/;B:B>:B9HBM8Be8Be8889v9C^9C^9C^9C^9v8889C^5|9C^5|95:b5:69:69:5|:5|:8$5A94*9C^4ab9C^4ab9C^ON9C^ON: NE; L<L[{<(K=L.=+K>,KH>H)JO>J$>J$>G>G+p?+?+p@G+pAH +pAɮ,0 B,CC,RC:,6D5,CD,CD,CEUU,CE,sF,F,-F\-~F-~F-Fg,GC,&G6,NG,H-ZH-H-H+pH+pH=*xG-#+ŞE +pD[#, CW+A+@ +hb?V+E>+(=mu+ < *:*$:*$:3:3;RV4;&4ab<4<4<2<2;'2;RV2i:2*:2*:;c:;c;i;_;<<)i?(k@ @8۫@s@s@^@^@<?l0?(k=_==I[=;<|<u;?;?;?AJ;?AJ;Al<B><?rZ<?rZE[=}>hK?-= 3 >?^?E@@@0@0@G6@?$B?;B?XTB?(kB>B>ebФ>hs>XTY>H4>8e>`=`=e=h=i5*<s<s<$&<$&=|;='>P?r>P?r>Pk>Pk=|E=<gI<gI</</<ї/=/=1g/=1g/=1g.zw=1g.zw=.zw<ї.zw<.zw<.zw<4<4<ї4=4=1g4=1g4=1g2*=1g2*=2*<ї2*<2*<2*<@<@<ї@=@=1g@=1g@=1g<~=1g<~=<~<ї<~<<~<<~<B><B>=BFU=aOAl=AJ=AJ=@=@=aO@̚=A <AJ<AJ =1g ==1g => @ 7AgL C @DD SFt GF )G7 I-G4f GTV GtF#G6bG#G H# Hi OHi}}WHJIsqEL@\!MyC;MyC;MyCMyCJ[/ HD EUU ,CC Bݼ ͓AgL T@& > V=1g 8=1g 8=1g%=1g%=7%=&\>P&c>P&c>P!V>P!V=!V=7!V=1g!V=1g!V=1g@/7=1g@/7=aO@/7=7@/7=@/7=@/7=.=.=7.=aO.=1g.=1g.=1gGK=1gGK=aOGK=7GK=GK=GK=A=A=7A=aOA=1gA=1gA=1grZ=1grZ=aOrZ=7rZ=rZ=rZ=W=W=7W=aOW=1gW=1gW=G=G=G> G>PG>PG>P2>P2> 2=2=2=2==?i? ?pH-?pH-?pHΒ?pHΒ>> ====? z:"?0ApSApSAp~Ap~?۳?z=*=*=0=0>Sb>@|@|@@>>=~=~>Pm/>Pm/Ap`E/H# H[ )I0 ˬJb ,CJŸ k8K"n ,K? !K3 ɧK' ,K Kp L:L L M M; zN,bN!OMPGܖPGܖPGbPGbO;Lc L K OK K' K N{K` N{J JM H `|H# E2MA>PR>PR>P%>P%?$?c$@%@%@ŷ@ŷ@>r?.?XSK?9?>K>w>tr(>PgI>PgI>PG1n>PG1n>G1n>G1n>G1n>G1n>,C>,C>,C>,C>P,C>P,C>Pp#>Pp#@nTB(QEUU?G- IXLY[LY[LYmLYmID\mGVEUUabB j@>>PF>PF>>@P! ApKVQCuVQDGVQFG6I g\JLM0zMvunM Nz4ZMk O(lsO(lsO(lܖO(lܖN0JN<M1~'M!ZMm_LLE7pKVQJVQJVQJ2VQIVQI05GJHH#FЫE^C-A@s>s>s>I >I ?xI ?@_I ?pHI ?pHI ?pH4?pH4?@_4?x4>4>4>>@b%'@|#B>HLB>HLB>B>Ap@>>?pH&\?pH&\?0&\?&\@&\@&\@$:@$:?$:?0$:?pH$:?pH$:?pH*k?pH*k?0*k?*k@*k@*k@(5@(5?(5?0(5?pH(5?pH(5?pH=B>=B>WAp>W@>W@>W@>W@>W@*@*Ap*A(*B>*B>*B>B>A(Ap@@ApApAƶ'BVBΘBΘBΘ^BΘ^BURAŘApApApBApBA"B(qABΘ0BΘ0BΘsBΘsB'SVA%dApeApeAp$:Ap$:AOX$:A@$:A($:A($:A(A(A@AOXApApAp'x@Ap'x@A'pBT'֯C '֯C '֯C 'x@C 'x@B'jvBF&Ap'Ap'Ap/2Ap/2BS.bD1%F1~F1~F/F/E0\B^. Ap.Ap. Ap1~Ap1~A`1?B\1vOB1[Bž2 PBړ2JDB28C32}Bw2C^Q2*D^51C1Dŝ1[F!2zF D1BF2F2F1mF1mE1E15|B>5|B>2*B>2*A2*A@2*Ap2*Ap2*Ap8p#Ap8p#A8p#B8p#C^Q8p#C^Q8p#C^Q5C^Q5Bk5|B6AAp69Ap69Ap:Ap:AQ?:Bja;^B;cC-;MB :#C:c;*CX;C8< C-< vC]<">D;D5;*D:eG# B># B>?rB>?rB?rA?rA(?rA(?rA(*kA(*kB*kC*7D}* GD}* GD})D})Cn)B֎*=%A(* GA(* GA(FA(FAFBFB>FB>FB>>WB>>WB>WA>WA(>WA(>WB>B>CngEy G~H~aI K ofK ofK K Jn YH?zG~6EsDb}@B>QB>QB>$&]B>$&]Bn$&]B$&]BΘ$&]BΘ$&]BΘBΘBBnB>B>B>2B>2Bn2B2BΘ2BΘ2BΘ1[BΘ1[B1[Bn1[B>1[B>1[ B>4abB>4abB߼5p%D4D54Dy4mDr6+yDŝ69Es6W-E4E4F/l4=Fو4G4G4G3FG3FG63FGLZ3FG~3FF1/3K0E3?EUU3D.3kC43mJB>4B>4B>9-B>9-C9BmEg'9oGLZ9oGLZ9oGLZ9-GLZ9-El+9-D.8ΒB>8ΒB>8ΒB>@/7B>@/7Bn@/7B@/7BΘ@/7BΘ@/7BΘ< vBΘ< vB< vBn< vB>< vB>< vB>I B>I BnI BI BΘI BΘI BΘB`BΘB`BB`BnB`B>B`B>B`BΘBΘBC.hC^QC^QC^Q^C^Q^C.h^B^BΘ^BΘ^BΘ&\BΘ&\B&\C.h&\C^Q&\C^Q&\C^QŷC^QŷC.hŷBŷBΘŷBΘŷBΘ?rZBΘ?rZC.h?NC9?BC @/7C @/7C ?C ?C9>C.h>BΘ>WBΘ>WBΘJBΘJBJC.hJC^QJC^QJC^QAJC^QAJC.hAJBAJBΘAJBΘAJC^QXC^QXCbxD:amEUU^FrE5G~=;GBiqG*sGpH!G-G+HeHeIveIC^eIcN&I>)I.5J:IC5JK:cWK:cWK:cK:cJ'IoLIpWHp7I7G6eG4feFԕeFteFDEF&E E%EE=EUUÁDwE{gDDÁCCgC^Q5C^Q5C^Q$C^Q$C9$C!$C $C $C gIC gIC!gIC9gIC^QgIC^QgIC^Q'C^Q'C9'C!'C 'C 'C $:C $:C!$:C9$:C^Q$:C^Q$:C^Q-_+C^Q-_+D~- Em.F/7TF/7TF.zwF.zwEnt.D-C^Q,NC^Q,NC^Q2C^Q2DM2E=a2F,2F,2F,2*F,2*E=a2*DM2*C^Q2*C^Q2*C^Q6C^Q6C!6D6D}6D}6D}5?D}5?D5=C!5]4C^Q5|C^Q5|C^Q8C^Q8D08E8E 8FLp7 FL7 F8G8G 8-G8G8G6hG6hG7mIF7)XE 7TE7~Dat7CC^Q7FC^Q7FC^QI C^QI C!IhDItD}J$D}J$D}BeD}BeDB&C!AC^QAC^QAC^QMXC^QMXC9MXC!MXC MXC MXC J$C J$C!J$C9J$C^QJ$C^QJ$C GC GE#" FpGLZbGLZbGLZ GLZ E~ sED C !C !C C D5D}DŝD&E%mEEUUeE=&E%)E 5GiG)_HIHIHHGGgEJzLC 5C 5C C DB JDE1XE1XE1E1DpDJiC C C (C (D(DM(D}(D}(D}0D}0DM0D0C 0C 0C <~C <~E?hH>|H>|H=H=G=FkE<;C ;cC ;cC B`C B`E A-F %@F?F?F?F?Ek?DِA.zC ?C ?C NC NDNDMND}ND}ND}K D}K DMK DK C K C K D}ܖD}ܖFZGivHsJ;0‚KRcLLLsLsKKI%YHܖGJEl2D}D}D}D}DDݑE yE yE yBE yBDݑBDBD}BD}BD}#iD}#iD#iDݑ#iE y#iE y#iE yŷE yŷDݑŷDŷD}ŷD}ŷD}&cD}&cD&cDݑ&cE y&cE y&cE y#E y#Dݑ#D#D}#D}#D}* GD}* GDݑ)^E=a)uE1(E1(E1'x@E1'x@E=a'x@Dݑ'x@D}'x@D}'x@D}EYDD}EYDDE-EPEE EEE9FExF,EYDFbwD?FcD?FEYDGgEFZ3FG6F"GFH\SEfHEYDIgE=IEJbEJvEWKPELEMOE֊N?F"O$F"O$F"O$EO$ENEM}E|LEYDK{dEJoEtIC^DH9DF2\DgE DgE4zD'DB7D}B`D}B`D}I D}I DHۺE[HpEUUGKEcwG Gg@HG6H(I I<IJKJKJKJ$KJ$HBIG`FWD}ED}ED}K@/D}K@/D:KE,IȯEUUItE:IFKpFKGp(LHN_I:NI:NI:M5I:M5HLGKG~JQFJ F^IsE I DH0E=EHlYD}IhD}IhE y"E y"E=a"EmI"E1"E1"E1E1EmIE=aE yE yE y$:E y$:EmI%E%".F,%AF,%AF,#iF,#iE#JEmI#*E y# E y# E y&cE y&cE=a&cEmI&cE1&cE1&cE1%E1%EmI%E=a%E y%E y%E y* GE y* GE׿*>F**uEG6* GHPB)GW(^H(H(H'֯H'֯G'֯Gq''F(5F(TF/)NE y)E y) E yC"E yC"GddC5H\AJ@L@7M2@N NP?O_'?Z`P>Q(>WR=T =U y=;V=0P>M'?=uK?@/7JdI@zIKn@H#AJGZAEQCBE yAE yAE yL[{E yL[{E=aL[{EmIL[{E1L[{E1L[{E1JE1JEmIJE=aJE yJE yJE1E1EleFTeFteFeG8leGLZGLZGLZGLZFSfFE1=;E1=;E1?rE1?rE?rE?rF,?rF,?rF,F,EEE1E1E1"E1"E"E"F,"F,"F,F,EEE1E1E1(E1(G2(F#}%I:#I:#I:# I:# G&"#G'(zE1%E1%E169E169Fg5G5G5|G5|G4abG4abFɤ4UFh48E15?E15?E1CߊE1CߊF=4CߊF<CG6CߊH~0CWImCSJCJCJC"JC"IzC"HCpH#C"G9C:FC=E1CE1CF,F,F\FFFFsFsFsF\sF,sF,sF, F, F F GLZ GLZ GLZKGLZKF,F F,F,F,%AF,%AF\%AF%AF%AF%AF yF yF yF\ yF, yF, yF!2F!2GZ! Gԕ$7H"H"H H HC #G ~9F v F v F#F#Gq#hG|B$G$&]G$&]G"N3G"N3G|B"mGq"(F"F"F%F%F%Gq%GLZ%GLZ%GLZ$&]GLZ$&]Gq$&]F$&]F$&]F$&]F.F.G .w#G/9H/H/H.zwH.zwGa.4H#,@F-F-F2F2Gq2iG|B1G1mG1mG/7TG/7TG|B/Gq.`F.F.GLZGLZH[QH.HsI/}IYhIyCsI_K]IBJXJXJJHoHv?GLZGLZGLZŷGLZŷG*ŷH ŷHkŷHkŷHkHkH pG*GLZeGLZeGLZ?rGLZ?rG*?rH ?rHk?rHk?rHk$&Hk$&H CG*cGLZGLZGLZ GLZ G*!H اHk-Hk-HkHkH G*GLZGLZGLZ'x@GLZ'x@I'Hkm$J%J%J#iJ#iI#ID1%KH%HK%9H$ήG %AG%jGnp&!:GLZ&\GLZ&\GLZ+(GLZ+(H*3H,I:+(I:+(I:(I:(G^(I0Z*GLZ*kGLZ*kGLZ2GLZ2G|B2G*2G2G2G1[G1[G*1[G|B1[GLZ1[GLZ1[ GuGuI]]J̶rLLY{L_L 8Ms wMI[ MyC M sMּ sM O M qN =O )Ow= O$ O$ O$ =O$ =Os| =O83ΛN{Mٻ NZN{MCyNE [ZMyC_ML8LY`KQv<I~G6G6G* GG* GH * GH;* GHk* GHk* GHk(Hk(H;(H (G(G(G7FG7FH;7FH7FH7FH7FH/2H/2H/ԸH;/=G/G/GFtGFtI4aFAIF!JG1nL GMGO~NGKNGKNG1nNG1nL*GJGCE,GEGEHk-Hk-H-H˚-H-H-HsHsH˚sHsHksHksHk'x@Hk'x@H ( HS(J(J(J&\J&\I^i%źHC&*_Hk&cHk&cHk9oHk9oH˚9LzI+j9 I:8ΒI:8ΒI:6hI:6hI+j7TH˚7FHk8Hk8HkHkI[R(TI"=J$&J$&JJI"4I[RH0H0H$&H$&I+j$&I[R$&I:$&I:$&I:I:I[RI+jHHH"N3H"N3I+j"N3I[R"N3I:"N3I:"N3I:I:I[RI+jHHH69H69I+j69I[R69I:69I:69I:+I:+I[R+I+j+H+H+I:^I:^I_,IJ,eJfJb&K?5KL̠L֒LqWLL"LiMyCIMyCIMyC.zMyC.zL LbvbK'WK XCJI:5I:5I:ZI:ZI"ZI ZJZJZJJI I"I:I:I:# I:# I"# I # J# J# J-J-I -I"-I:-I:-I:-_+I:-_+I -JJ.J.zwJ.zwJ(J(JJ(I (I:(I:(I:/I:/I"/I /J/J/J-J-I -I"-I:-I:-I:7FI:7FI 7TJJ6hJ6J6J/7TJ/7TJJ/vII /=I:/2I:/2JXJXKZ}LD4MyC^MyC^MyCÁMyCÁKzKev!JÁJÁJJJ;SnKEg}K?sKKڃLL8LMV6kMyCMyCMyCMyCKqaKJsJsJ!VJ!VKy!&JM#LY#iLY#iLYLYKQ7JqLJJJ(J(JJ(Jz(J(J(J"N3J"N3Jz"N3JJ"N3J"N3J"N3J8J8JJ8Jz8J8J8J6hJ6hJz6hJJ6hJ6hJ6hJ$J$Jڒ$K {$K:c$K:c$K:c"N3K:c"N3K {"N3Jڒ"N3J"N3J"N3J7FJ7FJڒ7FK {7FK:c7FK:c7FK:c$:K:c$:K {$:Jڒ$:J$:J$:K:cm/K:cm/LtL4lNNNNLcL?K:cRK:cRK:c!K:c!LL-L MyCeMyCeMyC5MyC5LLB)~RK:ceK:ceK:c-K:c-K,nmK+@L+pL+pL%L%L-.%KL$nK:c#K:c#K:c9K:c9KjJ9K39K9K9K/7TK/7TK3/7TKjJ/7TK:c/7TK:c/7TK GK GL M2FNbNbN N M2 WL xK K K6hK6hK6hL)6hLY6hLY6hLY.zwLY.zwL).zwK.zwK.zwK.zwLY!VLY!VL!mMyC N N N0N0MQMilLYBLYBLY%ALY%AL%AL%AL%AL%AL"N3L"N3L"N3L"N3LY"N3LY"N3LY5LY5L5L5L5L5L,CL,CL,CL,CLY,CLY,CL4L4Ms4MI[4MyC4MyC4MyC$MyC$MI[$Ms$L$L$L6hL6hMyC7tQN7:N8p#N8p#N69N69Mx5 MP*51L4abL4abMyC!MyC!M+!M!N!N!NqNqMqM+qMyCqMyCqMyC.MyC.M+.M.N.N.N!2N!2M!2M+!2MyC!2MyC!2MyC4MyC4M+4M4N4N4N.N.M.M+.MyC.MyC.N N O} *O >QgLJQgLJQgL ,CQgL ,CP 1P hP_ O} FwP yO N \P O(l Nu NJ 'EN N N.N.Nh:NțEO(lVQO(lVQO(lO(lNțNhNNN%N%N8%Nh%N%N%NqNqNhqN8qNqNqN*kN*kN8*kNh*kN*kN*kN%N%Nh%N8%N%N%N+pN+pN8+pNh+pN+pN+pN*$N*$Nh*$N8*$N*$N*$N-_+N-_+N8-Nh-N.Nț.N.O(l.On-O}-lPG-Q'{,<O,<Pה-P-?Q|-~Qp-Qm-4Rm-RΘ-TM. VRt.TIW.zwYp.Za.\.\.\.zw\.zw[q. {[.+Z.Y. 0Y -bXk-VC-LUn-yS -_+R-oR -KQ,NQԆ,nP+(4P+(OS+M*PJ-{N-N-N/N/N12P /Pה.zwPה.zwPה-Pה-P -sP4.O$.zwN/^(N/8N.N.N1~N1~N81~Nh1~N1~N1~N/2N/2Nh/2N8/2N/2N/2N5?N5?N84FPNq30P2Ql2JRE2S 2V2YJl28\28\28\2*\2*Y"2*WdN2*U y2*R,2*O+3WFN1mN1mNeNeNțeNeO(leO(leO(lO(lNNțNNN0N0OemOAӹPGPGPG=;PG=;O$$O(l9 NNN!VN!VNț!VN!VO(l!VO(l!VO(lkO(lkNkNțkNkNkN+N+Nț+N+O(l+O(l+O(l$&]O(l$&]N$&]Nț$&]N$&]N$&]N1[N1[O1oPY1`CQgL1~QgL1~QgL0QgL0PA0O1'N1mN1mN5|N5|Pp6qVOg;4Pה5|Pה5|Pה4Pה4P4rLOz3N4N4N6N6Nϫ6O6lP6P/6tP_6P6hP7wQ=7wQOX6hQ_P6QoH6tQ@6Q6TQ6TR>6R6j_Sֽ5T}5U 5W 58Xk5|Y59aZQ5?\5?\5?\4ab\4abZ4oZ)4X4X=B4EX 5 WLZ5?V5?V5?V,5?U95UKi5'wU y5|T5>S5uS^Q5|R5Q5Qp5?Q|5=P5]4Pה5|P?5UPgc5UP5|ODy5կO؍6[N69N69O(luO(luOXSuO<uO$uO$uO$^nO$^nO<^nOXS^nO(l^nO(l^nO(lO(lOJOJO5PP^QgLIQgLIQgLQgLOw NQO(lܖO(lܖO(leO(leOXSeO<eO$eO$eO$WO$WO<WOXSWO(lWO(lWO(l,NO(l,NOXS,NO<,NO$,NO$,NO$BO$BO<BOXSBO(lBO(lBO(l3O(l3O54qP4NQgL4QgL4QgL3QgL3PŃ3AO"3/O(l3FO(l3FO$* O$* O * P* PG* PG* PG6PG6P6O 6O$6O$6O$ v O$ v P ^P QgL QgL QgLQgLP=PLO$O$O$* GO$* GO * GP* GPG* GPG* GPG!2PG!2P!2O !2O$!2O$!2O$+O$+O +P+PG+PG+PG*kPG*kP*kO *kO$*kO$*kPG6PG6Pw6P6Pה6Pה6PהPהPPwPGPGPGPGPwPPהPהPהÁPהÁPÁPwÁPGÁPGÁPG!2PG!2P!Q@'"Q"N3Q"N3Q!2Q!2Q< P cPG PG PG*kPG*kPw*kP*kPה*kPה*kPה$Pה$P$Pw$PG$PG$Pה_Pה_Q|_Q7d_QgL_QgL_QgLQgLQ7dQ|PהPהPהPהQgL`QReReRWRWR6r_QPה5Pה5Pה'x@Pה'x@Q7d'XQ4'9LQ'Q'Q# Q# Q4#JQ7d#Pה#Pה#Pה)Pה)QP(9Rk:'T5(5T5(5T5'֯T5'֯Su'֯Q'֯Pה'֯Pה'֯Pה*$Pה*$QP+Q+9{R+(R+(R*kR*kQv*}9QOI*\Pה* GPה* GQgL QgL Q4 Q Q Q QQQQ4QgLQgLQgLWQgLWQR&cRRRmRmR& xQ QgL GQgL GQgLBQgLBQsR&eRRRÁRÁR&AiQRQgL=;QgL=; QgLQgLR{(R\S8T# ST}kTU5U5U1KV U6f V\kW8o2'VrbX#0X#0X#XX#XXwj^U CVV{ V`7eV,eU7eV1;U1geTOWuTBS9eRSRR>sQQXOR^;DR~z8R-RاR!RΘ RاS.iS^QZT#PYTU1-Vku4WSJ-X#-X#-X#?rX#?rW*WƁ\CW~V)VM*V,ZUU) U yOS`ΥR[QgL?rQgL?r QgL)QgL)QI* USN*HS *kU*V&* WLZ+(Xm+gYr+Z+p[),"\,k],N],N]+p]+p\3, \y+[:c+Z +I-Y+ mW*$V*eS~u(QgL)PjQgL)PjQ !Q !R& !RV !R !R !R R RV R& Q Q Q yQ yR2!So!].S !VT!JTM"?T}"N3Tǩ"<T!ZU y!2VFh XVo6!W~!VWr!JW4e"?WLZ"N3W]x"P0X!HX#!2X#!2X# X# W oV RU y v Sk" U H S^Q v RԚ ZR; @Q Q Q$Q$S$%SeU#IT5"T5"T5!T5!R"}XS)#Q!Q!Q&cQ&cR+%S%yTŝ$&]Tŝ$&]Tŝ#Tŝ#S}#S/$Q$:Q$:RJRJRJRJSuJSuJSu ,CSu ,CR ,CR ,CR ,CR ,CRRRSF]=;S-S-S-mS-mSF\bRJRRR&cR&cS&4S^[%Tŝ%Tŝ%Tŝ%ATŝ%AS/%5Sk%R%R%S-!S-!S!T!T5!T5!T5ܖT5ܖTܖSܖS-ܖS-ܖS-sS-sT4TeTŝTŝTŝTŝTe$TڞS-S-S-S-T.V'G#WV,$&V6>OV{WLZW}AX X#ŷX#ŷX#X#WHW$WLZgIUԑT_V]US;-UiS-$&S-$&S-'S-'TͲ'(U4'V,'֯W4((+X|(@'Y:([64)>]*x`*k`*k`* G`* G])_\^(؟Z(5X'ٰW>'w;V'U &XT{&S-&\S-&\T5!T5!Te!T!Tŝ!Tŝ!Tŝ 8Tŝ 8T 8Te 8T5 8T5 8Tŝ ofTŝ ofT ofU%m ofUUU ofUUU ofUUUUUUU%mTTŝTŝTŝWTŝWU y*LUUUi@U15Vb@UjVtWF=VʎeX#IX#IX#mX#mXVVJV;Vdj V, U/: V?Tŝ Tŝ TŝeTŝeUL(nU6CV!VWrWLZeWrWRX eXXf?YC^WZ 6EY0 ]1Z.z[]c\e]yC.z]@__$W`Lco_1apapapsaps__i^ \'Z9XqXXZXXkWW.Wn W~5VVu:4U !UU'UgL!U0yTB^TŝTŝ Tŝ"N3Tŝ"N3U"jW#@W$&]YV$Y<#tZb# Zb# Zb!Zb!Z]":Y|"X# W#v X# WLZ"W4e"(Wr"mW~"N3V)!΋VM!΋V,"N3Um"ZUP!ðTŝ!VTŝ!VUUUm/UUUm/U=m/U%m/U m/U m/U U U%U=UUUUUUUUUbUUUbU=bU%bU bU bU U U% U= UUU UUU U U V VD Vt Vt Vt Vt VD V U U Vt Vt V VԖ W~ W~ W~W~VԖVVtVtVtbVtbX YK Zb[tO\Di<^P)^P)^PK^PK\57[<ZJY"e9W Vt !Vt !VtVtVԖW4eW6W6W6W6W4eVԖ VtKVtKW~_W~_W4e_WdN_W6_W6_W6W6WdNW4eW~W~W~W~W6\X#ڞXXXXX=;X=;X#RW6AiW~ÁW~Á X#bX#bY7 Y *Zb [( \)[ C\ T]n s]T9^_5_bb;_ ``j`tZapapap* ap* `ܱ?`h`_d_0d_pH_7Hh_Zh_~^<{B^*]1g{\i_ $|[1 K[:c Z sYSy X# GX# G X#.X#.Y422;Y-P~Y:VQZm4dLZ_H^[:c.\AZoC\YVQ\٭~e] 5]q]q]J]J\Y]7_4\b\x 5\83 5[b[+[;[jKY;[XKZYXΛ)X#JX#JX#X#XSXXXXqXqXqXSqX#qX#q X#!X#!XvYN~=ZÁZzÁZڒÁ[:cÁ[C)[C)\Á\dDl]^^___)```I`I^m]Nt5[5Zm5Z)YY';VY,_=%X#eX#eX#ŷX#ŷXXTZbkZbkZbsZbsY<ZY;@iX#X#X#!X#!XS!X!X!X!X$&X$&X$&XS$&X#$&X#$&XXZQ[A& mk\ ]G !^L ^ of_ !_P _$ _ ` s`G T`? r` rap TaXp 8a|^ 8a: Ta. &a" 1a =a؎ 'bp 'b =b Rybcu{cF\cvEc- 8c!cc {d>dlupe16e16e1EYe1EYdd` )c-`cF\`b`b`bfbFގb&bEo<ad0agL_a7dka|\w`ה`i`` >`G =_ 1_< &_(l T^ț ^h ^ T] D]` cL\ [g /Z& ]XbXbXŷXŷYjYZb?rZb?rZbZbYYYXkXkXZXZYvOYsGY?rY?rYYYsFcYvCX$&X$&X!VX!VZs!0ZHr!Z"Z"ZZZ?qYX-X-YC^YC^Ys(YZe[[[?X[?X[?[?ZVdZ5YC^^YC^^YC^$:YC^$:\:~%^#(ap(ap(ap(5ap(5^1'#\1%61YC^$&]YC^$&]Zb~'Zb~'ZŸ^["n?3[?[?[?b[?b["nbZŸbZbbZbbZbZbZZŸZZZ0Z0ZŸ0Z0Zb0Zb0ZZ[RW[' \K\K\B\B['N[RWTYZeZeZ"N3Z"N3[ !\<!-+]1g y]1g y]1gk]1gk\ \hZZZFZF]rF^Ft`Ft`Ft`F"`F"_uF"^AF^F"\F/f\ F'ZFtZFt[?B>[?B>\Bӊ]}C0^PC^C^DL_$D=`D1`CapC"apC"apBeapBe`r^C"_HB^B>]B\EGB}[?B`[?B` [?EYD[?EYD\"AEYD\IEI]yCEYD]wEd_޼E`GE`0EӾa#0G6agLG1nbeG$ga'E bΙFbΙFbΙC"bΙC"aRDVbB agLB>`B`Dj`kDg_EG.]=D[?D[?D\\][]I4_pH_pH_pH_pH]1]\Á\Á\$:\$:\q$E\ї$eQ]1g$&]]1g$&]]1g!]1g!\ї"m\q"\#i\#i \5?\5?^ 6uq^^8`G9bT;8se =g=;g=;g%g%g]&lg3I&fft'f6'oe'eUU'x@e?<'tcu&ܻd5&cc1&c'c-(5ch<(Tcm(b(aI)$MbK(aa7d(`)@``* `*k_lM+^ +m^,C]C$-O \.~ \/\/\J$\J$^P,J`@ HMb>GKb>GKb>G1nb>G1n_H=^TH\It\It\b\b]^? `B>`B``B`_rB_XDAP^A^A^L[{^L[{`~CKa'Jf[bΙItbΙItbΙG1nbΙG1nagH'aC%Jc^K@/^K@/_pHK_pHK_0K_K`K`K`^`^_^_0^_pH^_pH^_pH"N3_pH"N3_!2_S!{p`!2` j`J!ap yaz yAag (a(-a"az8aZaG@b)bObb$jbcGbsc^Q?rcƥc*{d5OdcEdke ye ye ye ycdycgIc?#5cQAc^QkbIbJaaea#6h`ה0`-_M$_pH_pH`_`_`/_`__`_`_`````_``/`````` of` of` m#a c^Q c^Q c^Q ,Cc^Q ,Cc=M aP a a a' ja: `t ?a J` ` ```_`yap;ap;ap !ap !` ,`_ k8` ,C` ,C`e`e`pBb _Yc^Qc^Qc^QÁc^QÁbaagL`e2a=`!`!`"`"a#b4-%̀c 'c 'c %c %b4-$4a"ި`!V`!VapIapIa(ǯb>EbΙÁbΙÁbΙbbΙbb>#a( ap ap ap^ap^a@`aAib>!b>!b>eb>eaa@apÁapÁapapabO]bΙbΙbΙbΙb65a%apeapeap!ap!cͨ"d%_$gLZ&\gLZ&\gLZ%gLZ%fh$e5#Ed5# ci"g]b6!/xap yap yapB`apB`aBUbBc^QC"c^QC"c^QBec^QBebBa%AIapAJapAJapMvapMvbLVc=K*d}J$d}J$d}H(d}H(b޸IbK apLapLa(a(abb>b>b>EYb>EYbEYaEYa(EYa(EYa(ka(kb AJc-Kd}Bd}Bd}d}c<c:'a(a(a( a( b ct v d} v d} v d} d} cn b֍Oa(-a(-bΙ ofbΙ ofd @dL ae1 e1 e1 e1 eU ާd A;d} 8cZ!5dYc =cBR dT cpH c%w b bΙ_bΙ_bΙWbΙWbWc.iWc^QWc^QWc^Qc^Qc.ibbΙbΙbΙebΙebec.iec^Qec^Qec^QIc^QIc.iIbIbΙIbΙIbΙObΙObOc.iOc^QOc^QOc^Qc^Qc.ibbΙbΙbΙI bΙI cuHc^QHʢc-H(dEH*dT%H*deH(dHdJe1H(e1H(e1Cߊe1Cߊdw[CtbcB+NbΙCbΙCc^Qc^Qc9c!c c c !c !c! !c9 !c^Q !c^Q !c^Qkc^Qkc>c0dŷdsBcad}gIe/ef0f0fefeeF$]d@c^Qc^Qc ܖc ܖdܖdMܖd}ܖd}ܖd} ofd} ofdM ofd ofc ofc ofc Ác ÁdÁdMÁd}Ád}Ád};d};dM;d;c ;c ;c Lc Le bK]e?M1Pe1M5e1M5e1I e1I eId4JŐc Kc Kd}sd}sdsdݑse yse yse y !e y !dݑ !d !d} !d} !d}$&d}$&eje,W<fŷfŷfKfKe  e=d}d}d}Od}OeqeDŽfff?rf?re?re=a?rd}?rd}?re ye yemIe`f,!f,!f,Jf,JebemIme y e y e yee yee1pf,|fXfXfff,ڞe1e yXe yXe yBee yBee=aBeemIBee1Bee1Bee1AJe1AJemIAJe=aAJe yAJe yAJe1 e1 e e f, f, f,f,eee1e1e1e1fwEf2qgLZgLZgLZ$&gLZ$&f$&f,$&e1$&e1$&e1K e1K eK eK f,K f,K f,B`f,B`eB`eB`e1B`e1B`f,5f,5f\5f5f5f5f_f_f_f\_f,_f,_f,!f,!f\!f!f!f!ffff\f,f,f,Itf,ItfIHfHʢgLZHLgLZHLgLZB>gLZB>fBfC2f,C"f,C"fŷfŷfŷgrŷgLZŷgLZŷgLZ 8gLZ 8gr 8f 8f 8f 8gLZ gLZ g|A g* g g ggg*g|AgLZgLZgLZgLZg*h #hk hk hk ,Chk ,Ch g) !gLZ GgLZ GgLZ!gLZ!h\dnhDUuhÁhÁh h hk gVgLZ~'gLZ~'gLZgLZgWh.* hhh!h!hhBJ:gLZgLZgLZegLZeg|Aeg*egegeggg*g|AgLZgLZgLZ%AgLZ%Ag|A%Ag*%Ag%Ag%Ag0g0g*0g|A0gLZ0gLZ0gLZN3gLZN3g|AN3g*N3gN3gN3gB>gB>g*B>g|AB>gLZB>gLZB>ggik j>lgIlgIlklklkk0%VjbkiwhgKgKg=;g=;h =;h;=;hk=;hk=;hk"hk"h;"h "g"g"gCgCh Ch;ChkChkChk@hk@h;@h @g@g@gK@/gK@/h K@/h;K@/hkK@/hkK@/hkCߊhkCߊh;Cߊh CߊgCߊgCߊhk=0hk=0h=0h˚=0h=0h=0h&ch&ch˚&ch&chk&chk&chkAJhkAJhAJh˚AJhAJhAJh>Wh>Wh˚>Wh>Whk>Whk>WhkH(hkH(ikIkiqJ]jK@/jK@/jDjDj|VDjV8D%RjCߊiy|C]iD+hkC"hkC"hkMvhkMvhMvh˚MvhMvhMvhJ$hJ$h˚J$hJ$hkJ$hkJ$h Gh Gi+j Gi[R Gi: Gi: Gi: i: i[R i+j h h hhi[R|0i"\j=;j=;jbjbi"bi[Rbhbhbh?rZh?rZi+j?rZi[R?rZi:?rZi:?rZi:&\i:&\i[R&\i+j&\h&\h&\hChCi[RCai"CB&jC"jC"jB`jB`i"B&i[RBFUhBehBehNhNi+jNi[RNi:Ni:Ni:L[{i:L[{i[RL[{i+jL[{hL[{hL[{i: i: i" i j j jji i"i:i:i:0i:0i"0i 0j0j0jejei ei"ei:ei:ei:=0i:=0k0n=l=n=n=n%n%m%lN%l%k&&Xj&Fi:&\i:&\i:Ki:Kjh9lHo$yo$yo$.o$.l=jei:i:i:ʃQi:ʃQi"ʃQi ʃQjʃQjʃQj=j=i =i"=i:=i:=jBjBjJBjzBjBjBjjjzjJjjjDgjDgkDk@DkClB߸md(Bw$nB`nB`nAJnAJlޕAۀk6BjCjCjkWjkWl)kWn8kWpGkWpGkWpGX-pGX-n8X-l)X-jX-jX- jsӼjsӼs.isӼ|AsӼUUsӼ+sӼfsiΙsӼqt_wPzwPzwPrpPrptrh3x9qiq$.$qXqpFRp6}p=kp8p>ho yo/ooo?(ofgnQof5of{?ofrΙofjofjofjTjTrΙT{?T5TTїTpTTP}=8iפ:c{Z pHP6P6PC"PC" zsRvh* 8T;xi* y|}i.^Q]єUU|As.ijjjzwjzw}7zw}zw}zw}zw} G} G} G}7 Gj Gj Gj̹j̹j,|k_ l l0unv|ho$Ӽ o$Ӽ o$*o$*n'm3/lYWk0kZj`j`jUjUn<qkvt<~vt<~vtdvtdrVdn8djdjdjjy:C^C^C^C^:yjjj_j_jڒ_k {_k:c_k:c_k:ck:ck {jڒjjjXjXjڒXk {Xk:cXk:cXk:c ,Ck:c ,Ck { ,Cjڒ ,Cj ,Cj ,CjI jI k {I)kjJIHkIhkIhkDkDkjJDk {DjDjDjK jK jڒK k {K k:cK k:cK k:cIhk:cIhk {IhjڒIhjIhjIhk:ck:ckjJk3kkk =k =k3 =kjJ =k:c =k:c =k:cLk:cLk3LdkLlYMXlYMXlYL[{lYL[{kK k2Kk:cK@/k:cK@/kkkl)lYlYlY oflY ofl) ofk ofk ofk ofkD=kD=mo$B>o$Beo$Ben;By1m* CkCkCkEkEm8VDohEpהDpהDpהDgpהDgnDgmDkDkDkGkGl+Gm7HLmHLn6H'om8GnPFnFr"vGRrGrGrFrFpFnJEF"kF"kF"kH(kH(mI"mIo(lJ$o(lJ$o(lIho(lIhmHmHe kGKkGKlY ,ClY ,Cl ZmyC 0rn n n =n =mN Cl ?lY lY lYblYblblblblbl !l !l !l !lY !lY !lYKlYKlKlKlKlKl;l;l;l;lY;lY;llmsmI[myCmyCmyC !myC !mI[ !ms !l !l !lslsmicmnPBnn6n0oGYoYo$0pQ,,pq s6qBqBqqpep҈p_oiIOanEllllmsmI[myCmyCmyCBmyCBmI[BmsBlBlB myCmyCmH&o 0p Gq/o oqp Gq |rH r sf- P&s t5_t5_t5{t5{rLr#C qgL ofp6 o n Gnt\ n2| n GmҚ m h_myC ,CmyC ,CmyCmyCoO_mLfo$o$o$;o$;o9oMnP~'mvmdmyCmyC myCkmyCkm:@n(nPŷnnp pŷppϘCppfq+q(rQWrArZrZrrrW] r1q Bq̓RqRqpBp6pP+ppwp_pGpm6o׫m6opHnn1myCKmyCKmyC!myC!m+!m!n!n!n$&n$&m$&m+$&myC$&myC$&n !n !n8 !nh !n !n !n_n_nh_n8_n_n_nnno pהpהpה$&pה$&ol1o0`rnnn n o 'QoQ|XpZp\p{< mq-q-q?rq?rpu)[o;InZnZn%n%n8%nh%n%n%n yn ynh yn8 yn yn ynH(nH(o.OHo1I@pהIhpהIhpהH(pהH(o?HTyo)xHnGKnGKn n nț n o(l o(l o(lo(lnnțnnnnoS5o'pGepGepGpGoloȶn!n!n!2n!2o(l o$ pG v pG v pG-pG-o$!o(l 7n v n v n=n=nț=n=o(l=o(l=o(l$&]o(l$&]n$&]nț$&]n$&]n$&]o(l{o(l{oXS{o<{o${o${o$`o$`o<`oXS`o(l`o(l`o(lܖo(lܖoXSܖo<ܖo$ܖo$ܖo$bo$bo<boXSbo(lbo(lbo(l=o(l=p=q=su=0su=0su%su%r&p5%o(l%o(l%o$=;o$=;o =;p=;pG=;pG=;pG pG p o o$ o$ o$o$pRLap.q(^r.rdos^QetC t&9"u yv<tvtxkzc{3w|Y^]#>-- pNӲ A<3:ccO%y  >7Z>LZyAsV^QVVp6E(2"%G9A2ē @-hNHc%~{sy!tvtstr6Yo$o$o$2o$2psws tCtuu Ou Ou ?ru ?ru=u t}s"s}wrΙ$&qiepێjo$o$o$YDo$YDo YDpYDpGYDpGYDpGpGpo o$o$o$o$o ppGpGpGhpGhpho ho$ho$h pGVQpGVQqcrYrΙ;sQXs9gs9ܖsksQt5JtNlu v !w^ eTw x ofx ofx x w v$ {v, ,Cu k8u ,u1 !te 5t ps Grg*r epGJpGJpGpGpwppהpהpה pה p pw pG pG pG\pG\w~\}\}\}\}X-}X-}X-w~X-pGX-pGX-pGÁpGÁt+|T~ThTs yoj D9PÁPÁPHLPHL] <SYΒzQ|֨:TAhB^QiYR^ /ON#`/F+8{FFhFˡRC^F>6FFŝFF/F]`8a(l}?x}yC}Dk|MR{aby?ws~v,t)qppGHLpGHLpGxpGxqҀsku1wػ5y٥{_|ڣW}vڍ:~ھW\$fygL{4Q ۓKhe5{4pAۘ5?f6٣YۯCmۯ1g{4 fy<$ھW%~D?O^Qyه"ا 4TN֐ Q'H.PxPxP@/P@/gH~}ls6ls ls}Z>y:w\LuUѴs- r)Εq;pG@/pG@/pה~'pה~'q;yrZ(s-ms-ms- Gs- Grf qpהbpהbpהÁpהÁq'{J{\@{"@{ {J{Yy'z~'ypx xk;x;x wܖw*w|AZwLZsvi}uu yt tEt5st sŴs^Qsrq-qgLVQqgLVQq yq yrV r su v su v suZsuZrrVاq q r=;r=;r=;r=;su=;su=;su.su.r.r.r.r.rrrrsususussusrsrsrsrsrOrOrOrOsuOsuOsusurrrrsu su s- t5 tŝ Ttŝ Ttŝ tŝ tW )s) su Tsu TsuesuesvEÁs!t5^t5^t5 t5 s svE su su sususvEXst5t5t5t5s^svD!suÁsuÁsu su sF\ svE s- s- s-0s-0svE0sF\0su0su0su=0su=0sF\=0svE=0s-=0s-=0s-#is-#isvE#isF\#isu#isu#i s-ܖs-ܖt>te۝tݑܖt^u^uUUܖutv .'v;wYw[*xkJyهCyNzzzmzmz% Fza y: y# &Vx &Vx xQ xCu2wbwAvHu1Jttb Es-~'s-~'s-Zs-ZsZtZt5Zt5Zt5t5tss-s-s-$s-$s$t$t5$t5$t5 yt5 yt ys ys- ys- ys-=0s-=0t.,xC}+}yC*k}YS*,}9c)}s)}).2|).2|Y){#){xS){:c)Pjz){(jIz(5zz(tzJ(z(y"(y[R(tx(5x'x]'mw'֯w"'w2'Xw|B'wa&w: &w~'v)'zvM'zv,'u7'tD&as-&cs-&cs-H(s-H(tHyuHlvHLwvH8wHxkGKxGx˚GVxGy~GryGzy"GKyH yH-?y HLyH`z<H`zHLzŸHl4zڒHzH({I*{bI*{H({H{Hl4|HL|AG|qG|HL|HS}?IH}GK}GK}A}A}~B}C@Bu|B>|w?BC(|;\BC(|5B>|C2|CB&{ C{MC{DH{:cDgzrDzEzDy E9y"Exy:EysFE-y[REyC^F"yvF xF xF"x~ExV-Ex;F"xFUwF wFw7GE~tPGs-GKs-GK t5.zt5.ztݑ.zu=.zv,.zwI.zwjgx# x3tx{Uuxqy[Rqy"qzq{0 8{|||;|;{N{6hzzgxxk.w6Wu>.t5 t5 t5!t5!te!t!tŝ!tŝ!tŝtŝttet5t5tŝetŝevWu=v^wGv~w~!wCv=px#ex#ex#Ix#IwEIvgv,Iucxvhtŝtŝtŝtŝu%mu=9 u Xu Xu u u=|0u%m\tŝ=;tŝ=;tŝ-tŝ-u%mz8u=;Du Ou Ou u u=du%mstŝBtŝBuUUFuUUFvuFw%Fx#Ftx#Ftx#Ex#Ew?FC;v:)EguUUFtuUUFtu u v vD vt vt vt!vt!vD!v!u !u !u >Wu >Wx?Z9yJAc|B>|B>|B`|B`{.>A%PyH@?x?rZx/w>ΦvD=u =;u =;vtBvtBvhw~Ix#=;x#=;x#!x#!vv:vt=;vt=;vtOvtOw3wof%x-x-xBxBwn3w[vt0vt0vt!2vt!2vԖ!2w4e!2w6!2w6!2w6 v w6 v w4e vԕ-vtZvtZvtEYDvtEYDw6EYDxEYDyEYDyEYDyDyDxDw6DvtDvtD vtJQvtJQwsJwEIxIh{Ixo2Iy ItzRInz!JPzItzItzH(zH(yIWzvHfy H(yHyHl4y#HLyGεyxGεyC^HLxwH|wlIvtJ$vtJ$vtUvtUU%mU}U}U}d}d%mddvtdvtd vtvtw$oy Zz{Z|핎~K@2sY6py;1%@3 y\8-8۹C^4aC^4aC^MvC^Mv aC q#/sN1#(l|FyBvtvtw~w~x·x$lyC^yC^yC^yC^x(XZx ~nwwsw2wD w~ew~ew6 Gw6 Gw g xS x x x !x !xS ɧw ,w6 w6 w6'x@w6'x@yI&O'y~$Uzڒ# {r"zzj"{"N3|"=};3"?h}yC"N3}C"i#~`s#~# ?|##"""!!g!~ "x|!{m!ΰ|?"{-!V{9!Ra{vE!m{^Q y{I V{- V{ { yz#!4y4"y:#iy $Kx8R%&w6%w6%x#x#zol|*oW~PW~PW~P ~P }  |3,.z{:c.zz.zy`x# x# x#=;x#=;yMfxy:yy/ yzp3Nmz}hR{:c!}#k|xPD~^~J'/L$!S6Cl5=;=;555@P~5~Zk}}yC}|||a|J9{e{Hj{Tz[zy8x 8x#Ix#Ix#K x#K xKy9K yJyJyItyItyJzxJnx#Jx#Jx5x5ysF5z25z5z5zIzIz2IysFIxIxIxkxky/Xy*>zKza{G_&|Y0|0}s0}yC0}+}~s~~{j(leO֚Oe}J{TBKcgΙΙΙ=;Ι=;] EgL=;@{.X^ns(lX}}{Bz.,a{"zByT]yxsxsxOxOy"y: 3yOz~fz2~fzbOz;DzŸz8z-z-z$&z$&yayA¼xx x x x -y mz yz !Uz!Uzڒ yz {r V{:c {p {!%r{!2{!(z| c}1g v }1g v }1g}1g{S7{{:cZz a{\zJZz0ܹzܹyZy@V,ynxZxZxCxCz$CW{UD|C|C|C"|C"zCz!PBkxC"xC"yyzzbz{{Y{?{R{pR|Y|\|}1g}1g}1g!}1g!{،3z{)(yyysyszy8{O{?X{?X{?{?zڞzbyXyXzbKzbK{Kɘ{EJW|It|It|HL|HL{I{~JzbJzbJz !z !|h< a|Mt~~' w*}$(lJ»n"*;;JJp7 J(l G~ U~~J~6{ z z zOzO{"nO{RWO{?O{?O{?K{?K{RWK{"nKzKzKz#iz#i|/#Y_|D# ~P# ~P# ~P"~P"}1g"|"z"z"z(z(}E(1~>%$:$:$&]$&]~% }c&;z'֯z'֯ {?.{?.|e$k};ao|VQ|N>~DqŠ~q~L~-P,~W~IIss~(= ~8}~c9|s|'L |z{?VQ{?VQ{?k{?k{~G~ƱlC~xNKKBB ~N~}]|T {?K{?K{?ŷ{?ŷ|ŷ|ŷ}1gŷ}1gŷ}1g}1g||{?{? |;c|;c}Pa;׷~<(l=;U=ߡ8>Zu?rZF]?rZvE?rZ-?rZ?N ?B@/7~@Q>?UU@DA#vmBkk@k@k@k@n@W?#=< ~W;yc|:|:|Mv|Mv|їMv}Mv}1gMv}1gMv}1gJ}1gJ}J|їJ|J|J}1g-}1g-}v} #2~~~K~K~P}}1g}1g}1g y}1g y}ح ~h ~!2~!2~ v ~ v ~gI &L}׏ }1g }1g }1g* G}1g* G~)0G&39>&\>&\>$:>$:9#%~v'}1g(}1g(}1gK }1gK }aOK }7K }K }K }H(}H(}7H(}aOH(}1gH(}1gH(}X}X~ӍdV^^~y~2}}}-}-xA~.!f!V!V?r?rU؎(lŷ~M~a/}}}+}+~U*В*/))?D=(%,(5,(5,'x@,'x@g &t9&N y'K'L( u(A(*l)KG)%)^~*v}*k}*k}It}It~ It~It~It~It~B`~B`~B&~ BFU}Be}Be~P$&]~P$&]D$#### # }J"B6#t~P#~P#~It~ItwIt@`ItpHItpHItpH>|pH>|@`>|w>|~>|~>|pHgIpHgIFk7gI,/{ k k  +dnѕ }K$uskipHkpHkpH5|pH5|4/444/2/2//vI.`pH.zwpH.zwpH7FpH7F~ 78Cה8|77e7gL7T<7,78ó8n88p#81.7:u7F7r7UU88<V8L8p#|08hq8}8p#yZ8788p#s81.I\7:yC7FyC7FyC5yC5H60t77Tq7A66677T78Zb8$7~7C^7F7F7F#7Fc7/|6hpH6hpH6hpHJQpHJQ0JQJQJQJQAJAJAJ0AJpHAJpHAJ/7T/7T/7TZ.@#.zw.eO-b..DO.%A?.zwX.08.A.zwa.a-E.zwc./L//--6-,4-:L,p,-V-[rz-{S-_+Ÿ-?- 7b-2-?-~--M-6-X- ..0.CU.ii-.zw}.8F/..B`B`_AxA p@p@p>|p>|?_?rZ??GKGK.I{LJ!HgLGKG3HHL]CHxj>GqG1nE|CB>SsB(BG yC"C0@C|=C5Ca-CB&%C"pB\B,C"DCB&\CatCvC]VFCw6C"cBpB](A"AxAiAJ:z@V@AJړAl {Al:cAJjKA 3@̚@@>|>|?dB~B>BBA1B`lADEAŝAeAB&-BeBvDA)Ap|AH{BڸC"C"LL/L_LLLIhIh_Ih/IhIhIh  p p ppmmVOX>(~'(~'( G( GOX ! ,C ,CROX(^(^(;(;OX~'~'00(0Ι0 0 0 s s\BBB?r?r?r?rp?rp?rpgIpgIgIgIgIgI$$O$$T$$vΙ%Ι%ΙΙn}>?r%WEߝ5xcVc1g SOO1m1m1m=a1m61m1m1m1m1m&1_2828/2/2\1~|1~1~1~MvMvMvMvpMvpMvpK pK K K K K p !p !OX !A !( !( !( ( A OX p p pItpItJ[J&KK~LwJ.L; K@/ K@/ JQ JQKl?HRpHLpHL(Á(Á!n^ΙΙΙ GΙ Gn ɧ K( ( (?r(?r?r?r>?r>?r>$&>$&$&$&($&($&>B`>B`ΙAl^QAw AJ AJ @/7 @/7^Q@n,Ι@ >@>@>I >I HeG?uGHģHGGPGFElUEYDEYDEYDDD4D8D-D(WE:tGa>G>GΙJΙJ.i9>   m m9 .i xΙ Ι ΙΙ.i|09\ =; =;  9.iyΙ;Ι;Ι$:Ι$:$:.i$:^Q$:^Q$:^QZ^QZ.iZZΙZΙZΙ8p#Ι8p# 9C9A69oC9:k{Y;*Y;*Y9-Y9-37;77Ι8Ι8 ΙItΙItJQ8KŝK@/KK&JvYtItH[nH/pHItfJJ:K:K:J$:J$-%I4FtGKHD\xI9UUItIcbH#ΙGKΙGK^Q$&]^Q$&]9$&]!$&] $&] $&] gI gI!gI9gI^QgI^QgI^QMX^QMX9MX!MX MX MX K K !K 9K ^QK ^QK  0 00M0}0}0} !} !M ! ! ! ! Z ZZMZ}Z}Z}}M   % %% 5&Y&\B&YD'-&cY&=U$~,&\,&\,$&,$&O - - Dg DgeDg`DDDDgDgTDHCߊ6Cߊ:bCߊfD= D= D= HL HL>AH/I01I 1I 1E1E-FJF0 F F}b}bbݑb yb yb y yݑ}}}=;}=;=;ݑ=; y=; y=; y yݑ}}}ŷ}ŷK>sϸ4N,bss8JHzx6pԇ_}s}s}Cߊ}CߊCߊݑCߊ yCߊ yCߊ yB> yB>ݑB>B>}B>}B>}kW}kWkWkWkWkWX-X-X-X-}X-}X- y = y ==a =mJ =1 =1 =11mJ=a y y y^ y^=a^mJ^1^1^1 G1 GmJ G=a G y G y G y0 y000LZ0LZ0LZsLZsss ys ys1m1m `i `LZmLZmLZ LZ 'A  1 of1 of11Dx'ԥLZLZLZbLZb>1;1;1G1n1G1niG1n$(GIhIhF"F"G E1E1E1I 1I I I ,I ,I ,G,GGG1G1G, ,C, ,C\ ,C ,C ,C ,C 8 8 8\ 8, 8, 8,O,OGL\5qהgI:B YC^Kr^-ss IDe4GK}v?,,,'֯,'֯\'֯'֯'֯'֯ZZZ\Z,Z,Z,K,KK@/JLZJQLZJQLZI LZI IhIt,J$,J$,M5,M5N eLL[{L[{K@/K@/~KbfLŗ,Mv,Mv T T Tr TLZ TLZ TLZLZr%%r&|B&=z&\&\?r?r|B~fr[OO'֯'֯r')|B((5(5&c&c|B&r&|o&\&\LZLZ|B*66*6|B6LZ6LZ6LZ;LZ;d. G?    ' ! : 8qk  p FmM .LZ GLZ GLZ=;LZ=;|B=;*=;=;=;ss*s|BsLZsLZsLZLZ|B**|BLZLZ;hss~';ܖ;;WW W;WkWkWkk; ^^ ^;^k^k^kIkI;I III ;kkkk;  v  v Sm ϙ?r?rgIgIˇt}C"N3"N3#"?k!J!Vw! T yb ~' V v v --ĥ7b Ʋ 9h \ y y$$# c:#7b#i:#@####i#ia"Ԍ8#) # y"d"C^"7"QO"""''>%(&H%t7%D&&\!&z&[Wї%%w%1g%A %^$כ$:P$"(Ι#  #$\#$#i""SUU"N3UU"N3UU!VUU!V]h"<!-!Vp!QH!Q.h!Vx!J"?Ι"N3##P$&]${$ 1g$w$/$$&]$eQ$E'$:%c`%c$:%|& $:$:kXkXX˚XXXVQVQ˚VQVQkVQkVQkBkBB˚BBB˚kkk"N3k"N3 "N3jK"N3"N3"N3!V!V ":f̑!k!k!k#k#$˚$E$+j%[S%:$$#k$#b$.$c]$^$$$&]$&]o#Z#|k#ik#ik>Wk>WR>D'`==;=;<~<~^<N=k=k=k?k?H?>>W>W=0=0{>>k?rZk?rZkO_kO_O`N@L/YJQYJQYI YI jJYLKkNkN ,C ,C k) y:c =:c =:c{:c{SL *C 6 .z.zxv>:c:c:cVQ:cVQ,ƚsj|7;XX[S#=;=;II" [S  }eyC?ryC?ryCyCt,f9'qZZ'֯'֯(B(3(('֯'֯':'X'';;;:c;Y;Y;Y;cY;c:c;c;c;c;cGG[SG1n#FFtFtF"F""F"[SF"F"F"ItIt[SJD]"JFK@/K@/FF"G1n[RGGKGK:ܖ:ܖn Gm  k$ $ $ T$ TH S O .ef:J:J:W:WNȅ#?9155½G )4~"oq53w" '?`y::::"  ":::C":C" CB&JCaCCB>B>JB BI:Be:BeeeJezeeeIIzIJIIII I JI zI I I F"F"zF"JF"F"F"JQJQJJQzJQJQJQIhIhzIhJIhIhIh/Gxg8 sFv1)1~'~'JJR(I~'b:c~' {ړ;;ړ {:c:c:c:c {ړ66 {6jK77T7T6969jK6 {555 J$J$I:cI?Ih3IH'I)I H'HAI aIHIItI hBHyCH(yCH(yCC"yCC"}AVCxAC"08CRWCR?C":cC2BB>B>\\F]\\}\}\}X-}X-X-F]X-X-X-:c :c ɶ+\yCyCyCsyCsNQC>:c.:c.:cK:cKjKK3KKKee3ejKe:ce:ce:c$&:c$&31=YgIYgIYkYkk3k:ck:ck:cBe:cBe3BBYC"YC"YB`YB`Al3Ax:cAJ:cAJ!!!)!Y!Y!YIYI)IIIIeee)eYeYeY^Y^)^^^^KKK)KYKYKYsYs)ssss0R0RY0R0RyC0RyC0RyC/2yC/20A/"//22Y22yC2yC2yC2*yC2*2zpC2 2828@/7@/7@/7)@/7Y@/7Y@/7Y< vY< v)< v< v< v< vNNN)NYNYNYMXYMX)MXMXMXMXYYeeeeYeYeY6Y66#.YD4[4<4Af4A44GU5b(l5(l5(l2(l2h3E P4mY5?Y5?Y?rZY?rZ?rZ?rZ?rZ?rZ9-9-9-9-Y9-Y9-YM5YM5M5M5M5M5K@/K@/K@/K@/YK@/YK@/ŷŷsŷI\ŷyCŷyCŷyC.zyC.zI\.zs.z.z.z"N3"N3s"N3I\"N3yC"N3yC"N3yCZyCZI\ZsZZZ9-9-s9-I\9-yC9-yC9-yC8yC8I\8s888BeBesBeI\BeyCBeyCBeyC9oyC9oI\9os9o9o9oK K sK I\K yCK yCK yCI yCI I\I sI I I yCyC+eee+eyCeyCeyC yC +    ŷŷŷ+ŷyCŷyCŷyC"N3yC"N3"N3w""nG!G!G!VG!VXT!Vh!VyC!VyC!VyCJ$yCJ$+J$J$J$J$696969+69yC69yC69?r?r8?rh?r?r?r h 8   ---(l-$-$-$O$O>L #kZZ-_+-_+]#-8`.G/7TG/7TG,NG,N+ F-18--2828h28Ȝ28(l28(l28(l.(l.Ȝ.h.Z..6686h6665?5?h5?85?5?5???8?h???88h88888HLHL8HLhHLHLHLB`B`hB`8B`B`B`Ȝ(l(l(lm(lmmȜmmm?r?rȜ?r?r(l?r(l?r(l.z(l.z.zȜ.z.z.z,N,NȜ,N,N(l,N(l,N(l+((l+(+(Ȝ+(+(+(8Β8ΒȜ8Β8Β(l8Β(l8Β(l7F(l7F7FȜ7F7F7F==Ȝ==(l=(l=(l9-(l9-9-Ȝ9-9-9-Pj<Pj<ȜPj<Pj<(lPj<(lPj<(l>W(l>W>WȜ>W>W>W(l^(l^XT^<^$^$^$ G$ G< GXT G(l G(l G(lk(lkLUƳ?rsgIgIÁÁ+KK@IY=k>I?lF-(l=;(l=;(l?r(l?rXT?r<?r$?r$?r$$<XT(l(l(l4(l4XT4<4$4$4$/7T$/7T</7TXT/7T(l/7T(l/7T(lB>(lB>XTB><B>$B>$B>$5$5<5XT5(l5(l5(lIh(lIhߙJljK+הItהItהBeהBeGB$Ca(lCߊ(lCߊ(lPȫ(lPȫXTPȫ<Pȫ$Pȫ$Pȫ$M5$M5<M5XTM5(lM5(lM5$ܖ$ܖ ܖܖGܖGܖGG $$ $$XsRSPv(VQAի]!իnVQat 9=m Rd Q#6#6#EY#EYa\ ,C.Z '6 :cl~DŰ $$$$GmnMp.z?amn_QcAW0i@!i@W c.Nn ΙIzA & .zf*y y]s >b 8b 8b{b{l H 6 )nG| y~'O VQ!E9:^Q.оAq~A4:. E n$ $ $?rZ$?rZ ?rZ?rZG?rZG?rZG/G// /$/$/GmGm @^[ q- - - ,C- ,Cjy d& RG GG GG7TG7Tw7T7Tה7Tה7Tה-ה--w-G-G-G=G=9>x?*??6h6h7}p7G7FG7FGAJGAJwAJAJהAJהAJה>Wה>W>Ww>WG>WG>WGK GK KTJ|OYK@/KSL#>MX'NbP(ŝPj<ŝPj<ŝONŝONXN"LBnK"K>JQs@ItH^I:GJ$GJ$ה5?ה5?}5?7d5?gL5?gL5?gL,NgL,N7d,N},Nה,Nה,NהH(הH(7dHʢ5HI I @@5@̚7d@ ה@ה@gL-gL-Z&Oŷŷ&$&gLgLgL4abgL4ab54ab4ab4ab4ab)))5)gL)gL)Vuuu5u5IVW y y_"_t![5 v 5 v 5 5 A Unx2OO &c&c^'Ogs(WLZ(J()=k(('+:(NG)W)* G* G(5(5n(D'vZ'x@˚'5')k(5׹(4"6X''֯$n'S}&&\&\>|>|&>|V>|>|>|,C,CV,C&,C,C,CAJAJ&AJVAJAJAJ??V?&???HLHLGuF-F"-F"-@-@?Ay"BmvB>B>ItIt:InRtHΙH(Hʢ.hH^QI vEHʢ9H-HL'H-?!H GKϓGm5 uGm5}GK{HHH(ԕHHl4~HL: GεaGε|BHLHO<Ie#H(H=+FFFDgDg&EGhE #FtWGGh,G1npGmFD^QFtFJ<HOoH(H(h  :-!` !'x(ŝ=;ŝ=;ŝWŝWRDnc͉eeX#+r555e5enCS=;=;4444u4u4u+pu+p+p+p+p+pAJAJAJAJuAJuAJu5|u5|5|5|5|5|J$J$zK8[OwONONNNeM3wJI I VQVQJtNG : d|&ܖܖSzG:cbOE:m фLZ~A@: bO?,uOuOvE;Dz85-5-5?r5?rvE}uuu-u---5,Cŝ+ŝ+ŝ*kŝ*k5*-+gu+pu+pu5u5vE66Y56565-_+5-_+-vE-u.u.u8p#u8p#-81.57:ŝ7Fŝ7Fŝ5ŝ5OB6v(7Mu6u6u=0u=0F]=0vE=0-=0-=0-8Β-8ΒvE8ΒF]8Βu8Βu8Βu?u?>x&?_UU@/7UU@/7UU?UU?J!>Pd= u=u=-- 4sJG W-ŝBA> ,ec Q R~0~0~~MT~@ y!Bh0ב---:-::HLe9ŝ9oŝ9oŝ8ŝ8e81.8P-8p#-8p#-;-;b1;K=3 y=;w=;^7;o;c{;)1&H>N,=0\==%=ԕ==z~=;^<ծŝ/2ŝ/2ŝ:ŝ::%m:UU:UU:UU69UU69%m6969ŝ69ŝ69ŝCŝCCFKB1Be?ARqBB>uaBaUA@F@$ @C^?¬?~?>|ړ> z>v:c>W|=h[=h>W~A>]4?g1g>W1g>W1g=;1g=;==+8=;=G<*$:>W[R>7+k>=˚>7>vk>|>S>q??hp@?,@/7@_wZ?1dgL?0??@Zŝ@ŝ@ŝDŝD%mD>D|D=D=CߊCߊ>Cߊ%mCߊŝCߊŝCߊŝFtŝFt^F/FN+tEE[D~DgO5DP\CTkCߊ>C 9CהB>(=BLB`A(@׀G}@;Z?rZ?rZ>W>WnA>?@/7@_=k@1C^@A ӳAASB:MkBCC\C,C C CD=lgD0CjEŝEYDŝEYD UU^UU^4 ?[W~L Wg_mהs # yb yb ym ymڴ a@0 wgL~'DyCDjZ:SS5)UUÁUUÁUUOUUO>O%OOO%>UUUUUU,NUU,N,^,Wb+pb+pb+b+++:+ +9 +p+p+pY+>UU+UU+UU:UU:1k: *.:l :HLn:)+R9b9b9b9-b9-;9Q9H9-?9-9RUU8ΒUU8ΒUU>|UU>|>>Č~?~?~>W~>W8>P}=UU=UU=.z.zrb~'(2w! 3 of of  j* D bXqqKK%|-pW6$&6$&66\~gIgID=~ŷ~ŷ~~`Dkk?r?r?rD?rt?rt?rtŷtŷDŷŷŷŷZZ[hF -6 6 66a B!!#"L6!V6!V6 y6 y~ yt y y y*k*kA*# T*$*$*$*k*kY*k* G* G* G44<4I$12LZ28-2O22>}2Ӂ0181[1[0040j{L11[y1Թ2F28X-2e( 344t0Rt0R0st1g|LZ1mGN1֫1 ;00sه/C^/[R/vIsG/V:/7T#/vI /=/2//Vu |/7T .~.\?/O0M0h/2i/j/1g/1g/1g-_+1g-_+.YOA.ה.zw-,O$.J./at/7Tt/7Tt5?t5?5>I6=k69N6.4s4ab4ab33Y3Y45? 5J+55?{5 \4Zt4abt4abtFttFt~Ft6Ft#Ft#Ft#E#E|E6zEtEYDtEYD ~=;~=;OOb(RkG%3[pp1Y1=:^xO+t?!?!?e?ebÁD'lD'[RÁ;bqEߔm !=Jy0d~~~X~X7|% =;=;:a~~~~4fdN6666dN4f~~~$~$#27#$$"N3"N3) ""~"N3~"N3~4~4LZ4A644 5I *4˛4ab/3mY]O3 b4abb4abb0b0 1F1[R28v>3T3 ~2~2~=~=w=K>Mk>W&>Q=!===;=;[=fU F<~BA)AA#"AB`DBABpBej@B61A7 AJ AJ = =t}?7^BVC"C"C^!C^!sG!.!!!00.0sG0C^0C^0C^ItC^ItE.IRKPK@/PK@/PJQPJQ}gJkIUC^I C^I C^C^}}}}^{soC^C^b????JJ=;=;"N3"N3"N32"N3b"N3b"N3bXbX2XXXXH(H(IHd*I*pHJ$pHJ$pHItpHItI(5HwrHLHLb"b""ž"""žbbb'֯b'֯'֯ž'֯'֯'֯##ž##b#b#b2*b2*21b1~01z1-1g281g281g/21g/21/t/bb0b0b2b22]31)4B4s@4R353kړ3*) 3F 3F 2 2#d3F?2_Y1[1G9P2b28b28b4b45ȩu6:5?5?44r43d3"3]4sb3b3%A%A"o%ARW%A?%A?%A?ŷ?ŷRWŷ"oŷŷŷ''?'(((%%&&O&1%%,C,C|,-u1g-1g-1g)1g)Z)`<(S((?#i?#i'#i#i#i#ieee'e?e?e?9-?9-J7ǁz:8J{1g9o1g9o1g7F1g7Fd6Q7VN?8?8?:?:::1g:1g:1g91g999?9?9?<~?<~=~'=n1g B>B> B>PB>PB>P7TP7T 7T7T 7T 7TP7FP7F7F7F7F7FgIgIgIgIPgIPgIP@P@@@@@8888P8P8PPq=L}^n}^n}y\8}y\8>w,(tFPsPsPŷPŷŷŷŷŷPPPP  P P 00x0@`0pH0pH0pHpH@`x7T7Tx7T@`7TpH7TpH7TpH2*pH2*@`2*x2*2*2*??x?@`?pH?pH?pH8ΒpH8Β@`8Βx8Β8Β8ΒG }$&}$&}e}ejy}H;;Ӽ Ӽ OQ\>}[{}[{}e}eCc**pH$&pH$&0$&$&$&$&kkk0kpHkpHkpH#ipH#i0#i#i#i#i0pHpHpH4pH404444###0#pH#pH#pHJQpHJQ0JQJQJQJQ55505pH5pH5"N3"N3/"N3_"N3"N3"N3KK_K/KKK''/'_'''""_"/""".zw.zw/2)b:/}/7Tp/.a>->->'>'&&&\\u%%-7d%&BN'o'֯'֯1m1m/1m_1m1m1m.._./...??/?_???3F3F_3F/3F3F3Fpppp y y!m!Rap!VG|"^M !a!2 A A!2!-6!D !2 !2 O OΙO(OOO$$#]["&Ι"N3Ι"N3Ι!VΙ!V!m!ۓ(!@"mOY"mp!!!q!2!2????p?p?p6hp6h6h6h6h6h pgIpgI+$bŝ]^6Tw!Qv{55IдUU5kpm-7;gKXppppF7>-$&+UUŷuF6G&p\,D(T\GtgI(T`ԗk<GpC| ZYsYsYYt1sYt%UU)v\S5kH'@o.pŷpŷp0p0@03&/=>/7T>/7T>.>..Z@.p.p.p=0p=0@=>W>>|>>|>3>34"m@4Vp5?p5?pAJpAJOYAJ@AJ(AJ(AJ(=(=@=OY=p=p=(X(XnX.iX X X  $B(((&\(&\o%7&$\ $ $ ! !!(1#z($&]($&](1[(1[1[1[>1[>1[>/2>/2/2/2(/2(/2(C"(C"C"C">C">C">@/7>@/7@/7@/7(@/7(@/7>'x@>'x@&%p=& %v%k?$F1%A1%A1$1$UU$eQ y$Eŝ$&]O?#P#$Q$n%>&\>&\>/2>/2n/2/2Ι/2Ι/2Ι'֯Ι'֯'֯n'֯>'֯>'֯>4ab>4abn4ab4abΙ4abΙ4abΙ1~Ι1~1~n1~>1~>1~>?rZ>?rZn?rZ?rZΙ?rZΙ?rZΙ5|Ι5|5|n5|>5|>5|>EYD>EYDnEYDEYDΙEYDΙEYDΙBeΙBeBenBe>Be>BeΙKΙK poOtexxti^^p?eΙΙΙ(Ι(( '81'x@J'(~&~&\4f&|odN&6&c&&|o&=z%6%3-" #i#i"""p~"*:c"!"#><##B#3H$#$:%%".6%AdN%4f$~$$%:#UU%&$%&\wq&m'."Ι'x@Ι'x@Ι* GΙ* G*L;u*0:c*$%+j1/+& +(a*F*Z* G)(c)`)Pjh7)nF)N((ҁĞ(ԗ(((LZ(E)CL(2(5(')#'֯S((T(ӗ(T(w'֯#o'53f'C^'x@sG'5.')(50'']b'Q&&&\؁%$$&]$&]##z#p$efP$:%;%^e%R%Z&y&c.&csG&cC^&c&; &;k&c&%|'t'֯ c'WŇ'W1'֯t($-(cŝ((N3)"1Ι)PjΙ)PjΙ+Ι++.i+^Q+^Q+^Q*k^Q*k.i*k*kΙ*kΙ*kΙ-_+Ι-_+.UU-5-M-?e-~}---.E.7...R7-Tt-H-#-m\C^-ƈ-g-7.".ZB.b..ž.Z..0=.Jg.zwYE.ھ l/7T/7T/7T.. ./n..zw?.QC[.Gs .9-9(v-m-_+U-ry,--~2-~-,#,6,N4f,Nԕ,Nt,N c,"Ň,"1,Ng- S?- S%m,N},cY,$eŝ+pw>+44+pΙ+pΙ+pΙ.Ι...i.^Q.^Q.^Q-^Q-.i--Ι-Ι-Ι3Ι33.i3^Q3^Q3^Q/7T^Q/7T.i/7T/7TΙ/7TΙ/7TΙ7TΙ7T.i75]97 6h 6h 5| 5|95?.j4Ι4abΙ4abΙ=Ι==.i=^Q=^Q=^Q7F^Q7F.i7F7FΙ7FΙ7FΙ@Ι@ӉAC8UUDgEGkI kI kGkG@EiKA:Ι?Ι?ΙGΙGG.iG^QG^QG^QD=^QD=.iD=D=ΙD=ΙD= ^Q?r^Q?r0?rP_?r^D~ft^ԕ~1m-!E&Dŷ]4?(lgI(lgI(l(l6^Q^Q^Q1m^Q1m91m!1m 1m 1m . .!.9.^Q.^Q.^Q5?^Q5?!5|5}69}69}28}282!2-^Q2^Q2^Q;^Q;9;!; ; ; 7T 7T!7T97T^Q7T^Q7T^Q>|^Q>|9>|!>| >| >| < v < v!< v9< v^Q< v^Q< v^QIh^QIh9Ih!Ih Ih Ih Ft Ft!Ft9Ft^QFt^QFt #  # # M# }# }# }O}OMOO O O + + +bS++pv,$e5f,cYUU,N>,cY%,$e+p}"}"}/2}/2ݑ0=b03&10R10R1/1/=b/vIݑ/V}/7T}/7T}5}55)n3ǡt4abI45i ~5|5A[F4h4ab36s2?2*1C2oј1[W1eMe00R0R//n)/9(0 0R0Ձڦ0$"n1m"2EFx2#3k4('4LZ43I2282eI2bo%223\(3O}4ab}4ab};c};c;cݑ;c y;c y;c y69 y69ݑ6969}69}69 }>W}>W>l? y?Lp?L??g>C>U6>|8>J@1?@AgkB[pHC"'CvDuDguDguCߊuCߊB>s}<~}<~}?}?@9EAKc~B`B^CiDgFXvfHh(lIt(lIt(lH((lH(GfE&Cߊ5B~S?r_}>|}>|}~'}~'~'ݑ~' y~' y~' y{ y{ݑ{{}{}{}k}kkݑk yk yk y=; y=;ݑ=;=;}=;}=;}$}$$ݑ$ y$ y$ yĜg yĜgݑĜgĜg}Ĝg}Ĝg y.zw y.zwQ6.'G/~k/2k/2k/7Tk/7T(.EQ.3& y- y-  y6h y6h;6] 6=t696xԕ6t~6hBn62>6#664fY4abY4abY3Y3M3"3 b4ab4V.4JC^5?5(5(#5?5]45(65&6[>6[ԕ55(5]4t5?z5y;C5ʆ y5 y5 y9- y9-s8y77T7T66,617 y7T y7T  y<~ y<~H;*:6:HL:HL:HL#:HL:dt:D9[9Z9o9o59J"8Βu8Βu8Βu8u878V8p#8K88Β?9|9o y9o y9o 1*$1*$*$֌*:*$:*} )d/)))SA)Y* Ga*LL*Lј* G)Sx)^1g)Pj7)Pj)PjP)Pjw)z(((((x(((,) )))ͿH)w1* G1* G19-19-8+q8RC^877V<b6h75]ž7tQ7Fw7tQ2g75]RX6hbP6rG6t?6'677T17Q6q66667G7aP6@6Y06 50?5}.5P$5?$5?$4$4 4էO#569B67x18181<~1<~)=cM<(< v5W< 4&<)<~S < <{< vp;ZL;?;/< L*)>a)1g>|?R?@`yu@u@u?u???c?0>=>1g>WH=v<LZ<~LZ<~:HL:HL:HL):HL :HL:HL:^h:HLz:1{9u9u9u9ou9ow 9o1999:0:001.:c1m:c1m:c0:c00r03&:/2:/2(5(5X'c3&XgL%gL%gL%gL%Ī%h'B'x@'x@*k*kړ*k3*kY*kY*kY* GY* G3* Gړ* G* G* G*k*k G*J\*"$* G$* G$)$)Ȝ))))2*2*2xN 3(l2(l2(l28(l28R2;A11m1mȣCʳ9EF"F"2828ɻ#28Ǭ*28ŝ228ŝ228ŝ2bŝ2bǬ*bɻ#bbbN3N3ɻ#N3Ǭ*N3ŝ2N3ŝ2N3ŝ2v ŝ2v Ǭ*v ɻ#v v v 88ɻ#8Ǭ*8ŝ28ŝ28ŝ2lsŝ2lsDؒ ٥ھWȣ9ݍ;;ʃQʃQɻ#ʃQǬ*ʃQŝ2ʃQŝ2ʃQŝ2pŝ2p"?0ð#i#i\\uנ笥^QN={ɘ, ̡:H˓an!C^["u5ƩZ'ŝ2Aŝ2Aŝ2ŝ2?0/MvMvbp#[[:yC$yT @+``p~ּ2*ծSԉ~J^QΩ2{$`aŝ2ŝ2,,ChǎS;e$ʀ HgIgI  ,,ʪRʪRړR zR:cR:cR:cA:cA zAړAʪAʪAʪWʪWړW zW:cW:cW:cF:cF zFړFʪFʪF:cvh:cvhs$Z'o ^QmbTkligLi=iߌj2#j<~TjM82djwjsjeDyjL?j\`k\&swkpHlsmoI2pF%rc$t ~C^uC^uC^lsC^lsjkƁhjM_ ihmegk ff-9 epepݱepپIf$u,gI #gҋh3Џiρi4δjiy j\k]%lr:clх:clх:c:c@]s2wPdn‹, gL|gL|gLm0gLm0Aΐ Ḻѿ:z~]:c} :c} :c :c 3r AYEX;pHI[n2%t3C^C^C^C^% 4% 2sdPOK↽ڠ"1ּOԎ vFV4p2!^Vs:c:c:c:cX٭ηdЏe .4k q,Ĝg֌ĜgĜgLZĜgyss@YD2łrţŷ]ߪ""{"v& Ĝg"f|B^QeQ7.C^C^C^C^Kf@W_Fwc↽=؁tg}|s-Oc":c|:c|   C^ C^ C^C^ŷŷŷ)ŷYŷYŷYY)6h6hԕ6haP6h,6h,6h,28,28aP28ԕ282828 F"F"F{G+PGwH YHf->H(uI'XiIhIhۍvIh݁"I'X߸$H(:nH|.F,F",F",=0,=0A Dً:DTDioDѯ)CB?scb@p>W>WRBeRBeVRBeRBepHRBepHRBepHN3pHN3N3VN3N3N3=;=;=;8=;pH=;pH=;pH pH 8    ԕaP,,,ʃQ,ʃQaPʃQԕʃQʃQʃQ ;;u%i߉wr`F>Au!pibbۍvb݁"!p߸$A:n-,;,;,ՔI,ՔIy"ً:Tioܭѯ){49cbjQ'Q'Y$&Y$&] NXѯ) Ӈ W6!kLZ"N3":"{""۾"# '|#`G݇K##iސ#v.#i߸$#i৬#i5#i↽#i#i4# ! !!!N!ˇ;L!W!2b@ ֯ xB^Q @HUS#7ŷŷ  $,6pKĶ[k(b?rb,~~7HUUO/O-O\OJ>,ŷ wxYWYWpHbpHb@b9b2b2b2N32N39N3@N3pHN3pHN3 MvMvۨ[25Ӽ1e_,#ZaYbGZZ%mZJZpHZpHZpHpHJ%my0*#Vk8o 듺WW2RBe2RBe)RBeRBeC^RBeC^RBeC^N3C^N3N3)N32N32N3,E,E矗E0zDC"xB{c @l|YAJYAJY28Y28J28;28,28,28,ݱ,ݱ矗*zxu| fYDYDYʃQYʃQJʃQ;ʃQ,ʃQ,ʃQY6hY6h6hv6hpH6hpH6hpH28pH28v2828Y28Y28YAJYAJ2B{ZD 2EYDVFFYGLxHFu}I>pHIhpHIhpHD=pHD=<DP%C+E:cB>BAE),@X?=kY< vY< vYYvpHpHpHʃQpHʃQvʃQʃQYʃQYʃQYDYD2uY$2S]Vs߉Lx@u}8pHbpHbpH8pH8<J2%%_:cھW?A,؇XeYYu|u|]^2`tgC^6C^6C^}hC^}hn~&~Ldu˞u˞gIgIgIvgIC^gIC^gIC^ܖC^ܖvܖܖܖܖC^C^|rUXlgII"oC^C^C^bC^bRWbaPbpHbpHbpHN3pHN3aPN3RWN3C^N3C^N3C^wC^wsGw.wwwlхlх.lхsGlхC^lхC^lхC^C^sG.{>{>.{>sG{>C^{>C^{>C^C^sG.::.:sG:C^:C^:C^|C^|sG|.|||.sGC^C^EoH1gx\pH~pH~pHtpHtSrinmbmb"BpHhpHhpHNpHND+x@`pHpHpHpH@`xpH} pH} 0} } } } vhvhvh0vhpHvhpHvhpH?pH?0????zwzwzw0zwpHzwpHzw8BIM Path  ` @p RIVt fusiondirectory-1.0.19/contrib/images/Fusiondirectory-logo.png000066400000000000000000000552241304016502700246010ustar00rootroot00000000000000PNG  IHDR__ρsBIT|d pHYs|4ktEXtSoftwarewww.inkscape.org< IDATxwdiU==fz'ٝMU A$b(bEPDKa6ĝ{gz3uVuOԧnݺ9<瘻d2٥d2HL&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27d@L&iY|3Ldd27To1U&Sfخts9Lfi6lI~Q;f+83i ̬XXx[8z0wY{%g2MKLC)Xnf=.[e@{<I݇fz̙L=i4Cf",v3[4xv@ !^V?Y|3 :}7Bbf+X rIxl G;M(v.v@Sl#a~3[IEKL^/T.$)$r)(߷ Yiw?df*t}&PJsdɽ!jTu bO ]$n[ZcS(>уO㋜}6^_3zz]2>3kG\C ! `p/}wwP! #bTLiX"ǷVHwv(V3['8N3 B1XgB3;. ;l!SS1]*Db`5|.P/9DFC׻YC=|;b;} VN/," -F?fNFːow%ʆhE|YgQq3~3[DvYKGB|?yNfZ>MleV߫7 sfOUA,ѴXj58Z~ p-v ض؅.CߛKAX[L 1ifT1i%hhic[-FVfw?JƂO:aCG ?_|ˁ]k#HL`//m> قbvsY}(vEX؇p&3m.Dݽ+Q-m%kNד5RC[#c^*bY{se0~#kxL[Ei)X"ߩa [cv9A0g !.l꧒D…\q, XcE,n<IioLݘ;H `q aEz߳%ƶȅa'?kzm+lyGqhM) uN}3A>lԍy+]b5Z/pca٨ju0ІxT)EMm|@y=c<Dqp.SaPz3fފDԻ+*[/om}JDfDTǺ`U ][Ml]?`fP]_{e"@{ ǝTE17TLf0o7nfF J ۍDg_;b3ۄ8g~-l&+8. ڸgf p+7>RG Lbd$^|A6W#%62 ]繩Ũ0*GXQ*q+p(-;6lf b\!}1Tի p/# Θ(%k02>׷-W[51jIs83 E;B{7[Z! %Y]lu=̬0aG+V"۰1B体HH2ü/)]'f,l_8 ڮt^*HDN\ؽ_DwT Bk^`P\Z7!ḊQu{(Sffݽdu3cދo"rWUj+Ջjc$f7i^UZt@_,Գ|/Ѕo{ NԆgRf .g9"si07 K;T<-JW wr4^W w n'U8"YCHRtXZT쥽PA*Jމ1vMvT׶5>c:5ٱU~״_L1f d.M _Z$.pV։A:TjM=Mqԥw Cp7R H!ڤ/x ^xZuۂu #%]k.v5{1VDcffy_R2DqUpyp#e)ʑ]h !!λ ~cAZ5teTڑ/A~!_:Jb2.ċY@m'  ~dzB=iA]Ρ)]ԕVͭ I$Lۀ;ch;CE QIg+ZiYRb4TsGSW\ܾ=^߿ 7ş.81ލ17[hznA5HF vM"i -ϷŢBYVKX 6#KRFb{ݸuH/^sCMO! Km[dKr礊bDO; j'`F&EE&#ZJf<8!`wyVJc['2 x@(#b1Ƚo9żpbjfJ[CF hx甁`>ZQBaԂHp YX]ϣ pSO@nYj]3ü_ww BMr8[CN# _lJS#U!wrE\:Be%Yv_'5(mkhA{#ID(p2\,k~qb#%̙Kx ..i<4tY;Rݢtm@.5qME^$zu0*@XJrf6 d ],cGbt ҶG#pl[| 8f!#~nnfYׁB|軐 wYǙ&eN,/BꨪafHe [X kYt(Ŧe]Hũ\X8 u!B<)y7Hn3jn݁?w-Akٕ~-̮D߇+w0@ߋ;R,Z?nwꝒ@wPY \FE[ x r=1!Ck \Tp/p>s_9bg췋J%V !+aqk(5jMԦLx 2QRYˀہ+p;m2,jEh_jnf]^xjA"6,©Nn6$h5ĮؗfvjS4<\sŶˑ{a_NjEKx6,Bfv=(i pkK@T.@?qD"Yv" P<]HG]ȭыkVΌ7SE=? #dA)+(*s߈.prlBƶjmc8n96 ff} pO=*[l x6if:Rw1 5f.ҸȷɃV!K-`q̵Ȋ?c6Tx*VVG6HyYW.b dnaha0SGl/]T!+xMH !?cfcJ3;MEzRTweX TzPw~+CxS1=Er:ƛA18=QZgfh82|c:u*|('R5"NSedy^VGB:@%ָMῃߗSp#r#ś,Sǀ-t-Kc-Zn;EOtc!=._1cu]yL]ZiB"v؛-H2M' .p_ +a툩2YR6科%6/GB)<(5@ḿ&,Շσa.[c+AGm{ہtͦr&^GNKjRL}F|p!q?nd52I# K"p1 ك8.*f]Ͱ j8O]JmqRiZm!AOCw[ß}s wp\tz]yϢ6D~UvU;gf/zlN G2Ed蒣i7B4: wS-摇 Ǯ(,,odA"x4m@Uϩ8ߖ±#w7NLEn~ x;pE7b:y^$.+c|F ; _x6NQTys\b4T3 wB*r G)ZX8 ;f qHx/CVx^/a6*T;y"Q_D ː58.4G /0{!,6?Vobf7:LslXfQ&DӾE=nCNs=|+P[#h ?l@j' A8Hw2 ޅE[BvO[TĹoSU~gîE|ڜ-Cfh*BUZ BmN-T*}Fۇ,T$ºKl^d -hhGVkr5$a?eC?ҀZE]NdqExD/^1N05[g2ˋc^e#v>* eߩ8aMvːhIkHWƹ#x=d9w ^H+NbޗV`GץAFSvnd.uC,m(.:@n8c(0RFwTO$6"Oxu{glꭵka4FKQ}1+M}vDLfvil*"m꠫-ʁBb|YC"y$Dvvm1R.F6!7Bj%ԆrpǐND.Y_>fRx1 o&8"BmK-e jWP@?F"0Cmq7Qk!j@,v C.3Y[T$"|۳w1Y8O&o!6Pq-J-Dݎ|_H N!i!DZd+%#;"=2\%-S PT oR7JPiX]2PـSԁL\bhR`f_"kv/ݳui}TV2CS720շ-[X0NG~䪗9Ⅲ3IL9|QQ.E~SDS4w6#AiiW/*sNFR1]&1ȞVL&3hZBtUx<*Gb٬Ey'QVTQo7*/C@>Uam*9[q^C ^*_<AL&D4WlwB4@yTwR):sFW];9)zd1/R D*r- $L`C{k׼]&̜YҢr*U`ܵDe!L*{pGLS4߽ >˖D~q_kn,9l.gYyxr_t!n3R.Ny01INY]GՁL9i 1w7^\jv7,QApKŜ́Dˋ D{w?gf{ӂ wm*~~x*pԹWPކ|M0^-DJ+{&i>0a"@y'P`͐`1ȐH&3{T[?@]Od=0W7 <[cTIMs2edU|mЈd\^lfQ6մ݂ , :-1 IDATH|PmQf$^eX)ڑ0/#JYƖ@]+l u#Yx#D 1*D܇-4bjf)+nC#Z*wW"w0jILOdU~?sGcMc; <2^EflFtA_*l]Ԛd2MLSZFh:wW 5*~ڐE N?."b8-XlmAu0 kpw@{(^[zn_=Mf2i7B"3,T2({">EV s+XjFfḿ xo,[vSfmu9԰J3S]dft;( l'p>Pkű#Kz*6lK y*QDXlfFxA.WGѝ%s9fـA`yfLiTZyz4\O%ԍ`n@aJhC|ڑȞ ![2a*do=$0k]DGjم^atjE!`]3mҜSLfӴ `ZJ/G幞\ ۀDwgQO+l|P^xlkf_JE=w^\,հ@›pEWe2~TYSV$#"N(!j;Yx+/J&_jlCT)DEh!Gpd.*EbFpT;_*L<G[<5M)g)ZEy]ܶyw?;=ݔ8;^u:DSdu w1{:fS_>]4Q&q1+ܛyǢi7j !ވ< lEdj(3,zűMu|y1<޻LuSX 7@-7)m{-c~}&gDŽ1139wӨkvb7iZC碕g5 R:/}ktQmVk٠iŷƕQ{y43('xu+j3KK 6]EXB|e=_8l(o [҇VD@yQHfFH.fhCe>ôMbI&Rd }?=nZV|pڄvX.4OVT |Y_G+vy( 1_\[L Y}1#HVh7ؙ1^ždx)P3iEZfS2'7wg"(MsOvYOGV LB{Cq(Lz74<4 /&{aqHf:S[B=*l,}.o^\cW sϹ+zl:(xz%˜_wru:=K&g!t6ZzO@Kcg@n'k(˙Q?fzeaT{Ux.? w=yN lssB|vSvH F"D<֍[QZyT;]0.:at:cbbvfFftuʾ(^?f/j\U3(ƢGn*0._b.MVx*~WzhSVCT/~xG97Ss9ˁDDY Efv- %YvQ7γx-їs#Zjx|va3$LM~yQHg~C'{Wzh ʝ䘓SV$)4eid% +<0Z*9ˁeMJo@OX;p+tt%T"G ,/ &ssxmQݤ5ZQy)n 34WLL|&ELW"VBbȅЊ~݇LmNs;.4_ m0uXꓖj~eRLAU"\T1T<k,w0*?OZK= !fx*m NWS=c'x{ƠlSs9)AS̬#j" ":^Aűk +~G?qG?|6ԉǓe!9lKL5Wkz0b?Y=wŞ~J+hE{>y}g:13{_i#w2U~m)]Ba QR7YP3o*%v< Lp+xoGV[>w6JAWWy_袑-(/d?&%;T0!q~ J񚍕O+D|54uA >^ ]^>hz7gs(vdq.G{- = ըaZ {G=x=ZM9JBVNpm^A~.+㸇QT~YQP*3깴䴈kw[?$q1^],VoT(w2d.638w :UF)hؾTY2Qmh*sT(;V)vvJ1w[@UHlx] K㽛V92u[Qq[bLScXFQ^ X;TyT.Bs=ܴkf l-xO4ס`ZG0D| e+4hzn(W >V}JZj3[bӯ2+4 ݋GE/Gen::yw_F߳2+ٟΆc2/﬇8Ffs} W=~#iZuЊHp;F>$HqRH}N WP.鱨 g=u_Sc[#YW7?CuG.gcV)I! ib5$w#ѳhq0$\ttO Z{r]܆,dEGwhO+/sƘB9[ƙk#xUzӗTў Ѵ(P\R3G~KZ[.h[F~̞1uQ{ir2'7,d0n`k( [;q: 9=k^}8׺슫F3̬=DM=F,E6\cUn~I_Y^SuUfpOhf+Ty+MZݩΝIψOݿffj_yytnZvHiE}BK4SJ"PDŹl Sv6D=񜖈ǸYQ9$/y;*{y=P j*5)GQ'Q)9..Ñoz&$pwQ]a6ͺ^NĴq)J<翏9_ʲD r7\j$Ԭ rԍ-6"7HRҘr=RAm2_w?ru,DjTT}ti6uS ㆬ-=$S~n?^㖛x>)fNQhfzǗPoߍ?)1'fv IAmY(u E?kx-<,Ν63[E"cam" j`ԉ`Y[b,#݇RQIoH oP<@3Sݏ]lNSY0~f9TdpfTCT~(F7sB|CL9mFÙ¶~&0~E@HV!Cqq>70U{H!v=hYSQ)T{ܕ܂|oӽ=ij'dҁ#ƽێRYWEu+[3a4&wrSȵT0XT셥͟ ~CjfqÜr;$ڌ5-9>0;㱛tX0mfvY_=s5Y<ļ 7Po!Kp'&$v ʺ5P*1?X2df,uhFfbz^1Z$&Exףw#y3rə(̻lj =g*mf15H5x/C4O-E.oǶUT5|y9p{W!k:eP #)d} Z: !˷ݿj/=D㸫\Qm@MioM-Ze=yh~U+uӲgEu:z-~ l_WNjƤ0v9V HeELfΈo,XiZj/g1>:2R 纊 fe Ol,@ ,O a=R%H8W۞1!wi3[ojzBBsFntYlԸ&\( !F.c"=B}|P-N0 y=Zd0"߱Z"kq)< ^jJZ|̺ͬ 0+[Q=+o3H߃nD|}r׃Ծv/t,V؄\ɿ-A>\ Œ.8r9:!/Y@1A$PnggutQ (nRl5犯OP-[PT%1di }u:.h],Ǩ^eaw/xf63Iӊo,Nr~w? \a,qwbb~(6cf$T s1A<-!dAGeӏxUx͂HK[D e7[D"w?! 95<,Sǽ"GFeϺ=:\I;旘ٴS"Kwwj^\5ݜ\3{,榉ME"2?۟3?*|_g̛"3T7A5#hZ-֚I=|H-E]p,D;Z)$nǀ!Qv{w췺0{Qn}Y'H^(,Y a>584u݇Dz%rs˜~]Q6!Q>䧜X |p/5iy^nhy:缺ǁWx5RwT NOYi#'j"i*kˡ(-!}HȎi cA,G]=vQ4_:_< _=a!8V KwTo Wٛ&37f~)jhMdyp+Sgf_E@Fφ%4Ǩ}aWw07]BWߑؾ*D aFuN{P}_ Wf$)$܉k`>" t:m|>)x-׃DLM+DTTxXB0EOsT6w>1cYӿ.t?XcW]"#Rނ63{x7g LXN%/~j!ϲ ]7ffgQ@CS ;RoZ6n,P +P[b1YY] B~ClAi^"X,GϏ| b$Ď`"rY8,K (1K{1̬>hVpϡ ofE0zk/nwi3Jm>gf;(e;j kW{unCWnG"Rh&wJ'4Zۋ,<'PBQ-T9'n$E$#k Ke4%4ԑط^nn$_GY*K[bfބ`qJ/,cX $7nj]f`@.{ICB.ۘXo&yio@=je=\3Bs~LbιTT˰ԣuBNwȂM d.D?mGhHp |<ۤ.G\e#@N?T8U)k[oUl{v+~3Z0̀;)Q}('Ͷ&4+: &IDAT*Vh.o"fMhsN[iCqZiB)vk YVMP*R]VdER@C](XҖ0.Fe$LKYYCHؓxsvqvZe);8Jm\'t3{Jȹ薚kf|kyxWqۀg%).3P.ǁD\בFإj3ku2/n['bPj#j.u೥JpF/8P},>42`8ŷf1kv /DA(Ȱ ixao\?H O?JT $Mh /G^dv6ZLvf2ԙ>"a w=/DM%S˟s|eq2["i#vSYɖԟGj[ېFBYjڌPI[D](?yU,4ZnT2Vp*.)Xv਻́!T21b V4ߏ,cHtP6Sx,Hc1$' >[n[}$' 4)j}`*sI$HO TJAn] ېռY=p!$_fGاwlu~d WljspPAYTv>$Ѓ,WSwǁ{R~dp;_gm΄z?*s5ΚmLLfsɊo-jD ;t.?F6YI@UсYv` UË}m+w Ly%E"Ml<}?[aܒblp!׸3q>K:enejYZ3Z5ԟy+/-毞+=>`jS?*ⓖRZͳܡ[^u6Du"1#ﳅ1Z]Z<`ފoq,YG RBJ{Z _.uQEP'6~d.C;A a!=cku6ߋRұSL&s ДmKq9viB.X[˖mFVr&&~R|AԙF[( J!4ItL\֨_r^[ 3;lSaf]of\L&si}Ww.Zط%qfm&iv(/z vW}0f2m ]~2DuTD-/d8Y|CZц>\ /dR9 +ԗl6,<'e2LȖo&4,L&f2L$ AE{Q5+Ph%aTdNEthڀ= xvPqmQ|&o6p,a0_3S 7aL398QE'OvADjE1ދwDwbO~xzcՄ> ѼnߢD9|Tzq;&qIafP|L{SހF]"z; +:5εl?0p'gæ8?{8|/De*c8|>>9f(?| O7kcrsxd߻0^/rϐƹsl| -Dmf.3i&I jfv]3UZWWf:{ژZ3T6 "Olf*oK0DZry-@xSiYWy0ng*m[, /F Rf 67 a\pcۧZ|g2;37^y;/;mt}=Sq_0v?-l4q׀sw7Á@o-z38݃CfֆokocǼ>]beZz}H3{3?\ؼ-1GT_xh{BppN`O^7qM xZ>w6s4QԾk9Iw|Oa)ϧ_D61nUk)wW8os?r ^ymKw=>{_07%u'y>] _$<~x x~1|!GNZ#7Rg4q&yIo zXxNgbc746j8o޴ŷt~ ζ1q/\y?W8Ixi/L4C)[+g~ Jë%/q,c\Wc,ocZLxqc69=~`xDtE x*=w<l_E"+k컏ߟSh [y%~j/AEZ? ei#l Y%Ǿlk0M˖`q)љo f6VVGM"Je_Ew gQ̞CO506 /Ty0Y%ͤ[Ƶ(βaZ\ffUiޯ(mnj+gr&g[Se^/Be[r ծpYS;L^8 ]lTOgoVsߌEgf?9ً,m|"ϟmYdfP>Q|3Wfڸ{/$Y߈g^_Dᖧ6 ލ+{uxdooXmيk ^EuTY$tUCFQM};j*Y0}U륳8#(ųȘqoDȼ_w$<̚y*7*ѥqscpI- "nWiQ2sEižo+s̙ [y/GKW0FU,mub Nl$1-]Uj$.nfcՙ7mos&V$%OQLfp$)_NTylmt)/#g1o57D9d+ŗ ქ*Sk%f}Ք߯zl,ItVc5t չc1V Ω [fk6PD5,Eo7GS^uN IFf*_0ꎙ2EkA_CAlEV(ESoz߇*)xը a=x-,e78hѥfv V_46p [vptYҷ̋wPhhbQy)thCF1>ϣ|}Lvr|{/cيdPNm(JDׁF_p1"|`r(w Dt,Tc[9d+ ܬ+z^WMg.(4Uʅ[:y)ti (ҩ6)j<<4ˈ4j3A"Y|+̖7Z5%@?ůp=)Qxmqݍ=(L݉^9@nͥm;l-_x-ԙ\Uw֍~l?Xf=jE/Eʯxc#R?t2w}BuWm~9˼hY߀z[>$fZ/F3l`f/.#Egfj` 8QE)(T,&2("J S(cY-hFXmRo$Zu"ZV#$w/׺3iff=̙7\u/~ YDE\7؞Vў5mÆ9TگFijMR~4iE"//3ΆDu{>UmO:kdU"iI<'mٰ b5|i[$;k3b7پ1):W}>YҏtkI{#\]gk`2p04|pj)v]}3!wa=nO㱻.tǢޡg5e>mzuaClߢjK4OM,5[ "=eᓮ$=dÓ|nۯ]tW\fw)?;]%}0"&2qu?+YݶM6P{$ݬ>KҴ۴8lkfeZ"x{m$FpؾB^elMEDN>#I}k[qipLyײuO-IR~`UnS~`ϔxA9ؾҲł~*3m߫}Ym2/[%rׅ~kq|_s۔3 -3?YF?\k{ں _ۧؾo'?Uh_oD3ʋæ[>arG<䥪-A{m_<ʎmojc()_sSEזw?HҎ6k1m)kR SKG9g/'m,黝OVv?\0k/~Y;K3I"ڐ3+MZ/մVԈ#>k{r t|I?}Pnk?miq+,Tߒ>Rq #"v~un>]%t3"b&7IW~{{; ]hCE@{FxM~}>0$3r$r)pHznwX٭i}}nz(+N]a9'I笢qJksm>wvUۺvXo$]&Ňq~J7~kAFWԼK&yvucj~T9qK{fFdQ7(/.Ҝ,\I[aԱzP9eb;[-hvt #-k劈'58NsNffE#bNYjV^h.BGķu°5+r"qꊈ]vn>U(K{DYl<Ӷ퐲1vGk~z_ImvYʋ*YqRӤ.& ʾޗ+/]Զ3%m+W'oc ޯ؞W^Hه}>樤'}Ļ!yB1I%/F8Rn(L} *C~C_g]h_Dje=:?"X)  >_I/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ P/ | _(@@ ʹ9IENDB`fusiondirectory-1.0.19/contrib/images/favicon.png000066400000000000000000000051061304016502700220720ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATXVM]U]{s>ەrRnWc)5BF L#1_$H&!YJDW]vk}{߽眽mlis'G{988p̜eY8hm܎+V$i0냃76+?r^/S\Us&9R?cG XBn[lmm1ٝL&@<99I˲LfY|8 0O4en۶iJJlmGYRڶmAVUTd19$I3fVfs 6: >1ѫJن,3K%,l\Ij5L^vW u:H1Pr~)uV fk s%Z96.Zƴd^{ʼn{rrв,-^Hӂb?""oNOO3Y6Il ΐ6E~T4Ƙ՛^Wy,K)wOi;][TR32ɘIZꔽ^TvlY$z,g~D?c'bիb4ߺI!"׏YLd!B41֕744HIFДe);~ۍ2/Daff#0piCpC̎ @Bd rNlwXQ]b$nzxIt .g h4_<7?+&MĈOI;Y>U_ϫmQr珯ëtb۶~^p~W_ZMw3YL8K0Vvlm$J06h6nt3akkۖkvfrë3H#dm cBo5Yc6CkIV>ȓ̬E Ɨ8$\UcL&1f"&C4S lv߃/@3[ppXe$҄<_7`X`muڍHŁ͒$r kDeweMG 1@娀w}? :krƍ0_bIw]Q'& 5f!VuK-V1wW ,}okgeYzkmCQ56Md*"6mg*b7~ӝǏ[Pzyyl6$`_Ղ`E(۵]-[_ {?}pp9'wܩ|'FZnuCjʺv5(.Xnn6QR ULS|)n+pzDD 'p:l6O&/MG/KcMm%<!(%N5Fh4?s__``16 ցE.ܫCGOn|K#p_$á1~弻٥kܩvHj6=='"IӤƘfW6JQ D"YK])@,~.ө+{ᅖaB8v,\UP[F#?cKNǧ)Yj}{ygMU>߿_ɲcq %}jꡈ M9ThToae+^]^^֣Ѩp:>]yx)+s%cen2jR3 "#d1ic-L{]|ct&h(30VgY7Sp8$]8%AYt:~ptt,afutpxzom'qR1Wh42۷oo>sy9?? hFFZ:r.[V.Ϳ`orաQ=2߮@IDj 30iU 0},EmJ16Str]O>^p "OC*U7K ul>5"SMW^GIՍޫ64Zr&})y!is%ZՊVf#fSF |)k+hq5{{{k7}-Rϕ% ͬ@<.(Ø#qsn7ba¾j[#̵X!4ݺVb)w˭Rcp=QjT &fDfK!E(GvcOF<p7z3qP8["5]y+mm6ID1T$-Djrn!sB+I^ IENDB`fusiondirectory-1.0.19/contrib/images/favicon.svg000066400000000000000000004740051304016502700221150ustar00rootroot00000000000000 image/svg+xmlfusiondirectory-1.0.19/contrib/lighttpd/000077500000000000000000000000001304016502700203075ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/lighttpd/fusiondirectory-lighttpd.conf000066400000000000000000000012721304016502700262250ustar00rootroot00000000000000# lighttpd configuration for GOsa # Set alias to http:///gosa/ alias.url += ( "/gosa/" => "/usr/share/gosa/html/" ) # Enable FastCGI and set it to handle .php URLs # php-cgi is run with the GOsa-required options server.modules += ( "mod_fastcgi" ) $HTTP["url"] =~ "^/gosa/" { fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php-cgi -d expose_php=Off -d magic_quotes_gpc=Off", "socket" => "/tmp/php.socket", "max-procs" => 2, "idle-timeout" => 20, "bin-environment" => ( "PHP_FCGI_CHILDREN" => "4", "PHP_FCGI_MAX_REQUESTS" => "10000" ), "bin-copy-environment" => ( "PATH", "SHELL", "USER" ), "broken-scriptfilename" => "enable" )) ) } fusiondirectory-1.0.19/contrib/man/000077500000000000000000000000001304016502700172435ustar00rootroot00000000000000fusiondirectory-1.0.19/contrib/man/fusiondirectory-insert-schema.1000066400000000000000000000163671304016502700253320ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FUSIONDIRECTORY-INSERT-SCHEMA 1" .TH FUSIONDIRECTORY-INSERT-SCHEMA 1 "2017-01-19" "FusionDirectory 1.0.19" "FusionDirectory Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" fusiondirectory\-insert\-schema \- insert schema needed by FusionDirectory into the ldap server .SH "SYNOPSIS" .IX Header "SYNOPSIS" fusiondirectory-insert-schema [] [\-l] [\-i|\-m schema1 schema2] .SH "DESCRIPTION" .IX Header "DESCRIPTION" This program will insert the schema needed by FusionDirectory into the ldap server .SS "Options" .IX Subsection "Options" .IP "\-i" 6 .IX Item "-i" This option insert the given list of schemas instead of the default list .IP "\-m" 6 .IX Item "-m" This option insert the given list of schemas, replacing already inserted versions of those schemas .IP "\-e" 6 .IX Item "-e" This option empty the given list of schemas, removing attributes and objectClasses from those. This is useful because you cannot delete a schema without restarting slapd. .IP "\-l" 6 .IX Item "-l" This option list inserted schemas .IP "\-n" 6 .IX Item "-n" This option will make generated ldifs file to not be deleted after execution. Might be useful to understand errors. .IP "\-c" 6 .IX Item "-c" This option make the program continue even if an error occur .IP "\-y" 6 .IX Item "-y" This option answer yes to all questions. The only question right now is the confirmation one when you ask to empty a schema. .IP "\-o" 6 .IX Item "-o" This option allow you to specify specifics options to give to ldap commands such as ldapmodify, but beware that you will not be able to see things like password prompts as the output of these commands is piped. .SH "EXAMPLES" .IX Header "EXAMPLES" .Vb 2 \& fusion@catbert$ fusiondirectory\-insert\-schema \& Insert the core schemas in your LDAP directory \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-i /etc/ldap/otherschema/myschema.ldif \& Insert the schema /etc/ldap/otherschema/myschema.ldif \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-i /etc/ldap/otherschema/myschema.schema \& Convert /etc/ldap/otherschema/myschema.schema to ldif and insert it \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-i myschema \& Insert the schema myschema.ldif from working directory \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-m /etc/ldap/otherschema/myschema.schema \& Convert /etc/ldap/otherschema/myschema.schema to ldif and replace the existing schema by this one \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-e myschema \& Empty the schema myschema \& \& fusion@catbert$ fusiondirectory\-insert\-schema \-o "\-H ldap://my.ldap.com \-ZZ \-D \*(Aqcn=admin,cn=config\*(Aq \-w password \-x" \& Connect to another ldap server to insert the schema .Ve .SH "BUGS" .IX Header "BUGS" Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to .SH "AUTHOR" .IX Header "AUTHOR" Come Bernigaud .SH "LICENCE AND COPYRIGHT" .IX Header "LICENCE AND COPYRIGHT" This code is part of FusionDirectory .IP "Copyright (C) 2011\-2016 FusionDirectory Project" 1 .IX Item "Copyright (C) 2011-2016 FusionDirectory Project" .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE. \s0 See the \&\s-1GNU\s0 General Public License for more details. fusiondirectory-1.0.19/contrib/man/fusiondirectory-setup.1000066400000000000000000000245101304016502700237150ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FUSIONDIRECTORY-SETUP 1" .TH FUSIONDIRECTORY-SETUP 1 "2017-01-19" "FusionDirectory 1.0.19" "FusionDirectory Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" fusiondirectory\-setup \- FusionDirectory configuration management tool .SH "DESCRIPTION" .IX Header "DESCRIPTION" This script is designed to perform multiple checks on your FusionDirectory/LDAP architecture, and fix usual misconfiguration. Some extra features allow you to install FusionDirectory's plugins, and change destinations directories. .SS "Options" .IX Subsection "Options" .IP "\-\-update\-cache" 4 .IX Item "--update-cache" This option update the /var/cache/fusiondirectory/class.cache file. Wich contain \s-1PHP\s0 classes used in FusionDirectory, and their location. .IP "\-\-update\-locales" 4 .IX Item "--update-locales" This option update internalization, by generating a new .mo locales file for each language, with every .po files it found. Needs \fImsgcat\fR and \fImsgfmt\fR to be installed. .IP "\-\-check\-directories" 4 .IX Item "--check-directories" This option perform a check on all FusionDirectory's files or directories. .IP "\-\-check\-config" 4 .IX Item "--check-config" This option perform a check on FusionDirectory's config file. .IP "\-\-check\-ldap" 4 .IX Item "--check-ldap" This option check your \s-1LDAP\s0 tree. Looking for admin account, and groups or people branch. If one of those don't exists, the script will ask you what to do. .IP "\-\-check\-ids" 4 .IX Item "--check-ids" This option check your \s-1LDAP\s0 tree for duplicated uidNumber or gidNumber among users and groups. .IP "\-\-migrate\-users" 4 .IX Item "--migrate-users" This option add FusionDirectory attributes to the people branch. .IP "\-\-migrate\-printers" 4 .IX Item "--migrate-printers" This option replace gosaPrinter objectClass by new fdPrinter objectClass. .IP "\-\-migrate\-dns" 4 .IX Item "--migrate-dns" This option moves \s-1DNS\s0 zones from systems branch to \s-1DNS\s0 branch, which is necessary for FusionDirectory 1.0.10 and above. .IP "\-\-migrate\-dhcp" 4 .IX Item "--migrate-dhcp" This option moves \s-1DHCP\s0 configurations from systems branch to \s-1DHCP\s0 branch, which is necessary for FusionDirectory 1.0.17 and above. .IP "\-\-migrate\-acls" 4 .IX Item "--migrate-acls" This option will migrated old GOsa style acl from 1.0.7 into FusionDirectory acl roles in 1.0.8 .IP "\-\-delete\-gosa\-locks" 4 .IX Item "--delete-gosa-locks" This option will delete old GOsa style lock tokens from 1.0.15 or older .IP "\-\-install\-plugins" 4 .IX Item "--install-plugins" This option will install the plugin from a tar.gz of the plugin. This option is intended for people wanting to install from the sources. .IP "\-\-encrypt\-passwords" 4 .IX Item "--encrypt-passwords" This option will encrypt the password inside your fusiondirectory.conf file, it need the headers module to be activated in your apache to work. .IP "\-\-show\-version" 4 .IX Item "--show-version" This option will parse the file variables_common.inc of FusionDirectory to find out which version of FusionDirectory is installed. .IP "\-\-list_vars" 4 .IX Item "--list_vars" This option will list the variables you can change to install FusionDirectory on another set of directories. This option is intended for people wanting to install from the sources. .IP "\-\-write\-vars" 4 .IX Item "--write-vars" This option will write back the variables.inc file with the updated variables and is only useful with \-\-set\-VAR=variable and for people installing from sources. .IP "\-\-set\-VAR=variable" 4 .IX Item "--set-VAR=variable" This option will change the variable for the FusionDirectory installation. it is only useful with \-\-install\-directories and for people installing from sources. .IP "\-\-list\-deprecated" 4 .IX Item "--list-deprecated" This option will list the deprecated attributes and objectclasses still in your schemas and no longer used by FusionDirectory. .IP "\-\-check\-deprecated" 4 .IX Item "--check-deprecated" This option will list the dn of \s-1LDAP\s0 entries using deprecated attributes or objectclasses and no longer used by FusionDirectory. .IP "\-\-ldif\-deprecated" 4 .IX Item "--ldif-deprecated" This option will print an \s-1LDIF\s0 to allow you to remove deprecated attributes from you ldap server. Be carefull and check before applying. .IP "\-\-show\-config" 4 .IX Item "--show-config" This option will print a dump of the FusionDirectory configuration \s-1LDAP\s0 node. .IP "\-\-set\-config\-VAR=value" 4 .IX Item "--set-config-VAR=value" This option sets the value of a configuration field in the \s-1LDAP.\s0 The value needs to be in the correct \s-1LDAP\s0 format. You cannot set multivalued field with this. The var name can be provided with or without the fd prefix. .IP "\-\-yes" 4 .IX Item "--yes" This flag will answer \*(L"yes\*(R" to every yes/no question asked by the script .SH "EXAMPLE" .IX Header "EXAMPLE" .Vb 1 \& benoit@catbert$ fusiondirectory\-setup \-\-update\-cache \-\-update\-locales \& \& Update FusionDirectory class cache and update localization \& \& benoit@catbert$ fusiondirectory\-setup \-\-list\-vars \& List possible vars to give \-\-set \&locale_cache_dir [locale] \&config_file [fusiondirectory.conf] \&fd_cache [/var/cache/fusiondirectory] \&fd_smarty_dir [/usr/share/php/smarty3] \&fd_spool_dir [/var/spool/fusiondirectory] \&fai_log_dir [fai] \&tmp_dir [tmp] \&secrets_file [fusiondirectory.secrets] \&template_dir [template] \&locale_dir [locale] \&class_cache [class.cache] \&fd_config_dir [/etc/fusiondirectory] \&fd_home [/var/www/fusiondirectory] \& \& \& benoit@catbert$ fusiondirectory\-setup \-\-set\-class_cache=class.cache \-\-write\-vars \& \& update the class.cache name and write back the variables.inc file .Ve .SH "BUGS" .IX Header "BUGS" Please report any bugs, or post any suggestions, to the fusiondirectory mailing list fusiondirectory-users or to .SH "AUTHORS" .IX Header "AUTHORS" Benjamin Carpentier .PP Come Bernigaud .SH "LICENCE AND COPYRIGHT" .IX Header "LICENCE AND COPYRIGHT" This code is part of FusionDirectory (http://www.fusiondirectory.org/) .IP "Copyright (C) 2011\-2016 FusionDirectory" 2 .IX Item "Copyright (C) 2011-2016 FusionDirectory" .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE. \s0 See the \&\s-1GNU\s0 General Public License for more details. fusiondirectory-1.0.19/contrib/man/fusiondirectory.conf.5000066400000000000000000000237531304016502700235170ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "FUSIONDIRECTORY.CONF 1" .TH FUSIONDIRECTORY.CONF 1 "2016-11-02" "FusionDirectory 1.0.19" "FusionDirectory Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" fusiondirectory.conf \- FusionDirectory configuration file .SH "DESCRIPTION" .IX Header "DESCRIPTION" The fusiondirectory.conf file is a \s-1XML\s0 style configuration file. It is parsed by FusionDirectory during log in. The file may contain extra tabs and newlines for formatting purposes. Tag keywords in the file are case-insensitive. Comments should be placed outside of \s-1XML\s0 tags and should be encapsulated inside of tags. .PP The fusiondirectory.conf file can be used to configure the access control of the FusionDirectory webinterface. .SS "Configuration layout" .IX Subsection "Configuration layout" The configuration has to be specified inside of the tags. It is composed by a main configuration \- including information about several locations. .PP Layout example: .PP .PP .Vb 1 \& \& \& \&